summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-03-13 20:30:35 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-03-15 19:18:52 +0000
commit1237c74702d8a0a65bf85dce574718ca466e4737 (patch)
tree83793f373592caae383547220fef69ea667bb45c /android
parent71cd3876cfc4018c73c9813334d64bf87801e944 (diff)
downloadmullvadvpn-1237c74702d8a0a65bf85dce574718ca466e4737.tar.xz
mullvadvpn-1237c74702d8a0a65bf85dce574718ca466e4737.zip
Implement Connected screen
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt8
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt25
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionState.kt1
-rw-r--r--android/src/main/res/values/strings.xml2
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>