From 848b297d3107190be6e1fdba87fca881e70ffd20 Mon Sep 17 00:00:00 2001 From: Lennoard Date: Wed, 20 Aug 2025 22:09:49 -0300 Subject: [PATCH 1/3] bugfix: improve StartUpWorker reliability Signed-off-by: Lennoard --- .../com/androidvip/sysctlgui/work/StartUpWorker.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/androidvip/sysctlgui/work/StartUpWorker.kt b/app/src/main/kotlin/com/androidvip/sysctlgui/work/StartUpWorker.kt index 05e18e0..48dcab1 100644 --- a/app/src/main/kotlin/com/androidvip/sysctlgui/work/StartUpWorker.kt +++ b/app/src/main/kotlin/com/androidvip/sysctlgui/work/StartUpWorker.kt @@ -23,6 +23,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.delay import kotlinx.coroutines.withContext +import kotlinx.coroutines.withTimeoutOrNull import org.koin.core.component.KoinComponent import org.koin.core.component.inject import kotlin.time.Duration.Companion.seconds @@ -31,7 +32,7 @@ class StartUpWorker( private val context: Context, workerParams: WorkerParameters ) : CoroutineWorker(context, workerParams), KoinComponent { - private val mainContext = Dispatchers.Main + SupervisorJob() + private val mainContext = Dispatchers.Main.immediate + SupervisorJob() private val workerContext = Dispatchers.Default private val appPrefs: AppPrefs by inject() private val rootUtils: RootUtils by inject() @@ -57,7 +58,6 @@ class StartUpWorker( } } - return Result.success() } @@ -71,7 +71,10 @@ class StartUpWorker( } private suspend fun checkRequirements(): Boolean { - return appPrefs.runOnStartUp && rootUtils.isRootAvailable() + return withTimeoutOrNull(5.seconds) { + rootUtils.getRootShell() + appPrefs.runOnStartUp && rootUtils.isRootAvailable() + } ?: false } private suspend inline fun showNotificationAndThen( @@ -137,7 +140,6 @@ class StartUpWorker( delayCount++ } } - } else { builder.setContentText(context.getString(R.string.notification_start_up_description)) notifyIfPossible(builder) @@ -152,7 +154,7 @@ class StartUpWorker( ) == PackageManager.PERMISSION_GRANTED || Build.VERSION.SDK_INT <= Build.VERSION_CODES.TIRAMISU ) { - runCatching { notificationManager.notify(SERVICE_ID, builder.build()) }.onFailure { it.printStackTrace() } + runCatching { notificationManager.notify(SERVICE_ID, builder.build()) } } } From 49cc3c345a2b7e247078bd484d807747a6932c45 Mon Sep 17 00:00:00 2001 From: Lennoard Date: Wed, 20 Aug 2025 22:16:10 -0300 Subject: [PATCH 2/3] feat: add per-app language support Signed-off-by: Lennoard --- app/src/main/AndroidManifest.xml | 3 ++- app/src/main/res/xml/locales_config.xml | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/xml/locales_config.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9282f21..fd86768 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,12 +15,13 @@ + + + + + + From a4eea530c154eccecfb25fce401f2766df5a1d96 Mon Sep 17 00:00:00 2001 From: Lennoard Date: Wed, 20 Aug 2025 22:23:00 -0300 Subject: [PATCH 3/3] release: [3.0.1] versionCode 20 Signed-off-by: Lennoard --- app/build.gradle.kts | 4 ++-- buildSrc/src/main/kotlin/AppConfig.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f94244f..f16316f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -17,8 +17,8 @@ android { applicationId = AppConfig.appId minSdk = AppConfig.minSdkVersion targetSdk = AppConfig.targetSdkVersion - versionCode = 17 - versionName = "3.0.0" + versionCode = 20 + versionName = "3.0.1" vectorDrawables.useSupportLibrary = true androidResources { localeFilters += listOf("en", "de", "pt-rBR", "tr") diff --git a/buildSrc/src/main/kotlin/AppConfig.kt b/buildSrc/src/main/kotlin/AppConfig.kt index 3e47b91..96b8afa 100644 --- a/buildSrc/src/main/kotlin/AppConfig.kt +++ b/buildSrc/src/main/kotlin/AppConfig.kt @@ -1,5 +1,5 @@ object AppConfig { - val devCycle = true + val devCycle = false const val appId = "com.androidvip.sysctlgui" const val compileSdkVersion = 36