arkon 2 роки тому
батько
коміт
a2ee4e63ae

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt

@@ -37,7 +37,7 @@ fun NewUpdateScreen(
         icon = Icons.Outlined.NewReleases,
         headingText = stringResource(R.string.update_check_notification_update_available),
         subtitleText = versionName,
-        acceptText = stringResource(id = R.string.update_check_confirm),
+        acceptText = stringResource(R.string.update_check_confirm),
         onAcceptClick = onAcceptUpdate,
         rejectText = stringResource(R.string.action_not_now),
         onRejectClick = onRejectUpdate,

+ 5 - 5
app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestoreService.kt

@@ -44,12 +44,12 @@ class BackupRestoreService : Service() {
          * @param uri path of Uri
          */
         fun start(context: Context, uri: Uri) {
-            if (!isRunning(context)) {
-                val intent = Intent(context, BackupRestoreService::class.java).apply {
-                    putExtra(BackupConst.EXTRA_URI, uri)
-                }
-                ContextCompat.startForegroundService(context, intent)
+            if (isRunning(context)) return
+
+            val intent = Intent(context, BackupRestoreService::class.java).apply {
+                putExtra(BackupConst.EXTRA_URI, uri)
             }
+            ContextCompat.startForegroundService(context, intent)
         }
 
         /**

+ 6 - 6
app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateService.kt

@@ -166,13 +166,13 @@ class AppUpdateService : Service() {
          * @param url the url to the new update.
          */
         fun start(context: Context, url: String, title: String? = context.getString(R.string.app_name)) {
-            if (!isRunning(context)) {
-                val intent = Intent(context, AppUpdateService::class.java).apply {
-                    putExtra(EXTRA_DOWNLOAD_TITLE, title)
-                    putExtra(EXTRA_DOWNLOAD_URL, url)
-                }
-                ContextCompat.startForegroundService(context, intent)
+            if (isRunning(context)) return
+
+            val intent = Intent(context, AppUpdateService::class.java).apply {
+                putExtra(EXTRA_DOWNLOAD_TITLE, title)
+                putExtra(EXTRA_DOWNLOAD_URL, url)
             }
+            ContextCompat.startForegroundService(context, intent)
         }
 
         /**

+ 12 - 12
app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionInstallReceiver.kt

@@ -50,13 +50,13 @@ internal class ExtensionInstallReceiver(private val listener: Listener) :
 
         when (intent.action) {
             Intent.ACTION_PACKAGE_ADDED -> {
-                if (!isReplacing(intent)) {
-                    launchNow {
-                        when (val result = getExtensionFromIntent(context, intent)) {
-                            is LoadResult.Success -> listener.onExtensionInstalled(result.extension)
-                            is LoadResult.Untrusted -> listener.onExtensionUntrusted(result.extension)
-                            else -> {}
-                        }
+                if (isReplacing(intent)) return
+
+                launchNow {
+                    when (val result = getExtensionFromIntent(context, intent)) {
+                        is LoadResult.Success -> listener.onExtensionInstalled(result.extension)
+                        is LoadResult.Untrusted -> listener.onExtensionUntrusted(result.extension)
+                        else -> {}
                     }
                 }
             }
@@ -71,11 +71,11 @@ internal class ExtensionInstallReceiver(private val listener: Listener) :
                 }
             }
             Intent.ACTION_PACKAGE_REMOVED -> {
-                if (!isReplacing(intent)) {
-                    val pkgName = getPackageNameFromIntent(intent)
-                    if (pkgName != null) {
-                        listener.onPackageUninstalled(pkgName)
-                    }
+                if (isReplacing(intent)) return
+
+                val pkgName = getPackageNameFromIntent(intent)
+                if (pkgName != null) {
+                    listener.onPackageUninstalled(pkgName)
                 }
             }
         }

+ 7 - 7
app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt

@@ -90,6 +90,7 @@ import eu.kanade.tachiyomi.util.view.setComposeContent
 import kotlinx.coroutines.cancel
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.flow.drop
+import kotlinx.coroutines.flow.filter
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.launch
@@ -243,14 +244,13 @@ class MainActivity : BaseActivity() {
                 LaunchedEffect(Unit) {
                     preferences.incognitoMode().changes()
                         .drop(1)
+                        .filter { !it }
                         .onEach {
-                            if (!it) {
-                                val currentScreen = navigator.lastItem
-                                if (currentScreen is BrowseSourceScreen ||
-                                    (currentScreen is MangaScreen && currentScreen.fromSource)
-                                ) {
-                                    navigator.popUntilRoot()
-                                }
+                            val currentScreen = navigator.lastItem
+                            if (currentScreen is BrowseSourceScreen ||
+                                (currentScreen is MangaScreen && currentScreen.fromSource)
+                            ) {
+                                navigator.popUntilRoot()
                             }
                         }
                         .launchIn(this)

+ 4 - 4
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt

@@ -389,10 +389,10 @@ class MangaInfoScreenModel(
 
     fun moveMangaToCategoriesAndAddToLibrary(manga: Manga, categories: List<Long>) {
         moveMangaToCategory(categories)
-        if (!manga.favorite) {
-            coroutineScope.launchIO {
-                updateManga.awaitUpdateFavorite(manga.id, true)
-            }
+        if (manga.favorite) return
+
+        coroutineScope.launchIO {
+            updateManga.awaitUpdateFavorite(manga.id, true)
         }
     }
 

+ 8 - 11
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt

@@ -532,17 +532,14 @@ class ReaderViewModel(
      * Saves this [readerChapter] last read history if incognito mode isn't on.
      */
     private suspend fun saveChapterHistory(readerChapter: ReaderChapter) {
-        if (!incognitoMode) {
-            val chapterId = readerChapter.chapter.id!!
-            val readAt = Date()
-            val sessionReadDuration = chapterReadStartTime?.let { readAt.time - it } ?: 0
-
-            upsertHistory.await(
-                HistoryUpdate(chapterId, readAt, sessionReadDuration),
-            ).also {
-                chapterReadStartTime = null
-            }
-        }
+        if (incognitoMode) return
+
+        val chapterId = readerChapter.chapter.id!!
+        val endTime = Date()
+        val sessionReadDuration = chapterReadStartTime?.let { endTime.time - it } ?: 0
+
+        upsertHistory.await(HistoryUpdate(chapterId, endTime, sessionReadDuration))
+        chapterReadStartTime = null
     }
 
     fun setReadStartTime() {

+ 1 - 0
core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt

@@ -83,6 +83,7 @@ suspend fun Call.await(): Response {
                 override fun onFailure(call: Call, e: IOException) {
                     // Don't bother with resuming the continuation if it is already cancelled.
                     if (continuation.isCancelled) return
+
                     continuation.resumeWithException(e)
                 }
             },