浏览代码

MangaPresenter: Incognito and downloaded only label related tweaks (#7535)

When manga screen takes time to load incognito and downloaded only label doesn't show up. It's fixed in the pr.
AntsyLich 2 年之前
父节点
当前提交
b034f503f8
共有 1 个文件被更改,包括 15 次插入2 次删除
  1. 15 2
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt

+ 15 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt

@@ -147,6 +147,17 @@ class MangaPresenter(
         _state.update { if (it is MangaScreenState.Success) func(it) else it }
     }
 
+    private var incognitoMode = false
+        set(value) {
+            updateSuccessState { it.copy(isIncognitoMode = value) }
+            field = value
+        }
+    private var downloadedOnlyMode = false
+        set(value) {
+            updateSuccessState { it.copy(isDownloadedOnlyMode = value) }
+            field = value
+        }
+
     override fun onCreate(savedState: Bundle?) {
         super.onCreate(savedState)
 
@@ -174,6 +185,8 @@ class MangaPresenter(
                                 isFromSource = isFromSource,
                                 trackingAvailable = trackManager.hasLoggedServices(),
                                 chapters = chapterItems,
+                                isIncognitoMode = incognitoMode,
+                                isDownloadedOnlyMode = downloadedOnlyMode
                             )
 
                             // Update state
@@ -195,13 +208,13 @@ class MangaPresenter(
 
         preferences.incognitoMode()
             .asImmediateFlow { incognito ->
-                updateSuccessState { it.copy(isIncognitoMode = incognito) }
+                incognitoMode = incognito
             }
             .launchIn(presenterScope)
 
         preferences.downloadedOnly()
             .asImmediateFlow { downloadedOnly ->
-                updateSuccessState { it.copy(isDownloadedOnlyMode = downloadedOnly) }
+                downloadedOnlyMode = downloadedOnly
             }
             .launchIn(presenterScope)
     }