feat(InstallService): translatable install error messages

This commit is contained in:
rushiiMachine 2024-01-12 14:54:27 -08:00
parent 71e35ead5b
commit 4617e5ec56
No known key found for this signature in database
GPG key ID: DCBE5952BB3B6420
2 changed files with 25 additions and 1 deletions

View file

@ -10,6 +10,16 @@ import com.aliucord.manager.R
import com.aliucord.manager.util.showToast
class InstallService : Service() {
private val errorMessages = mapOf(
PackageInstaller.STATUS_FAILURE to R.string.install_error_unknown,
PackageInstaller.STATUS_FAILURE_BLOCKED to R.string.install_error_blocked,
PackageInstaller.STATUS_FAILURE_INVALID to R.string.install_error_invalid,
PackageInstaller.STATUS_FAILURE_CONFLICT to R.string.install_error_conflict,
PackageInstaller.STATUS_FAILURE_STORAGE to R.string.install_error_storage,
PackageInstaller.STATUS_FAILURE_INCOMPATIBLE to R.string.install_error_incompatible,
PackageInstaller.STATUS_FAILURE_TIMEOUT to R.string.install_error_timeout
)
override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int {
when (val statusCode = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, -999)) {
PackageInstaller.STATUS_PENDING_USER_ACTION -> {
@ -25,7 +35,12 @@ class InstallService : Service() {
else -> {
Log.i(BuildConfig.TAG, "Install failed with error code $statusCode")
showToast(R.string.installer_failed, statusCode)
if (errorMessages[statusCode] != null) {
showToast(errorMessages[statusCode]!!)
} else {
showToast(R.string.install_error_code, statusCode)
}
}
}

View file

@ -107,6 +107,15 @@
<string name="installer_failed">Installation failed with error %o</string>
<string name="installer_uninstall_new">Please uninstall your current version of Aliucord in order to continue!</string>
<string name="install_error_unknown">Failed to install (Unknown reason)</string>
<string name="install_error_code">Failed to install (error code %d)</string>
<string name="install_error_blocked">Installation was blocked</string>
<string name="install_error_invalid">One or more APKs were invalid or corrupt</string>
<string name="install_error_conflict">Conflicts with an existing app, usually due to mismatched signatures</string>
<string name="install_error_storage">Not enough available storage to install</string>
<string name="install_error_incompatible">Application is incompatible with this device</string>
<string name="install_error_timeout">Installation timed out</string>
<string name="install_group_apk_dl">Download APKs</string>
<string name="install_group_lib_dl">Download Libraries</string>
<string name="install_group_patch">Patch APKs</string>