Move from kizitonwose time to kotlin duration

This commit is contained in:
Jobobby04
2020-09-06 14:33:16 -04:00
parent d83f938e07
commit f20e5d864d
4 changed files with 23 additions and 19 deletions
+4 -2
View File
@@ -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()
@@ -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<EHentaiSearchMetadata>()
}.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),
@@ -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<PreferencesHelper>()
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()
}