From f20e5d864d2cb17ff2219da86ccf238be2027b26 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Sun, 6 Sep 2020 14:33:16 -0400 Subject: [PATCH] Move from kizitonwose time to kotlin duration --- app/build.gradle | 5 ----- app/src/main/java/eu/kanade/tachiyomi/App.kt | 6 ++++-- .../ui/setting/SettingsEhController.kt | 13 ++++++++----- .../main/java/exh/eh/EHentaiUpdateWorker.kt | 18 +++++++++++------- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e3f8df706..a44a98d0c 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -314,11 +314,6 @@ dependencies { // Better logging (EH) implementation 'com.elvishew:xlog:1.6.1' - // Time utils (EH) - final def typed_time_version = '1.0.4' - implementation "com.github.kizitonwose.time:time:$typed_time_version" - implementation "com.github.kizitonwose.time:time-android:$typed_time_version" - // Debug utils (EH) final def debug_overlay_version = '1.1.3' debugImplementation "com.ms-square:debugoverlay:$debug_overlay_version" diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index faec20aff..87e150f3a 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -26,7 +26,6 @@ import com.google.android.gms.security.ProviderInstaller import com.google.firebase.analytics.FirebaseAnalytics import com.google.firebase.analytics.ktx.analytics import com.google.firebase.ktx.Firebase -import com.kizitonwose.time.days import com.ms_square.debugoverlay.DebugOverlay import com.ms_square.debugoverlay.modules.FpsModule import eu.kanade.tachiyomi.data.notification.Notifications @@ -45,6 +44,8 @@ import java.security.NoSuchAlgorithmException import java.security.Security import javax.net.ssl.SSLContext import kotlin.concurrent.thread +import kotlin.time.ExperimentalTime +import kotlin.time.days import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import org.conscrypt.Conscrypt @@ -193,6 +194,7 @@ open class App : Application(), LifecycleObserver { "logs" ) + @OptIn(ExperimentalTime::class) printers += FilePrinter .Builder(logFolder.absolutePath) .fileNameGenerator(object : DateFileNameGenerator() { @@ -200,7 +202,7 @@ open class App : Application(), LifecycleObserver { return super.generateFileName(logLevel, timestamp) + "-${BuildConfig.BUILD_TYPE}.log" } }) - .cleanStrategy(FileLastModifiedCleanStrategy(7.days.inMilliseconds.longValue)) + .cleanStrategy(FileLastModifiedCleanStrategy(7.days.toLongMilliseconds())) .backupStrategy(NeverBackupStrategy()) .build() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsEhController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsEhController.kt index b0c8b9e12..ceff85920 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsEhController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsEhController.kt @@ -14,9 +14,6 @@ import com.bluelinelabs.conductor.RouterTransaction import com.bluelinelabs.conductor.changehandler.FadeChangeHandler import com.github.salomonbrys.kotson.fromJson import com.google.gson.Gson -import com.kizitonwose.time.Interval -import com.kizitonwose.time.days -import com.kizitonwose.time.hours import com.tfcporciuncula.flow.Preference import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.DatabaseHelper @@ -51,6 +48,10 @@ import exh.util.nullIfBlank import exh.util.trans import humanize.Humanize import java.util.Date +import kotlin.time.Duration +import kotlin.time.ExperimentalTime +import kotlin.time.days +import kotlin.time.hours import kotlinx.android.synthetic.main.eh_dialog_categories.view.artist_cg_checkbox import kotlinx.android.synthetic.main.eh_dialog_categories.view.asian_porn_checkbox import kotlinx.android.synthetic.main.eh_dialog_categories.view.cosplay_checkbox @@ -663,13 +664,15 @@ class SettingsEhController : SettingsController() { ?.raise() }.toList() - fun metaInRelativeDuration(duration: Interval<*>): Int { - val durationMs = duration.inMilliseconds.longValue + @OptIn(ExperimentalTime::class) + fun metaInRelativeDuration(duration: Duration): Int { + val durationMs = duration.toLongMilliseconds() return allMeta.asSequence().filter { System.currentTimeMillis() - it.lastUpdateCheck < durationMs }.count() } + @OptIn(ExperimentalTime::class) statsText + "\n\n" + context.getString( R.string.gallery_updater_stats_time, metaInRelativeDuration(1.hours), diff --git a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt index e8e419562..646560c18 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt @@ -9,8 +9,6 @@ import android.content.Context import android.os.Build import com.elvishew.xlog.XLog import com.google.gson.Gson -import com.kizitonwose.time.days -import com.kizitonwose.time.hours import eu.kanade.tachiyomi.data.database.DatabaseHelper import eu.kanade.tachiyomi.data.database.models.Chapter import eu.kanade.tachiyomi.data.database.models.Manga @@ -31,6 +29,9 @@ import exh.util.cancellable import exh.util.jobScheduler import java.util.ArrayList import kotlin.coroutines.CoroutineContext +import kotlin.time.ExperimentalTime +import kotlin.time.days +import kotlin.time.hours import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -284,7 +285,8 @@ class EHentaiUpdateWorker : JobService(), CoroutineScope { companion object { private const val MAX_UPDATE_FAILURES = 5 - private val MIN_BACKGROUND_UPDATE_FREQ = 1.days.inMilliseconds.longValue + @OptIn(ExperimentalTime::class) + private val MIN_BACKGROUND_UPDATE_FREQ = 1.days.toLongMilliseconds() private const val JOB_ID_UPDATE_BACKGROUND = 700000 private const val JOB_ID_UPDATE_BACKGROUND_TEST = 700001 @@ -352,14 +354,15 @@ class EHentaiUpdateWorker : JobService(), CoroutineScope { cancelBackground(context) val preferences = Injekt.get() - val interval = prefInterval ?: preferences.eh_autoUpdateFrequency().get() - if (interval > 0) { + val duration = prefInterval ?: preferences.eh_autoUpdateFrequency().get() + if (duration > 0) { val restrictions = preferences.eh_autoUpdateRequirements()!! val acRestriction = "ac" in restrictions val wifiRestriction = "wifi" in restrictions + @OptIn(ExperimentalTime::class) val jobInfo = context.periodicBackgroundJobInfo( - interval.hours.inMilliseconds.longValue, + duration.hours.toLongMilliseconds(), acRestriction, wifiRestriction ) @@ -382,5 +385,6 @@ data class UpdateEntry(val manga: Manga, val meta: EHentaiSearchMetadata, val ro object EHentaiUpdateWorkerConstants { const val UPDATES_PER_ITERATION = 50 - val GALLERY_AGE_TIME = 365.days.inMilliseconds.longValue + @OptIn(ExperimentalTime::class) + val GALLERY_AGE_TIME = 365.days.toLongMilliseconds() }