Browse Source

Minor changes to download cache. Also keep the library view, as recreation is expensive

inorichi 7 years ago
parent
commit
28a21d0b8f

+ 10 - 11
app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt

@@ -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))
     }
 
     /**

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt

@@ -429,7 +429,7 @@ class LibraryController(
         presenter.onOpenManga()
 
         router.pushController(RouterTransaction.with(MangaController(manga))
-                .pushChangeHandler(FadeChangeHandler())
+                .pushChangeHandler(FadeChangeHandler(false))
                 .popChangeHandler(FadeChangeHandler()))
     }
 

+ 5 - 5
app/src/main/res/layout/chapters_controller.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <android.support.design.widget.CoordinatorLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-                xmlns:app="http://schemas.android.com/apk/res-auto"
-                xmlns:tools="http://schemas.android.com/tools"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="vertical">
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
 
     <eu.kanade.tachiyomi.widget.RevealAnimationView
         android:id="@+id/reveal_view"

+ 2 - 1
app/src/main/res/layout/manga_controller.xml

@@ -3,4 +3,5 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/view_pager"
     android:layout_width="match_parent"
-    android:layout_height="match_parent" />
+    android:layout_height="match_parent"
+    android:background="?android:attr/colorBackground" />