diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0c45f1f..3e2950b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,8 +14,8 @@ android { applicationId = "dev.beefers.vendetta.manager" minSdk = 24 targetSdk = 33 - versionCode = 1050 - versionName = "1.0.5" + versionCode = 1060 + versionName = "1.0.6" buildConfigField("String", "GIT_BRANCH", "\"${getCurrentBranch()}\"") buildConfigField("String", "GIT_COMMIT", "\"${getLatestCommit()}\"") diff --git a/app/src/main/java/dev/beefers/vendetta/manager/installer/service/InstallService.kt b/app/src/main/java/dev/beefers/vendetta/manager/installer/service/InstallService.kt index aea4bd9..290e7f7 100644 --- a/app/src/main/java/dev/beefers/vendetta/manager/installer/service/InstallService.kt +++ b/app/src/main/java/dev/beefers/vendetta/manager/installer/service/InstallService.kt @@ -9,6 +9,16 @@ import dev.beefers.vendetta.manager.utils.showToast class InstallService : Service() { + private val messages = mapOf( + PackageInstaller.STATUS_FAILURE to R.string.install_fail_generic, + PackageInstaller.STATUS_FAILURE_BLOCKED to R.string.install_fail_blocked, + PackageInstaller.STATUS_FAILURE_INVALID to R.string.install_fail_invalid, + PackageInstaller.STATUS_FAILURE_CONFLICT to R.string.install_fail_conflict, + PackageInstaller.STATUS_FAILURE_STORAGE to R.string.install_fail_storage, + PackageInstaller.STATUS_FAILURE_INCOMPATIBLE to R.string.install_fail_incompatible, + 8 /* STATUS_FAILURE_TIMEOUT (Added in Android 14) */ to R.string.install_fail_timeout + ) + override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int { val isInstall = intent.action == "vendetta.actions.ACTION_INSTALL" when (val statusCode = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, -999)) { @@ -25,7 +35,7 @@ class InstallService : Service() { PackageInstaller.STATUS_FAILURE_ABORTED -> if (isInstall) showToast(R.string.installer_aborted) else -> { - if (isInstall) showToast(R.string.installer_failed, statusCode) + if (isInstall) messages[statusCode]?.let(::showToast) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0b04773..8eb25b6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -30,7 +30,14 @@ Installed successfully Install canceled - Failed to install: %d + + Failed to install: Unknown reason + Installation was blocked + One or more APKs were invalid or corrupt + Conflicts with an existing app, usually due to mismatched signatures + Not enough available storage to install + Application is incompatible with this device + Installation timed out Ongoing Successful