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