mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Remove unused viewstatepageradapter dependency
This commit is contained in:
		| @@ -1,65 +0,0 @@ | ||||
| package eu.kanade.tachiyomi.widget | ||||
|  | ||||
| import android.view.View | ||||
| import android.view.ViewGroup | ||||
| import androidx.viewpager.widget.ViewPager | ||||
| import com.nightlynexus.viewstatepageradapter.ViewStatePagerAdapter | ||||
| import java.util.Stack | ||||
|  | ||||
| abstract class RecyclerViewPagerAdapter : ViewStatePagerAdapter() { | ||||
|  | ||||
|     private val pool = HashMap<Int, Stack<View>>() | ||||
|  | ||||
|     var recycle = true | ||||
|         set(value) { | ||||
|             if (!value) pool.clear() | ||||
|             field = value | ||||
|         } | ||||
|  | ||||
|     protected abstract fun getViewType(position: Int): Int | ||||
|  | ||||
|     protected abstract fun inflateView(container: ViewGroup, viewType: Int): View | ||||
|  | ||||
|     protected abstract fun bindView(view: View, position: Int) | ||||
|  | ||||
|     protected open fun recycleView(view: View, position: Int) {} | ||||
|  | ||||
|     override fun createView(container: ViewGroup, position: Int): View { | ||||
|         val viewType = getViewType(position) | ||||
|         val view = if (pool[viewType] != null && pool[viewType]!!.isNotEmpty()) { | ||||
|             pool[viewType]!!.pop().setViewPagerPositionParam(position) | ||||
|         } else { | ||||
|             inflateView(container, viewType) | ||||
|         } | ||||
|         bindView(view, position) | ||||
|         return view | ||||
|     } | ||||
|  | ||||
|     override fun destroyView(container: ViewGroup, position: Int, view: View) { | ||||
|         recycleView(view, position) | ||||
|         val viewType = getViewType(position) | ||||
|         if (pool[viewType] == null) pool[viewType] = Stack<View>() | ||||
|         if (recycle) pool[viewType]!!.push(view) | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Making sure that this ViewPager child view has the correct "position" layout param | ||||
|      * after being recycled. | ||||
|      */ | ||||
|     private fun View.setViewPagerPositionParam(position: Int): View { | ||||
|         val params = layoutParams | ||||
|         if (params is ViewPager.LayoutParams) { | ||||
|             if (!params.isDecor) { | ||||
|                 try { | ||||
|                     val positionField = ViewPager.LayoutParams::class.java.getDeclaredField("position") | ||||
|                     positionField.isAccessible = true | ||||
|                     positionField.setInt(params, position) | ||||
|                     layoutParams = params | ||||
|                 } catch (e: NoSuchFieldException) { | ||||
|                 } catch (e: IllegalAccessException) { | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return this | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user