Compare commits

..

No commits in common. "master" and "v2.2.9" have entirely different histories.

7 changed files with 16 additions and 74 deletions

1
.gitignore vendored
View File

@ -1,5 +1,4 @@
.idea .idea
.kotlin
out/* out/*
*.iml *.iml
target target

View File

@ -1,25 +1,5 @@
# Changelog # Changelog
## 2.5.0
* `Version`:
* `Kotlin`: `2.0.20`
* `Coroutines`: `1.9.0`
* `Serialization`: `1.7.3`
## 2.4.0
* `Version`:
* `Kotlin`: `2.0.10`
* `Coroutines`: `1.8.1`
* `Serialization`: `1.7.1`
* `Klock`: `5.4.0`
* `AndroidXWork`: `2.9.1`
## 2.3.0
* `doWhile` now will guarantee that it will not call `doOnce` more than once for time
## 2.2.9 ## 2.2.9
* `Version`: * `Version`:

View File

@ -9,9 +9,9 @@ android.useAndroidX=true
android.enableJetifier=false android.enableJetifier=false
kotlin_version=2.0.20 kotlin_version=1.9.23
kotlin_coroutines_version=1.9.0 kotlin_coroutines_version=1.8.0
kotlin_serialization_version=1.7.3 kotlin_serialization_version=1.6.3
dokka_version=1.9.20 dokka_version=1.9.20
@ -23,18 +23,18 @@ github_release_plugin_version=2.5.2
## Android ## Android
android_gradle_version=8.2.2 android_gradle_version=8.1.4
android_minSdkVersion=21 android_minSdkVersion=21
android_compileSdkVersion=35 android_compileSdkVersion=34
android_buildToolsVersion=35.0.0 android_buildToolsVersion=34.0.0
dexcount_version=4.0.0 dexcount_version=4.0.0
junit_version=4.12 junit_version=4.12
test_ext_junit_version=1.1.3 test_ext_junit_version=1.1.3
espresso_core=3.4.0 espresso_core=3.4.0
androidx_work_version=2.9.1 androidx_work_version=2.9.0
## Common ## Common
version=2.5.0 version=2.2.9
android_code_version=42 android_code_version=39

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip

View File

@ -139,14 +139,10 @@ abstract class KronSchedulerWork(
} }
throw e throw e
} }
result.checkResults( when (result) {
onFailure = { is Result.Failure -> if (prolongOnFailure) prolong()
if (prolongOnFailure) prolong() is Result.Success -> if (prolongOnSuccess) prolong()
}, }
onSuccess = {
if (prolongOnSuccess) prolong()
}
)
return result return result
} }
} }

View File

@ -1,15 +0,0 @@
package dev.inmo.krontab
import android.annotation.SuppressLint
import androidx.work.ListenableWorker
@SuppressLint("RestrictedApi")
internal inline fun ListenableWorker.Result.checkResults(
onFailure: () -> Unit,
onSuccess: () -> Unit
) {
when (this) {
is ListenableWorker.Result.Failure -> onFailure()
is ListenableWorker.Result.Success -> onSuccess()
}
}

View File

@ -71,18 +71,9 @@ suspend inline fun <T> doOnceTz(
* Will execute [block] while it will return true as a result of its calculation * Will execute [block] while it will return true as a result of its calculation
*/ */
suspend inline fun KronScheduler.doWhile(block: (DateTime) -> Boolean) { suspend inline fun KronScheduler.doWhile(block: (DateTime) -> Boolean) {
var latest: DateTime? = null
do { do {
delay(1L) delay(1L)
val result = doOnce { } while (doOnce(block))
if (latest != it) {
latest = it
block(it)
} else {
null
}
}
} while (result == null || result)
} }
/** /**
* Will execute [block] while it will return true as a result of its calculation * Will execute [block] while it will return true as a result of its calculation
@ -94,18 +85,9 @@ suspend inline fun KronScheduler.doWhileLocal(block: (DateTime) -> Boolean) = do
* Will execute [block] while it will return true as a result of its calculation * Will execute [block] while it will return true as a result of its calculation
*/ */
suspend inline fun KronScheduler.doWhileTz(noinline block: suspend (DateTimeTz) -> Boolean) { suspend inline fun KronScheduler.doWhileTz(noinline block: suspend (DateTimeTz) -> Boolean) {
var latest: DateTimeTz? = null
do { do {
delay(1L) delay(1L)
val result = doOnceTz { } while (doOnceTz(block))
if (latest != it) {
latest = it
block(it)
} else {
null
}
}
} while (result == null || result)
} }
/** /**