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

View File

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

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()

View File

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

View File

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