Minor cleanup
This commit is contained in:
parent
4d8289cd36
commit
a2ee4e63ae
8 changed files with 43 additions and 45 deletions
|
@ -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,
|
||||
|
|
|
@ -44,13 +44,13 @@ class BackupRestoreService : Service() {
|
|||
* @param uri path of Uri
|
||||
*/
|
||||
fun start(context: Context, uri: Uri) {
|
||||
if (!isRunning(context)) {
|
||||
if (isRunning(context)) return
|
||||
|
||||
val intent = Intent(context, BackupRestoreService::class.java).apply {
|
||||
putExtra(BackupConst.EXTRA_URI, uri)
|
||||
}
|
||||
ContextCompat.startForegroundService(context, intent)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Stops the service.
|
||||
|
|
|
@ -166,14 +166,14 @@ 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)) {
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Stops the service.
|
||||
|
|
|
@ -50,7 +50,8 @@ internal class ExtensionInstallReceiver(private val listener: Listener) :
|
|||
|
||||
when (intent.action) {
|
||||
Intent.ACTION_PACKAGE_ADDED -> {
|
||||
if (!isReplacing(intent)) {
|
||||
if (isReplacing(intent)) return
|
||||
|
||||
launchNow {
|
||||
when (val result = getExtensionFromIntent(context, intent)) {
|
||||
is LoadResult.Success -> listener.onExtensionInstalled(result.extension)
|
||||
|
@ -59,7 +60,6 @@ internal class ExtensionInstallReceiver(private val listener: Listener) :
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Intent.ACTION_PACKAGE_REPLACED -> {
|
||||
launchNow {
|
||||
when (val result = getExtensionFromIntent(context, intent)) {
|
||||
|
@ -71,7 +71,8 @@ internal class ExtensionInstallReceiver(private val listener: Listener) :
|
|||
}
|
||||
}
|
||||
Intent.ACTION_PACKAGE_REMOVED -> {
|
||||
if (!isReplacing(intent)) {
|
||||
if (isReplacing(intent)) return
|
||||
|
||||
val pkgName = getPackageNameFromIntent(intent)
|
||||
if (pkgName != null) {
|
||||
listener.onPackageUninstalled(pkgName)
|
||||
|
@ -79,7 +80,6 @@ internal class ExtensionInstallReceiver(private val listener: Listener) :
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this package is performing an update.
|
||||
|
|
|
@ -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,8 +244,8 @@ 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)
|
||||
|
@ -252,7 +253,6 @@ class MainActivity : BaseActivity() {
|
|||
navigator.popUntilRoot()
|
||||
}
|
||||
}
|
||||
}
|
||||
.launchIn(this)
|
||||
}
|
||||
|
||||
|
|
|
@ -389,12 +389,12 @@ class MangaInfoScreenModel(
|
|||
|
||||
fun moveMangaToCategoriesAndAddToLibrary(manga: Manga, categories: List<Long>) {
|
||||
moveMangaToCategory(categories)
|
||||
if (!manga.favorite) {
|
||||
if (manga.favorite) return
|
||||
|
||||
coroutineScope.launchIO {
|
||||
updateManga.awaitUpdateFavorite(manga.id, true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Move the given manga to categories.
|
||||
|
|
|
@ -532,18 +532,15 @@ 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
|
||||
if (incognitoMode) return
|
||||
|
||||
upsertHistory.await(
|
||||
HistoryUpdate(chapterId, readAt, sessionReadDuration),
|
||||
).also {
|
||||
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() {
|
||||
chapterReadStartTime = Date().time
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
},
|
||||
|
|
Reference in a new issue