Browse Source

Use insetter library for handling inset padding

arkon 4 năm trước cách đây
mục cha
commit
3ddd1033c3

+ 2 - 0
app/build.gradle

@@ -153,6 +153,8 @@ dependencies {
     // UI library
     implementation 'com.google.android.material:material:1.3.0-alpha02'
 
+    implementation 'dev.chrisbanes:insetter-ktx:0.3.1'
+
     standardImplementation 'com.google.firebase:firebase-core:17.4.4'
 
     // ReactiveX

+ 8 - 11
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt

@@ -20,11 +20,11 @@ import android.view.WindowManager
 import android.view.animation.Animation
 import android.view.animation.AnimationUtils
 import android.widget.SeekBar
-import androidx.core.view.ViewCompat
 import androidx.core.view.isVisible
 import androidx.core.view.setPadding
 import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
 import com.google.android.material.snackbar.Snackbar
+import dev.chrisbanes.insetter.applySystemWindowInsetsToPadding
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.database.models.Chapter
 import eu.kanade.tachiyomi.data.database.models.Manga
@@ -288,16 +288,13 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
             onBackPressed()
         }
 
-        ViewCompat.setOnApplyWindowInsetsListener(binding.readerMenu) { _, insets ->
-            if (!window.isDefaultBar()) {
-                binding.readerMenu.setPadding(
-                    insets.systemWindowInsetLeft,
-                    insets.systemWindowInsetTop,
-                    insets.systemWindowInsetRight,
-                    insets.systemWindowInsetBottom
-                )
-            }
-            insets
+        if (!window.isDefaultBar()) {
+            binding.readerMenu.applySystemWindowInsetsToPadding(
+                left = true,
+                top = true,
+                right = true,
+                bottom = true
+            )
         }
 
         // Init listeners on bottom menu