diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-03-13 20:30:35 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-03-15 19:18:52 +0000 |
| commit | 1237c74702d8a0a65bf85dce574718ca466e4737 (patch) | |
| tree | 83793f373592caae383547220fef69ea667bb45c /android | |
| parent | 71cd3876cfc4018c73c9813334d64bf87801e944 (diff) | |
| download | mullvadvpn-1237c74702d8a0a65bf85dce574718ca466e4737.tar.xz mullvadvpn-1237c74702d8a0a65bf85dce574718ca466e4737.zip | |
Implement Connected screen
Diffstat (limited to 'android')
4 files changed, 36 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt index 44358fa6fb..4a577cd337 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt @@ -11,6 +11,7 @@ class ConnectActionButton(val parentView: View) { when (value) { ConnectionState.Disconnected -> disconnected() ConnectionState.Connecting -> connecting() + ConnectionState.Connected -> connected() } field = value @@ -18,6 +19,7 @@ class ConnectActionButton(val parentView: View) { var onConnect: (() -> Unit)? = null var onCancel: (() -> Unit)? = null + var onDisconnect: (() -> Unit)? = null init { button.setOnClickListener { action() } @@ -27,6 +29,7 @@ class ConnectActionButton(val parentView: View) { when (state) { ConnectionState.Disconnected -> onConnect?.invoke() ConnectionState.Connecting -> onCancel?.invoke() + ConnectionState.Connected -> onDisconnect?.invoke() } } @@ -39,4 +42,9 @@ class ConnectActionButton(val parentView: View) { button.setBackgroundResource(R.drawable.transparent_red_button_background) button.setText(R.string.cancel) } + + private fun connected() { + button.setBackgroundResource(R.drawable.transparent_red_button_background) + button.setText(R.string.disconnect) + } } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt index 5737e057cc..609118a278 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt @@ -1,6 +1,7 @@ package net.mullvad.mullvadvpn import android.os.Bundle +import android.os.Handler import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View @@ -14,6 +15,14 @@ class ConnectFragment : Fragment() { private lateinit var notificationBanner: View private lateinit var status: TextView + private lateinit var connectHandler: Handler + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + connectHandler = Handler() + } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -43,6 +52,8 @@ class ConnectFragment : Fragment() { status.setTextColor(context!!.getColor(R.color.white)) status.setText(R.string.creating_secure_connection) + + connectHandler.postDelayed(Runnable { connected() }, 1000) } private fun cancel() { @@ -55,5 +66,19 @@ class ConnectFragment : Fragment() { status.setTextColor(context!!.getColor(R.color.red)) status.setText(R.string.unsecured_connection) + + connectHandler.removeCallbacksAndMessages(null) + } + + private fun connected() { + actionButton.state = ConnectionState.Connected + + connectingSpinner.visibility = View.INVISIBLE + notificationBanner.visibility = View.GONE + + headerBar.setBackgroundColor(context!!.getColor(R.color.green)) + + status.setTextColor(context!!.getColor(R.color.green)) + status.setText(R.string.secure_connection) } } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionState.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionState.kt index 6badff3362..4764ce05fe 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionState.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionState.kt @@ -3,4 +3,5 @@ package net.mullvad.mullvadvpn enum class ConnectionState { Disconnected, Connecting, + Connected, } diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml index 18da2803c8..b8d1cdb654 100644 --- a/android/src/main/res/values/strings.xml +++ b/android/src/main/res/values/strings.xml @@ -12,9 +12,11 @@ <string name="unsecured_connection">Unsecured connection</string> <string name="creating_secure_connection">Creating secure connection</string> + <string name="secure_connection">Secure connection</string> <string name="blocking_internet">Blocking internet</string> <string name="country">Country</string> <string name="connect">Secure my connection</string> <string name="cancel">Cancel</string> + <string name="disconnect">Disconnect</string> <string name="switch_location">Switch location</string> </resources> |
