Browse Source

More bottom inset padding fixes

arkon 4 years ago
parent
commit
776f6a9a16

+ 4 - 7
app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ConductorExtensions.kt

@@ -38,15 +38,12 @@ fun Controller.withFadeTransaction(): RouterTransaction {
 
 val Controller.insets: WindowInsets?
     get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
-        activity!!.window.decorView.rootWindowInsets
+        activity?.window?.decorView?.rootWindowInsets
     } else {
         null
     }
 
-inline fun Controller.applyBottomInsetPadding(view: View, paddingBottom: Int = view.paddingBottom) {
-    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
-        view.updatePadding(bottom = paddingBottom + insets!!.systemWindowInsetBottom)
-    } else {
-        view.updatePadding(bottom = paddingBottom)
-    }
+fun Controller.applyBottomInsetPadding(view: View, paddingBottom: Int = view.paddingBottom) {
+    val bottomInset = insets?.systemWindowInsetBottom ?: 0
+    view.updatePadding(bottom = paddingBottom + bottomInset)
 }

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionController.kt

@@ -60,9 +60,7 @@ open class ExtensionController :
 
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         binding = ExtensionControllerBinding.inflate(inflater)
-
         applyBottomInsetPadding(binding.recycler)
-
         return binding.root
     }
 

+ 2 - 0
app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsController.kt

@@ -35,6 +35,7 @@ import eu.kanade.tachiyomi.source.Source
 import eu.kanade.tachiyomi.source.getPreferenceKey
 import eu.kanade.tachiyomi.ui.base.controller.NucleusController
 import eu.kanade.tachiyomi.ui.base.controller.ToolbarLiftOnScrollController
+import eu.kanade.tachiyomi.ui.base.controller.applyBottomInsetPadding
 import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
 import eu.kanade.tachiyomi.util.preference.DSL
 import eu.kanade.tachiyomi.util.preference.onChange
@@ -66,6 +67,7 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         val themedInflater = inflater.cloneInContext(getPreferenceThemeContext())
         binding = ExtensionDetailControllerBinding.inflate(themedInflater)
+        applyBottomInsetPadding(binding.extensionPrefsRecycler)
         return binding.root
     }
 

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt

@@ -32,9 +32,7 @@ class MigrationSourcesController :
 
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         binding = MigrationSourcesControllerBinding.inflate(inflater)
-
         applyBottomInsetPadding(binding.recycler)
-
         return binding.root
     }
 

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt

@@ -82,9 +82,7 @@ class SourceController :
      */
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         binding = SourceMainControllerBinding.inflate(inflater)
-
         applyBottomInsetPadding(binding.recycler)
-
         return binding.root
     }
 

+ 2 - 0
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt

@@ -16,6 +16,7 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 import eu.kanade.tachiyomi.databinding.GlobalSearchControllerBinding
 import eu.kanade.tachiyomi.source.CatalogueSource
 import eu.kanade.tachiyomi.ui.base.controller.NucleusController
+import eu.kanade.tachiyomi.ui.base.controller.applyBottomInsetPadding
 import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
 import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController
 import eu.kanade.tachiyomi.ui.manga.MangaController
@@ -59,6 +60,7 @@ open class GlobalSearchController(
      */
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         binding = GlobalSearchControllerBinding.inflate(inflater)
+        applyBottomInsetPadding(binding.recycler)
         return binding.root
     }
 

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryController.kt

@@ -79,9 +79,7 @@ class CategoryController :
      */
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         binding = CategoriesControllerBinding.inflate(inflater)
-
         applyBottomInsetPadding(binding.recycler)
-
         return binding.root
     }
 

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadController.kt

@@ -60,9 +60,7 @@ class DownloadController :
 
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         binding = DownloadControllerBinding.inflate(inflater)
-
         applyBottomInsetPadding(binding.recycler)
-
         return binding.root
     }
 

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt

@@ -195,9 +195,7 @@ class MangaController :
 
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         binding = MangaControllerBinding.inflate(inflater)
-
         applyBottomInsetPadding(binding.recycler)
-
         return binding.root
     }
 

+ 0 - 13
app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt

@@ -1,11 +1,7 @@
 package eu.kanade.tachiyomi.ui.more
 
 import android.content.Context
-import android.os.Bundle
 import android.util.AttributeSet
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
 import androidx.preference.Preference
 import androidx.preference.PreferenceScreen
 import eu.kanade.tachiyomi.R
@@ -13,7 +9,6 @@ import eu.kanade.tachiyomi.data.download.DownloadManager
 import eu.kanade.tachiyomi.data.download.DownloadService
 import eu.kanade.tachiyomi.ui.base.controller.NoToolbarElevationController
 import eu.kanade.tachiyomi.ui.base.controller.RootController
-import eu.kanade.tachiyomi.ui.base.controller.applyBottomInsetPadding
 import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
 import eu.kanade.tachiyomi.ui.category.CategoryController
 import eu.kanade.tachiyomi.ui.download.DownloadController
@@ -44,14 +39,6 @@ class MoreController :
     private var isDownloading: Boolean = false
     private var downloadQueueSize: Int = 0
 
-    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle?): View {
-        val view = super.onCreateView(inflater, container, savedInstanceState)
-
-        applyBottomInsetPadding(view, view.context.resources.getDimensionPixelSize(R.dimen.action_toolbar_list_padding))
-
-        return view
-    }
-
     override fun setupPreferenceScreen(screen: PreferenceScreen) = screen.apply {
         titleRes = R.string.label_more
 

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/recent/history/HistoryController.kt

@@ -69,9 +69,7 @@ class HistoryController :
 
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         binding = HistoryControllerBinding.inflate(inflater)
-
         applyBottomInsetPadding(binding.recycler)
-
         return binding.root
     }
 

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesController.kt

@@ -75,9 +75,7 @@ class UpdatesController :
 
     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
         binding = UpdatesControllerBinding.inflate(inflater)
-
         applyBottomInsetPadding(binding.recycler)
-
         return binding.root
     }
 

+ 15 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsController.kt

@@ -19,6 +19,8 @@ import com.bluelinelabs.conductor.ControllerChangeType
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 import eu.kanade.tachiyomi.ui.base.controller.BaseController
+import eu.kanade.tachiyomi.ui.base.controller.RootController
+import eu.kanade.tachiyomi.ui.base.controller.applyBottomInsetPadding
 import eu.kanade.tachiyomi.util.system.getResourceColor
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
@@ -42,7 +44,19 @@ abstract class SettingsController : PreferenceController() {
         if (untilDestroySubscriptions.isUnsubscribed) {
             untilDestroySubscriptions = CompositeSubscription()
         }
-        return super.onCreateView(inflater, container, savedInstanceState)
+
+        val view = super.onCreateView(inflater, container, savedInstanceState)
+
+        if (this is RootController) {
+            applyBottomInsetPadding(
+                view,
+                view.context.resources.getDimensionPixelSize(R.dimen.action_toolbar_list_padding)
+            )
+        } else {
+            applyBottomInsetPadding(view)
+        }
+
+        return view
     }
 
     override fun onAttach(view: View) {