Minor cleanup

(cherry picked from commit a2ee4e63ae3bb2949c57d11a23bc56315579f891)
This commit is contained in:
arkon 2023-01-12 22:53:28 -05:00 committed by Jobobby04
parent 69acaa7829
commit 864707d75b
9 changed files with 43 additions and 46 deletions

View File

@ -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,

View File

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

View File

@ -42,7 +42,6 @@ class TrackManager(context: Context) {
val kavita = Kavita(context, KAVITA)
val suwayomi = Suwayomi(context, SUWAYOMI)
val services = listOf(mdList, myAnimeList, aniList, kitsu, shikimori, bangumi, komga, mangaUpdates, kavita, suwayomi)
fun getService(id: Long) = services.find { it.id == id }

View File

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

View File

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

View File

@ -94,6 +94,7 @@ import exh.source.EXH_SOURCE_ID
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
@ -292,14 +293,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)

View File

@ -827,10 +827,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)
}
}

View File

@ -632,17 +632,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
if (incognitoMode) return
upsertHistory.await(
HistoryUpdate(chapterId, readAt, sessionReadDuration),
).also {
chapterReadStartTime = null
}
}
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() {

View File

@ -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)
}
},