mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	TachiyomiCoordinatorLayout: Remove app bar lift mechanism for view pager (#6379)
This is a follow up to 845e061382
...jk i actually forgot about it
			
			
This commit is contained in:
		| @@ -12,14 +12,12 @@ import androidx.core.view.doOnLayout | ||||
| import androidx.customview.view.AbsSavedState | ||||
| import androidx.lifecycle.coroutineScope | ||||
| import androidx.lifecycle.findViewTreeLifecycleOwner | ||||
| import androidx.recyclerview.widget.RecyclerView | ||||
| import androidx.viewpager.widget.ViewPager | ||||
| import com.bluelinelabs.conductor.ChangeHandlerFrameLayout | ||||
| import com.google.android.material.appbar.AppBarLayout | ||||
| import eu.kanade.tachiyomi.util.system.isTablet | ||||
| import eu.kanade.tachiyomi.util.view.findChild | ||||
| import eu.kanade.tachiyomi.util.view.findDescendant | ||||
| import eu.kanade.tachiyomi.util.view.getActivePageView | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import reactivecircus.flowbinding.android.view.HierarchyChangeEvent | ||||
| @@ -32,10 +30,6 @@ import reactivecircus.flowbinding.android.view.hierarchyChangeEvents | ||||
|  * 1. When nested scroll detected, lift state will be decided from the nested | ||||
|  * scroll target. (See [onNestedScroll]) | ||||
|  * | ||||
|  * 2. When a descendant ViewPager active page is changed and the page contains RecyclerView, | ||||
|  * lift state will be decided from the said RecyclerView. (See [pageChangeListener]) | ||||
|  * | ||||
|  * | ||||
|  * With those conditions, this view expects the following direct child: | ||||
|  * | ||||
|  * 1. An [AppBarLayout]. | ||||
| @@ -55,22 +49,6 @@ class TachiyomiCoordinatorLayout @JvmOverloads constructor( | ||||
|  | ||||
|     private var appBarLayout: AppBarLayout? = null | ||||
|     private var viewPager: ViewPager? = null | ||||
|         set(value) { | ||||
|             field?.removeOnPageChangeListener(pageChangeListener) | ||||
|             field = value | ||||
|             field?.addOnPageChangeListener(pageChangeListener) | ||||
|         } | ||||
|  | ||||
|     private val pageChangeListener = object : ViewPager.SimpleOnPageChangeListener() { | ||||
|         override fun onPageScrollStateChanged(state: Int) { | ||||
|             // Wait until idle to make sure all the views laid out properly before checked | ||||
|             if (canLiftAppBarOnScroll && state == ViewPager.SCROLL_STATE_IDLE) { | ||||
|                 appBarLayout?.isLifted = (viewPager?.getActivePageView() as? ViewGroup) | ||||
|                     ?.findDescendant<RecyclerView>() | ||||
|                     ?.canScrollVertically(-1) ?: false | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * If true, [AppBarLayout] child will be lifted on nested scroll. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user