mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	More bottom inset padding fixes
This commit is contained in:
		| @@ -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) | ||||
| } | ||||
|   | ||||
| @@ -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 | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -32,9 +32,7 @@ class MigrationSourcesController : | ||||
|  | ||||
|     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { | ||||
|         binding = MigrationSourcesControllerBinding.inflate(inflater) | ||||
|  | ||||
|         applyBottomInsetPadding(binding.recycler) | ||||
|  | ||||
|         return binding.root | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -82,9 +82,7 @@ class SourceController : | ||||
|      */ | ||||
|     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { | ||||
|         binding = SourceMainControllerBinding.inflate(inflater) | ||||
|  | ||||
|         applyBottomInsetPadding(binding.recycler) | ||||
|  | ||||
|         return binding.root | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -79,9 +79,7 @@ class CategoryController : | ||||
|      */ | ||||
|     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { | ||||
|         binding = CategoriesControllerBinding.inflate(inflater) | ||||
|  | ||||
|         applyBottomInsetPadding(binding.recycler) | ||||
|  | ||||
|         return binding.root | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -60,9 +60,7 @@ class DownloadController : | ||||
|  | ||||
|     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { | ||||
|         binding = DownloadControllerBinding.inflate(inflater) | ||||
|  | ||||
|         applyBottomInsetPadding(binding.recycler) | ||||
|  | ||||
|         return binding.root | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -195,9 +195,7 @@ class MangaController : | ||||
|  | ||||
|     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { | ||||
|         binding = MangaControllerBinding.inflate(inflater) | ||||
|  | ||||
|         applyBottomInsetPadding(binding.recycler) | ||||
|  | ||||
|         return binding.root | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -69,9 +69,7 @@ class HistoryController : | ||||
|  | ||||
|     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { | ||||
|         binding = HistoryControllerBinding.inflate(inflater) | ||||
|  | ||||
|         applyBottomInsetPadding(binding.recycler) | ||||
|  | ||||
|         return binding.root | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -75,9 +75,7 @@ class UpdatesController : | ||||
|  | ||||
|     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { | ||||
|         binding = UpdatesControllerBinding.inflate(inflater) | ||||
|  | ||||
|         applyBottomInsetPadding(binding.recycler) | ||||
|  | ||||
|         return binding.root | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user