summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt34
1 files changed, 34 insertions, 0 deletions
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
+ }
+ }
+ }
+}