summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt25
-rw-r--r--android/src/main/res/layout/connect.xml3
2 files changed, 24 insertions, 4 deletions
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"