summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-06-23 01:17:10 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-06-25 17:39:24 +0000
commit57e8d0cbd1c4e83309847d0f9fa23309b0cfa0c8 (patch)
treeaecd54db919a610eadc8143a2119d992983009ec /android/src
parent1f9a0ccd4f79af3231efa5493a8aebfd0700876b (diff)
downloadmullvadvpn-57e8d0cbd1c4e83309847d0f9fa23309b0cfa0c8.tar.xz
mullvadvpn-57e8d0cbd1c4e83309847d0f9fa23309b0cfa0c8.zip
Create `UnderNotificationBannerBehavior` class
Diffstat (limited to 'android/src')
-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
+ }
+ }
+ }
+}