diff --git a/.gitignore b/.gitignore index 7695475..e9dc09e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea +.kotlin out/* *.iml target diff --git a/CHANGELOG.md b/CHANGELOG.md index 36209b2..0835d70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ ## 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 diff --git a/gradle.properties b/gradle.properties index 2fb2c87..d0a9854 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,9 +9,9 @@ android.useAndroidX=true android.enableJetifier=false -kotlin_version=1.9.23 -kotlin_coroutines_version=1.8.0 -kotlin_serialization_version=1.6.3 +kotlin_version=2.0.10 +kotlin_coroutines_version=1.8.1 +kotlin_serialization_version=1.7.1 dokka_version=1.9.20 @@ -23,16 +23,16 @@ github_release_plugin_version=2.5.2 ## Android -android_gradle_version=8.1.4 +android_gradle_version=8.2.2 android_minSdkVersion=21 -android_compileSdkVersion=34 -android_buildToolsVersion=34.0.0 +android_compileSdkVersion=35 +android_buildToolsVersion=35.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.0 +androidx_work_version=2.9.1 ## Common diff --git a/src/androidMain/kotlin/KronSchedulerWork.kt b/src/androidMain/kotlin/KronSchedulerWork.kt index 09567e9..17c5b14 100644 --- a/src/androidMain/kotlin/KronSchedulerWork.kt +++ b/src/androidMain/kotlin/KronSchedulerWork.kt @@ -139,9 +139,12 @@ abstract class KronSchedulerWork( } throw e } - when (result) { - is Result.Failure -> if (prolongOnFailure) prolong() - is Result.Success -> if (prolongOnSuccess) prolong() + result.outputData + if (result.isSuccess()) { + if (prolongOnSuccess) prolong() + } + if (result.isFailure()) { + if (prolongOnFailure) prolong() } return result } diff --git a/src/androidMain/kotlin/ResultChecker.kt b/src/androidMain/kotlin/ResultChecker.kt new file mode 100644 index 0000000..5ed48ff --- /dev/null +++ b/src/androidMain/kotlin/ResultChecker.kt @@ -0,0 +1,10 @@ +package dev.inmo.krontab + +import android.annotation.SuppressLint +import androidx.work.ListenableWorker + +@SuppressLint("RestrictedApi") +internal fun ListenableWorker.Result.isSuccess() = this is ListenableWorker.Result.Success + +@SuppressLint("RestrictedApi") +internal fun ListenableWorker.Result.isFailure() = this is ListenableWorker.Result.Failure