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
.kotlin
out/*
*.iml
target

View File

@ -1,25 +1,5 @@
# 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
* `Version`:

View File

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

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
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
}
result.checkResults(
onFailure = {
if (prolongOnFailure) prolong()
},
onSuccess = {
if (prolongOnSuccess) prolong()
}
)
when (result) {
is Result.Failure -> if (prolongOnFailure) prolong()
is Result.Success -> if (prolongOnSuccess) prolong()
}
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
*/
suspend inline fun KronScheduler.doWhile(block: (DateTime) -> Boolean) {
var latest: DateTime? = null
do {
delay(1L)
val result = doOnce {
if (latest != it) {
latest = it
block(it)
} else {
null
}
}
} while (result == null || result)
} while (doOnce(block))
}
/**
* 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
*/
suspend inline fun KronScheduler.doWhileTz(noinline block: suspend (DateTimeTz) -> Boolean) {
var latest: DateTimeTz? = null
do {
delay(1L)
val result = doOnceTz {
if (latest != it) {
latest = it
block(it)
} else {
null
}
}
} while (result == null || result)
} while (doOnceTz(block))
}
/**