diff options
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt | 4 | ||||
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/HeaderBar.kt | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt index c04f41ca1c..989202f9a0 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt @@ -212,6 +212,7 @@ class LoginFragment : BaseFragment(), NavigationBarPainter { private fun showLoading(overrideSpinnerWithErrorIcon: Boolean = false) { accountLogin.state = LoginState.InProgress + headerBar.setSettingsButtonEnabled(false) title.setText(R.string.logging_in_title) subtitle.setText(R.string.logging_in_description) @@ -244,6 +245,7 @@ class LoginFragment : BaseFragment(), NavigationBarPainter { loggedInStatus.visibility = View.VISIBLE accountLogin.state = LoginState.Success + headerBar.setSettingsButtonEnabled(false) scrollToShow(loggedInStatus) } @@ -257,6 +259,7 @@ class LoginFragment : BaseFragment(), NavigationBarPainter { loggedInStatus.visibility = View.GONE accountLogin.state = LoginState.InProgress + headerBar.setSettingsButtonEnabled(true) scrollToShow(loggingInStatus) } @@ -270,6 +273,7 @@ class LoginFragment : BaseFragment(), NavigationBarPainter { loggedInStatus.visibility = View.GONE accountLogin.state = LoginState.Failure + headerBar.setSettingsButtonEnabled(true) scrollToShow(accountLogin) } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/HeaderBar.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/HeaderBar.kt index 052739c826..e1688ace21 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/HeaderBar.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/HeaderBar.kt @@ -21,6 +21,7 @@ class HeaderBar @JvmOverloads constructor( defStyleRes: Int = 0 ) : LinearLayout(context, attributes, defStyleAttr, defStyleRes), StatusBarPainter { private val container = LayoutInflater.from(context).inflate(R.layout.header_bar, this) + private val settingsButton = findViewById<View>(R.id.settings) private val disabledColor = ContextCompat.getColor(context, android.R.color.transparent) private val securedColor = ContextCompat.getColor(context, R.color.green) @@ -43,10 +44,17 @@ class HeaderBar @JvmOverloads constructor( gravity = Gravity.CENTER_VERTICAL orientation = HORIZONTAL - findViewById<View>(R.id.settings).setOnClickListener { - (context as? MainActivity)?.openSettings() + settingsButton.apply { + isEnabled = true + setOnClickListener { + (context as? MainActivity)?.openSettings() + } } tunnelState = null } + + fun setSettingsButtonEnabled(isEnabled: Boolean) { + settingsButton.isEnabled = isEnabled + } } |
