mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Fix library not being updated
This commit is contained in:
		@@ -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()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -124,12 +124,11 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
 | 
			
		||||
    fun onRecycle() {
 | 
			
		||||
        adapter.setItems(emptyList())
 | 
			
		||||
        adapter.clearSelection()
 | 
			
		||||
        subscriptions.clear()
 | 
			
		||||
        unsubscribe()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun onDetachedFromWindow() {
 | 
			
		||||
    fun unsubscribe() {
 | 
			
		||||
        subscriptions.clear()
 | 
			
		||||
        super.onDetachedFromWindow()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -164,6 +164,7 @@ class LibraryController(
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun onDestroyView(view: View) {
 | 
			
		||||
        adapter?.onDestroy()
 | 
			
		||||
        adapter = null
 | 
			
		||||
        actionMode = null
 | 
			
		||||
        tabsVisibilitySubscription?.unsubscribe()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user