mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Adjust tablet layout (closes #5113)
This commit is contained in:
		| @@ -70,7 +70,7 @@ class BrowseController : | ||||
|     override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) { | ||||
|         super.onChangeStarted(handler, type) | ||||
|         if (type.isEnter) { | ||||
|             (activity as? MainActivity)?.binding?.toolbarLayout?.tabs?.apply { | ||||
|             (activity as? MainActivity)?.binding?.tabs?.apply { | ||||
|                 setupWithViewPager(binding.pager) | ||||
|  | ||||
|                 // Show badge on tab for extension updates | ||||
| @@ -92,7 +92,7 @@ class BrowseController : | ||||
|     } | ||||
|  | ||||
|     fun setExtensionUpdateBadge() { | ||||
|         (activity as? MainActivity)?.binding?.toolbarLayout?.tabs?.apply { | ||||
|         (activity as? MainActivity)?.binding?.tabs?.apply { | ||||
|             val updates = preferences.extensionUpdatesCount().get() | ||||
|             if (updates > 0) { | ||||
|                 val badge: BadgeDrawable? = getTabAt(1)?.orCreateBadge | ||||
|   | ||||
| @@ -218,7 +218,7 @@ class LibraryController( | ||||
|     override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) { | ||||
|         super.onChangeStarted(handler, type) | ||||
|         if (type.isEnter) { | ||||
|             (activity as? MainActivity)?.binding?.toolbarLayout?.tabs?.setupWithViewPager(binding.libraryPager) | ||||
|             (activity as? MainActivity)?.binding?.tabs?.setupWithViewPager(binding.libraryPager) | ||||
|             presenter.subscribeLibrary() | ||||
|         } | ||||
|     } | ||||
| @@ -297,7 +297,7 @@ class LibraryController( | ||||
|         // Delay the scroll position to allow the view to be properly measured. | ||||
|         view.post { | ||||
|             if (isAttached) { | ||||
|                 (activity as? MainActivity)?.binding?.toolbarLayout?.tabs?.setScrollPosition(binding.libraryPager.currentItem, 0f, true) | ||||
|                 (activity as? MainActivity)?.binding?.tabs?.setScrollPosition(binding.libraryPager.currentItem, 0f, true) | ||||
|             } | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -96,11 +96,11 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() { | ||||
|         } | ||||
|  | ||||
|         setContentView(binding.root) | ||||
|         setSupportActionBar(binding.toolbarLayout.toolbar) | ||||
|         setSupportActionBar(binding.toolbar) | ||||
|  | ||||
|         // Draw edge-to-edge | ||||
|         WindowCompat.setDecorFitsSystemWindows(window, false) | ||||
|         binding.toolbarLayout.appbar.applyInsetter { | ||||
|         binding.appbar.applyInsetter { | ||||
|             type(navigationBars = true, statusBars = true) { | ||||
|                 padding(left = true, top = true, right = true) | ||||
|             } | ||||
| @@ -131,13 +131,13 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() { | ||||
|             insets | ||||
|         } | ||||
|  | ||||
|         tabAnimator = ViewHeightAnimator(binding.toolbarLayout.tabs, 0L) | ||||
|         tabAnimator = ViewHeightAnimator(binding.tabs, 0L) | ||||
|  | ||||
|         if (binding.bottomNav != null) { | ||||
|             bottomNavAnimator = ViewHeightAnimator(binding.bottomNav!!) | ||||
|  | ||||
|             // If bottom nav is hidden, make it visible again when the app bar is expanded | ||||
|             binding.toolbarLayout.appbar.addOnOffsetChangedListener( | ||||
|             binding.appbar.addOnOffsetChangedListener( | ||||
|                 AppBarLayout.OnOffsetChangedListener { _, verticalOffset -> | ||||
|                     if (verticalOffset == 0) { | ||||
|                         showNav(visible = true) | ||||
| @@ -186,7 +186,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() { | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         binding.toolbarLayout.toolbar.setNavigationOnClickListener { | ||||
|         binding.toolbar.setNavigationOnClickListener { | ||||
|             onBackPressed() | ||||
|         } | ||||
|  | ||||
| @@ -227,13 +227,13 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() { | ||||
|             .launchIn(lifecycleScope) | ||||
|  | ||||
|         preferences.downloadedOnly() | ||||
|             .asImmediateFlow { binding.toolbarLayout.downloadedOnly.isVisible = it } | ||||
|             .asImmediateFlow { binding.downloadedOnly.isVisible = it } | ||||
|             .launchIn(lifecycleScope) | ||||
|  | ||||
|         preferences.incognitoMode().asFlow() | ||||
|             .drop(1) | ||||
|             .onEach { | ||||
|                 binding.toolbarLayout.incognitoMode.isVisible = it | ||||
|                 binding.incognitoMode.isVisible = it | ||||
|  | ||||
|                 // Close BrowseSourceController and its MangaController child when incognito mode is disabled | ||||
|                 if (!it) { | ||||
| @@ -355,7 +355,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() { | ||||
|  | ||||
|         // Binding sometimes isn't actually instantiated yet somehow | ||||
|         nav.setOnItemSelectedListener(null) | ||||
|         binding?.toolbarLayout?.toolbar.setNavigationOnClickListener(null) | ||||
|         binding?.toolbar.setNavigationOnClickListener(null) | ||||
|     } | ||||
|  | ||||
|     override fun onBackPressed() { | ||||
| @@ -408,7 +408,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() { | ||||
|         supportActionBar?.setDisplayHomeAsUpEnabled(router.backstackSize != 1) | ||||
|  | ||||
|         // Always show appbar again when changing controllers | ||||
|         binding.toolbarLayout.appbar.setExpanded(true) | ||||
|         binding.appbar.setExpanded(true) | ||||
|  | ||||
|         if ((from == null || from is RootController) && to !is RootController) { | ||||
|             showNav(visible = false, collapse = true) | ||||
| @@ -419,14 +419,14 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() { | ||||
|         } | ||||
|  | ||||
|         if (from is TabbedController) { | ||||
|             from.cleanupTabs(binding.toolbarLayout.tabs) | ||||
|             from.cleanupTabs(binding.tabs) | ||||
|         } | ||||
|         if (to is TabbedController) { | ||||
|             tabAnimator.expand() | ||||
|             to.configureTabs(binding.toolbarLayout.tabs) | ||||
|             to.configureTabs(binding.tabs) | ||||
|         } else { | ||||
|             tabAnimator.collapse() | ||||
|             binding.toolbarLayout.tabs.setupWithViewPager(null) | ||||
|             binding.tabs.setupWithViewPager(null) | ||||
|         } | ||||
|  | ||||
|         if (from is FabController) { | ||||
| @@ -440,13 +440,13 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() { | ||||
|  | ||||
|         when (to) { | ||||
|             is NoToolbarElevationController -> { | ||||
|                 binding.toolbarLayout.appbar.disableElevation() | ||||
|                 binding.appbar.disableElevation() | ||||
|             } | ||||
|             is ToolbarLiftOnScrollController -> { | ||||
|                 binding.toolbarLayout.appbar.enableElevation(true) | ||||
|                 binding.appbar.enableElevation(true) | ||||
|             } | ||||
|             else -> { | ||||
|                 binding.toolbarLayout.appbar.enableElevation(false) | ||||
|                 binding.appbar.enableElevation(false) | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -489,16 +489,16 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() { | ||||
|      */ | ||||
|     fun fixViewToBottom(view: View) { | ||||
|         val listener = AppBarLayout.OnOffsetChangedListener { appBarLayout, verticalOffset -> | ||||
|             val maxAbsOffset = appBarLayout.measuredHeight - binding.toolbarLayout.tabs.measuredHeight | ||||
|             val maxAbsOffset = appBarLayout.measuredHeight - binding.tabs.measuredHeight | ||||
|             view.translationY = -maxAbsOffset - verticalOffset.toFloat() + appBarLayout.marginTop | ||||
|         } | ||||
|         binding.toolbarLayout.appbar.addOnOffsetChangedListener(listener) | ||||
|         binding.appbar.addOnOffsetChangedListener(listener) | ||||
|         fixedViewsToBottom[view] = listener | ||||
|     } | ||||
|  | ||||
|     fun clearFixViewToBottom(view: View) { | ||||
|         val listener = fixedViewsToBottom.remove(view) | ||||
|         binding.toolbarLayout.appbar.removeOnOffsetChangedListener(listener) | ||||
|         binding.appbar.removeOnOffsetChangedListener(listener) | ||||
|     } | ||||
|  | ||||
|     private fun setBottomNavBehaviorOnScroll() { | ||||
|   | ||||
| @@ -277,7 +277,7 @@ class MangaController : | ||||
|             else -> min(binding.recycler.computeVerticalScrollOffset(), 255) | ||||
|         } | ||||
|  | ||||
|         (activity as? MainActivity)?.binding?.toolbarLayout?.toolbar?.setTitleTextColor( | ||||
|         (activity as? MainActivity)?.binding?.toolbar?.setTitleTextColor( | ||||
|             Color.argb( | ||||
|                 calculatedAlpha, | ||||
|                 toolbarTextColor.red, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user