|
|
|
@ -26,6 +26,8 @@ class LibraryAdapter(private val controller: LibraryController) : RecyclerViewPa
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private var boundViews = arrayListOf<View>()
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Creates a new view for this adapter.
|
|
|
|
|
*
|
|
|
|
@ -45,6 +47,7 @@ class LibraryAdapter(private val controller: LibraryController) : RecyclerViewPa
|
|
|
|
|
*/
|
|
|
|
|
override fun bindView(view: View, position: Int) {
|
|
|
|
|
(view as LibraryCategoryView).onBind(categories[position])
|
|
|
|
|
boundViews.add(view)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -55,6 +58,7 @@ class LibraryAdapter(private val controller: LibraryController) : RecyclerViewPa
|
|
|
|
|
*/
|
|
|
|
|
override fun recycleView(view: View, position: Int) {
|
|
|
|
|
(view as LibraryCategoryView).onRecycle()
|
|
|
|
|
boundViews.remove(view)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -85,4 +89,15 @@ class LibraryAdapter(private val controller: LibraryController) : RecyclerViewPa
|
|
|
|
|
return if (index == -1) POSITION_NONE else index
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Called when the view of this adapter is being destroyed.
|
|
|
|
|
*/
|
|
|
|
|
fun onDestroy() {
|
|
|
|
|
for (view in boundViews) {
|
|
|
|
|
if (view is LibraryCategoryView) {
|
|
|
|
|
view.unsubscribe()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|