mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Minor changes to download cache. Also keep the library view, as recreation is expensive
This commit is contained in:
		| @@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit | ||||
| class DownloadCache(private val context: Context, | ||||
|                     private val provider: DownloadProvider, | ||||
|                     private val sourceManager: SourceManager = Injekt.get(), | ||||
|                     preferences: PreferencesHelper = Injekt.get()) { | ||||
|                     private val preferences: PreferencesHelper = Injekt.get()) { | ||||
|  | ||||
|     /** | ||||
|      * The interval after which this cache should be invalidated. 1 hour shouldn't cause major | ||||
| @@ -42,24 +42,23 @@ class DownloadCache(private val context: Context, | ||||
|     /** | ||||
|      * The root directory for downloads. | ||||
|      */ | ||||
|     private var rootDir = setRootDir(preferences.downloadsDirectory().getOrDefault()) | ||||
|     private var rootDir = RootDirectory(getDirectoryFromPreference()) | ||||
|  | ||||
|     init { | ||||
|         setRootDir(preferences.downloadsDirectory().getOrDefault()) | ||||
|         preferences.downloadsDirectory().asObservable() | ||||
|                 .skip(1) | ||||
|                 .subscribe { setRootDir(it) } | ||||
|                 .subscribe { | ||||
|                     lastRenew = 0L // invalidate cache | ||||
|                     rootDir = RootDirectory(getDirectoryFromPreference()) | ||||
|                 } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Sets the root downloads directory and invalidates the cache. | ||||
|      * | ||||
|      * @param directory the downloads directory in [Uri] format. | ||||
|      * Returns the downloads directory from the user's preferences. | ||||
|      */ | ||||
|     private fun setRootDir(directory: String): RootDirectory { | ||||
|         rootDir = RootDirectory(UniFile.fromUri(context, Uri.parse(directory))) | ||||
|         lastRenew = 0L | ||||
|         return rootDir | ||||
|     private fun getDirectoryFromPreference(): UniFile { | ||||
|         val dir = preferences.downloadsDirectory().getOrDefault() | ||||
|         return UniFile.fromUri(context, Uri.parse(dir)) | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -429,7 +429,7 @@ class LibraryController( | ||||
|         presenter.onOpenManga() | ||||
|  | ||||
|         router.pushController(RouterTransaction.with(MangaController(manga)) | ||||
|                 .pushChangeHandler(FadeChangeHandler()) | ||||
|                 .pushChangeHandler(FadeChangeHandler(false)) | ||||
|                 .popChangeHandler(FadeChangeHandler())) | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user