From e1e69d40222632034fd904ee72bbc2f08b3cdb66 Mon Sep 17 00:00:00 2001 From: X1nto Date: Sat, 8 Aug 2020 16:05:11 +0400 Subject: [PATCH] finalised root error handler --- .../java/com/vanced/manager/utils/AppUtils.kt | 18 +++++++++++++++++- app/src/main/res/values/strings.xml | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/vanced/manager/utils/AppUtils.kt b/app/src/main/java/com/vanced/manager/utils/AppUtils.kt index ebc1e6b4..52a89539 100644 --- a/app/src/main/java/com/vanced/manager/utils/AppUtils.kt +++ b/app/src/main/java/com/vanced/manager/utils/AppUtils.kt @@ -45,11 +45,27 @@ object AppUtils { fun sendFailure(error: MutableList, context: Context) { CoroutineScope(Dispatchers.IO).launch { val intent = Intent(HomeFragment.INSTALL_FAILED) - intent.putExtra("errorMsg", error.joinToString()) + intent.putExtra("errorMsg", getErrorMessage(error.joinToString(), context)) LocalBroadcastManager.getInstance(context).sendBroadcast(intent) } } + private fun getErrorMessage(status: String, context: Context): String { + return when { + status.contains("INSTALL_FAILED_ABORTED") -> context.getString(R.string.installation_aborted) + status.contains("INSTALL_FAILED_ALREADY_EXISTS") -> context.getString(R.string.installation_conflict) + status.contains("INSTALL_FAILED_CPU_ABI_INCOMPATIBLE") -> context.getString(R.string.installation_incompatible) + status.contains("INSTALL_FAILED_INSUFFICIENT_STORAGE") -> context.getString(R.string.installation_storage) + status.contains("INSTALL_FAILED_INVALID_APK") -> context.getString(R.string.installation_invalid) + status.contains("INSTALL_PARSE_FAILED_NO_CERTIFICATES") -> context.getString(R.string.installation_signature) + else -> + if (MiuiHelper.isMiui()) + context.getString(R.string.installation_miui) + else + context.getString(R.string.installation_failed) + } + } + private fun getErrorMessage(status: Int, context: Context): String { return when (status) { PackageInstaller.STATUS_FAILURE_ABORTED -> context.getString(R.string.installation_aborted) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 45a791dc..a24d484f 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -24,7 +24,7 @@ Operation failed for an unknown reason, please join our Telegram or Discord for support. Operation failed because the app is incompatible with your device. Operation failed because the apk files are invalid. - An unexpected error occurred while installing Vanced. Have you disabled apk signature verification? + Operation failed because the user didn\'t disable apk signature verification An unexpected error occurred while installing Vanced. Have you disabled MIUI Optimisations? Operation failed due to a storage error. Please wait until the installation finishes