summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-03-19 13:06:44 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-03-19 13:06:44 -0300
commitd2cb0081aa28588d873631b4b2315526814e2b5d (patch)
tree442af804a51e8d5cd19a1088a85c61ac63f31011
parent2b4ad2bb32eb4c645f545b753c2ca024cc2a7c75 (diff)
parent0c9be1e75725b13b678e6a92573562103421d633 (diff)
downloadmullvadvpn-d2cb0081aa28588d873631b4b2315526814e2b5d.tar.xz
mullvadvpn-d2cb0081aa28588d873631b4b2315526814e2b5d.zip
Merge branch 'aesthetic-updates'
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt5
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInputOutlineProvider.kt14
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt25
-rw-r--r--android/src/main/res/layout/connect.xml3
-rw-r--r--android/src/main/res/layout/login.xml2
-rw-r--r--android/src/main/res/values/dimensions.xml1
6 files changed, 45 insertions, 5 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt
index 246ed57e11..b46913790d 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt
@@ -37,6 +37,11 @@ class AccountInput(val parentView: View, val context: Context) {
input.addTextChangedListener(InputWatcher())
button.setOnClickListener { onLogin?.invoke(input.text.toString()) }
setButtonEnabled(false)
+
+ parentView.findViewById<View>(R.id.account_input_container)?.apply {
+ clipToOutline = true
+ outlineProvider = AccountInputOutlineProvider(context)
+ }
}
private fun initialState() {
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInputOutlineProvider.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInputOutlineProvider.kt
new file mode 100644
index 0000000000..b89564de75
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInputOutlineProvider.kt
@@ -0,0 +1,14 @@
+package net.mullvad.mullvadvpn
+
+import android.content.Context
+import android.graphics.Outline
+import android.view.View
+import android.view.ViewOutlineProvider
+
+class AccountInputOutlineProvider(private val context: Context) : ViewOutlineProvider() {
+ private val cornerRadius = context.resources.getDimension(R.dimen.account_input_corner_radius)
+
+ override fun getOutline(view: View, outline: Outline) {
+ outline.setRoundRect(0, 0, view.width, view.height, cornerRadius)
+ }
+}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
index 445df2d914..531e43f96f 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
@@ -4,15 +4,34 @@ import android.view.View
class NotificationBanner(val parentView: View) {
private val banner: View = parentView.findViewById(R.id.notification_banner)
+ private var visible = false
var state = ConnectionState.Disconnected
set(value) {
when (value) {
- ConnectionState.Disconnected -> banner.visibility = View.GONE
- ConnectionState.Connecting -> banner.visibility = View.VISIBLE
- ConnectionState.Connected -> banner.visibility = View.GONE
+ ConnectionState.Disconnected -> hide()
+ ConnectionState.Connecting -> show()
+ ConnectionState.Connected -> hide()
}
field = value
}
+
+ private fun show() {
+ if (!visible) {
+ visible = true
+ banner.visibility = View.VISIBLE
+ banner.translationY = -banner.height.toFloat()
+ banner.animate().translationY(0.0F).setDuration(350).start()
+ }
+ }
+
+ private fun hide() {
+ if (visible) {
+ visible = false
+ banner.animate().translationY(-banner.height.toFloat()).setDuration(350).withEndAction {
+ banner.visibility = View.INVISIBLE
+ }
+ }
+ }
}
diff --git a/android/src/main/res/layout/connect.xml b/android/src/main/res/layout/connect.xml
index 19f9cb177e..d35679aba4 100644
--- a/android/src/main/res/layout/connect.xml
+++ b/android/src/main/res/layout/connect.xml
@@ -13,6 +13,7 @@
android:gravity="center_vertical"
android:padding="12dp"
android:background="@color/red"
+ android:elevation="0.5dp"
>
<ImageView
android:layout_width="49dp"
@@ -38,7 +39,7 @@
android:background="@color/darkBlue"
android:orientation="horizontal"
android:gravity="center"
- android:visibility="gone"
+ android:visibility="invisible"
>
<ImageView
android:layout_width="wrap_content"
diff --git a/android/src/main/res/layout/login.xml b/android/src/main/res/layout/login.xml
index 58e5b12e02..9c8896024b 100644
--- a/android/src/main/res/layout/login.xml
+++ b/android/src/main/res/layout/login.xml
@@ -95,7 +95,7 @@
android:textSize="13sp"
android:text="@string/login_description"
/>
- <LinearLayout
+ <LinearLayout android:id="@+id/account_input_container"
android:layout_width="match_parent"
android:layout_height="48dp"
android:orientation="horizontal"
diff --git a/android/src/main/res/values/dimensions.xml b/android/src/main/res/values/dimensions.xml
index 379843b2bf..41d910fb6c 100644
--- a/android/src/main/res/values/dimensions.xml
+++ b/android/src/main/res/values/dimensions.xml
@@ -3,4 +3,5 @@
<dimen name="city_row_padding">40dp</dimen>
<dimen name="relay_row_padding">60dp</dimen>
<dimen name="relay_list_divider">1dp</dimen>
+ <dimen name="account_input_corner_radius">4dp</dimen>
</resources>