summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-08-28 19:18:26 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-09-02 13:15:27 +0000
commit6fe30afcf133b5d4223fc7828fc13e54cff02954 (patch)
tree18eadec326763ad21558be1efe0aeaccd76b9d82 /android
parentbeedf175fd2d8d65b3a603312b1ff7b31bbaaa55 (diff)
downloadmullvadvpn-6fe30afcf133b5d4223fc7828fc13e54cff02954.tar.xz
mullvadvpn-6fe30afcf133b5d4223fc7828fc13e54cff02954.zip
Add a `loginState` property to the widget
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt7
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt3
-rw-r--r--android/src/main/res/layout/login.xml3
3 files changed, 11 insertions, 2 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt
index 9ed4d06f71..48d4c61288 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt
@@ -14,6 +14,7 @@ import android.widget.TextView
import kotlin.properties.Delegates.observable
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.ui.AccountInputContainer.BorderState
+import net.mullvad.mullvadvpn.ui.widget.AccountInput
const val MIN_ACCOUNT_TOKEN_LENGTH = 10
@@ -36,7 +37,9 @@ class AccountInputController(val parentView: View, context: Context) {
updateBorder()
}
- var state by observable(LoginState.Initial) { _, _, newState ->
+ var state: LoginState by observable(LoginState.Initial) { _, _, newState ->
+ newInput.loginState = newState
+
when (newState) {
LoginState.Initial -> initialState()
LoginState.InProgress -> loggingInState()
@@ -50,6 +53,8 @@ class AccountInputController(val parentView: View, context: Context) {
val button: ImageButton = parentView.findViewById(R.id.login_button)
val accountHistoryList: ListView = parentView.findViewById(R.id.account_history_list)
+ val newInput = parentView.findViewById<AccountInput>(R.id.account_input)
+
var accountHistory: ArrayList<String>? = null
set(value) {
synchronized(this) {
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt
index 04e0e3a3c9..06011909bf 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt
@@ -5,6 +5,7 @@ import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.LinearLayout
import net.mullvad.mullvadvpn.R
+import net.mullvad.mullvadvpn.ui.LoginState
class AccountInput : LinearLayout {
private val container =
@@ -14,6 +15,8 @@ class AccountInput : LinearLayout {
inflater.inflate(R.layout.account_input, this)
}
+ var loginState = LoginState.Initial
+
constructor(context: Context) : super(context) {}
constructor(context: Context, attributes: AttributeSet) : super(context, attributes) {}
diff --git a/android/src/main/res/layout/login.xml b/android/src/main/res/layout/login.xml
index 005d2dbf9f..de5f6d0f2d 100644
--- a/android/src/main/res/layout/login.xml
+++ b/android/src/main/res/layout/login.xml
@@ -67,7 +67,8 @@
<net.mullvad.mullvadvpn.ui.AccountInputContainer android:id="@+id/account_input_container"
android:layout_width="match_parent"
android:layout_height="48dp">
- <net.mullvad.mullvadvpn.ui.widget.AccountInput android:layout_width="match_parent"
+ <net.mullvad.mullvadvpn.ui.widget.AccountInput android:id="@+id/account_input"
+ android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentTop="true"
android:orientation="horizontal" />