summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--android/build.gradle1
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt34
2 files changed, 35 insertions, 0 deletions
diff --git a/android/build.gradle b/android/build.gradle
index 60ad2af53b..3ec109fbeb 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -81,6 +81,7 @@ repositories {
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
+ implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.21'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.1'
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt
new file mode 100644
index 0000000000..a0759ed9fa
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt
@@ -0,0 +1,34 @@
+package net.mullvad.mullvadvpn.ui
+
+import android.content.Context
+import android.support.design.widget.CoordinatorLayout
+import android.support.design.widget.CoordinatorLayout.Behavior
+import android.util.AttributeSet
+import android.view.View
+import android.widget.ScrollView
+import net.mullvad.mullvadvpn.R
+
+class UnderNotificationBannerBehavior(
+ context: Context,
+ attributes: AttributeSet
+) : Behavior<ScrollView>(context, attributes) {
+ override fun layoutDependsOn(parent: CoordinatorLayout, body: ScrollView, dependency: View) =
+ dependency.id == R.id.notification_banner
+
+ override fun onDependentViewChanged(
+ parent: CoordinatorLayout,
+ body: ScrollView,
+ dependency: View
+ ): Boolean {
+ val newPaddingTop = dependency.height
+
+ body.getChildAt(0).apply {
+ if (paddingTop != newPaddingTop) {
+ setPadding(paddingLeft, newPaddingTop, paddingRight, paddingBottom)
+ return true
+ } else {
+ return false
+ }
+ }
+ }
+}