From 4b30905f9c04872e5ad1f747558b7a892954850f Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sat, 13 Apr 2024 13:57:11 +0300 Subject: [PATCH] Tracker improvements --- app/src/debug/res/layout/item_track_debug.xml | 2 +- .../kotlin/org/koitharu/kotatsu/tracker/domain/Tracker.kt | 2 +- .../koitharu/kotatsu/tracker/domain/TrackingRepository.kt | 2 +- .../org/koitharu/kotatsu/tracker/work/TrackWorker.kt | 7 +++---- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/src/debug/res/layout/item_track_debug.xml b/app/src/debug/res/layout/item_track_debug.xml index e9f7702d9..66eb54ee7 100644 --- a/app/src/debug/res/layout/item_track_debug.xml +++ b/app/src/debug/res/layout/item_track_debug.xml @@ -28,6 +28,7 @@ android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginEnd="8dp" + android:drawablePadding="8dp" android:ellipsize="end" android:maxLines="1" android:textAppearance="?attr/textAppearanceTitleSmall" @@ -43,7 +44,6 @@ android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginEnd="8dp" - android:drawablePadding="8dp" android:ellipsize="end" android:maxLines="1" android:textAppearance="?attr/textAppearanceBodySmall" diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/domain/Tracker.kt b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/domain/Tracker.kt index db4c768e0..ae64b77d7 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/domain/Tracker.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/domain/Tracker.kt @@ -28,7 +28,7 @@ class Tracker @Inject constructor( suspend fun getTracks(limit: Int): List { repository.updateTracks() - return repository.getTracks(0, limit).map { + return repository.getTracks(offset = 0, limit = limit).map { val categoryId = repository.getCategoryId(it.manga.id) TrackingItem( tracking = it, diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/domain/TrackingRepository.kt b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/domain/TrackingRepository.kt index 06a4999c9..63e8abcf0 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/domain/TrackingRepository.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/domain/TrackingRepository.kt @@ -82,7 +82,7 @@ class TrackingRepository @Inject constructor( } suspend fun getTracks(offset: Int, limit: Int): List { - return db.getTracksDao().findAll(offset, limit).map { + return db.getTracksDao().findAll(offset = offset, limit = limit).map { MangaTracking( manga = it.manga.toManga(emptySet()), lastChapterId = it.track.lastChapterId, diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/work/TrackWorker.kt b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/work/TrackWorker.kt index 3d6d46fee..93ee2e9b5 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/work/TrackWorker.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/work/TrackWorker.kt @@ -83,10 +83,10 @@ class TrackWorker @AssistedInject constructor( private val notificationManager by lazy { NotificationManagerCompat.from(applicationContext) } override suspend fun doWork(): Result { - trySetForeground() + val isForeground = trySetForeground() logger.log("doWork(): attempt $runAttemptCount") return try { - doWorkImpl(isFullRun = TAG_ONESHOT in tags) + doWorkImpl(isFullRun = isForeground && TAG_ONESHOT in tags) } catch (e: CancellationException) { throw e } catch (e: Throwable) { @@ -368,8 +368,7 @@ class TrackWorker @AssistedInject constructor( const val WORKER_NOTIFICATION_ID = 35 const val TAG = "tracking" const val TAG_ONESHOT = "tracking_oneshot" - const val MAX_PARALLELISM = 3 - const val MAX_ATTEMPTS = 3 + const val MAX_PARALLELISM = 6 const val DATA_KEY_SUCCESS = "success" const val DATA_KEY_FAILED = "failed" val BATCH_SIZE = if (BuildConfig.DEBUG) 20 else 46