diff options
| -rw-r--r-- | android/build.gradle | 1 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt | 34 |
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 + } + } + } +} |
