summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-03-12 11:36:38 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-03-13 12:38:15 +0000
commitd05396d163b4d6a29eb44e30760a227d18702543 (patch)
treea67f01e64453b26273693cde547beee3c0fbeea8 /android/src
parent2bb45644a81c3a1e4b6b6c1de5c3df61f6e4ef08 (diff)
downloadmullvadvpn-d05396d163b4d6a29eb44e30760a227d18702543.tar.xz
mullvadvpn-d05396d163b4d6a29eb44e30760a227d18702543.zip
Implement "Login successful" screen
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt20
-rw-r--r--android/src/main/res/drawable/icon_success.xml17
-rw-r--r--android/src/main/res/layout/login.xml29
-rw-r--r--android/src/main/res/values/strings.xml1
4 files changed, 57 insertions, 10 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt
index 628f210982..917289761b 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt
@@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn
import android.content.Context
import android.os.Bundle
+import android.os.Handler
import android.support.v4.app.Fragment
import android.text.Editable
import android.text.TextWatcher
@@ -17,7 +18,8 @@ const val MIN_ACCOUNT_TOKEN_LENGTH = 10
class LoginFragment : Fragment() {
private lateinit var title: TextView
private lateinit var subtitle: TextView
- private lateinit var statusIcon: View
+ private lateinit var loggingInStatus: View
+ private lateinit var loggedInStatus: View
private lateinit var accountInput: EditText
private lateinit var loginButton: ImageButton
@@ -33,7 +35,8 @@ class LoginFragment : Fragment() {
title = view.findViewById(R.id.title)
subtitle = view.findViewById(R.id.subtitle)
- statusIcon = view.findViewById(R.id.status_icon)
+ loggingInStatus = view.findViewById(R.id.logging_in_status)
+ loggedInStatus = view.findViewById(R.id.logged_in_status)
accountInput = view.findViewById(R.id.account_input)
loginButton = view.findViewById(R.id.login_button)
@@ -64,9 +67,20 @@ class LoginFragment : Fragment() {
private fun login() {
title.setText(R.string.logging_in_title)
subtitle.setText(R.string.logging_in_description)
- statusIcon.setVisibility(View.VISIBLE)
+ loggingInStatus.setVisibility(View.VISIBLE)
loginButton.setVisibility(View.GONE)
disableAccountInput()
+
+ // TODO: Actually log in
+ Handler().postDelayed(Runnable { loggedIn() }, 1000)
+ }
+
+ private fun loggedIn() {
+ title.setText(R.string.logged_in_title)
+ subtitle.setText("")
+ loggingInStatus.setVisibility(View.GONE)
+ loggedInStatus.setVisibility(View.VISIBLE)
+ accountInput.setVisibility(View.GONE)
}
private fun disableAccountInput() {
diff --git a/android/src/main/res/drawable/icon_success.xml b/android/src/main/res/drawable/icon_success.xml
new file mode 100644
index 0000000000..a4ad910d5e
--- /dev/null
+++ b/android/src/main/res/drawable/icon_success.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="60dp"
+ android:height="60dp"
+ android:viewportWidth="60.0"
+ android:viewportHeight="60.0"
+ >
+ <group>
+ <path android:fillColor="#FFFFFF"
+ android:pathData="M8 30 a 22,22 0 1,0 44,0 a 22,22 0 1,0 -44,0 Z"
+ />
+ <path android:fillColor="#44AD4D"
+ android:pathData="M19.4142136,28.5857864 C18.633165,27.8047379 17.366835,27.8047379 16.5857864,28.5857864 C15.8047379,29.366835 15.8047379,30.633165 16.5857864,31.4142136 L24.5857864,39.4142136 C25.366835,40.1952621 26.633165,40.1952621 27.4142136,39.4142136 L43.4142136,23.4142136 C44.1952621,22.633165 44.1952621,21.366835 43.4142136,20.5857864 C42.633165,19.8047379 41.366835,19.8047379 40.5857864,20.5857864 L26,35.1715729 L19.4142136,28.5857864 Z"
+ />
+ </group>
+</vector>
diff --git a/android/src/main/res/layout/login.xml b/android/src/main/res/layout/login.xml
index 4a891e9026..2c911b679a 100644
--- a/android/src/main/res/layout/login.xml
+++ b/android/src/main/res/layout/login.xml
@@ -41,17 +41,32 @@
android:layout_height="0dp"
android:layout_weight="1"
/>
- <ProgressBar android:id="@+id/status_icon"
+
+ <FrameLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="30dp"
- android:indeterminate="true"
- android:indeterminateOnly="true"
- android:indeterminateDuration="600"
- android:indeterminateDrawable="@drawable/icon_spinner"
- android:visibility="invisible"
- />
+ >
+ <ProgressBar android:id="@+id/logging_in_status"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:indeterminate="true"
+ android:indeterminateOnly="true"
+ android:indeterminateDuration="600"
+ android:indeterminateDrawable="@drawable/icon_spinner"
+ android:visibility="gone"
+ />
+ <ImageView android:id="@+id/logged_in_status"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:src="@drawable/icon_success"
+ android:visibility="gone"
+ />
+ </FrameLayout>
+
<TextView android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml
index 220b9bd211..f81bdcbc7c 100644
--- a/android/src/main/res/values/strings.xml
+++ b/android/src/main/res/values/strings.xml
@@ -6,4 +6,5 @@
<string name="login_hint">0000 0000 0000 0000</string>
<string name="logging_in_title">Logging in</string>
<string name="logging_in_description">Checking account number</string>
+ <string name="logged_in_title">Login successful</string>
</resources>