mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Reattach after slight delay instead on every db update (#5956)
This commit is contained in:
		| @@ -42,9 +42,12 @@ import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import reactivecircus.flowbinding.android.view.clicks | ||||
| import reactivecircus.flowbinding.viewpager.pageSelections | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class LibraryController( | ||||
|     bundle: Bundle? = null, | ||||
| @@ -199,10 +202,12 @@ class LibraryController( | ||||
|                 is LibrarySettingsSheet.Filter.FilterGroup -> onFilterChanged() | ||||
|                 is LibrarySettingsSheet.Sort.SortGroup -> onSortChanged() | ||||
|                 is LibrarySettingsSheet.Display.DisplayGroup -> { | ||||
|                     if (!preferences.categorisedDisplaySettings().get() || activeCategory == 0) { | ||||
|                         // Reattach adapter when flow preference change | ||||
|                         reattachAdapter() | ||||
|                     } | ||||
|                     val delay = if (preferences.categorisedDisplaySettings().get()) 125L else 0L | ||||
|  | ||||
|                     Observable.timer(delay, TimeUnit.MILLISECONDS, AndroidSchedulers.mainThread()) | ||||
|                         .subscribe { | ||||
|                             reattachAdapter() | ||||
|                         } | ||||
|                 } | ||||
|                 is LibrarySettingsSheet.Display.BadgeGroup -> onBadgeSettingChanged() | ||||
|                 is LibrarySettingsSheet.Display.TabsGroup -> onTabsSettingsChanged() | ||||
| @@ -299,11 +304,6 @@ class LibraryController( | ||||
|             .map { (it.id ?: -1) to (mangaMap[it.id]?.size ?: 0) } | ||||
|             .toMap() | ||||
|  | ||||
|         if (preferences.categorisedDisplaySettings().get()) { | ||||
|             // Reattach adapter so it doesn't get de-synced | ||||
|             reattachAdapter() | ||||
|         } | ||||
|  | ||||
|         // Restore active category. | ||||
|         binding.libraryPager.setCurrentItem(activeCat, false) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user