Document Android debug-signed rollout policy
This commit is contained in:
+12
-1
@@ -123,6 +123,15 @@ class AppUpdateManager(private val fragment: Fragment) {
|
||||
}
|
||||
|
||||
private fun showErrorDialog(context: Context, error: Throwable) {
|
||||
if (error is SignatureMismatchException) {
|
||||
AlertDialog.Builder(context)
|
||||
.setTitle(R.string.update_reinstall_required_title)
|
||||
.setMessage(R.string.update_reinstall_required_message)
|
||||
.setPositiveButton(android.R.string.ok, null)
|
||||
.show()
|
||||
return
|
||||
}
|
||||
|
||||
AlertDialog.Builder(context)
|
||||
.setTitle(R.string.common_error)
|
||||
.setMessage(context.getString(R.string.update_error, error.message ?: error.javaClass.simpleName))
|
||||
@@ -216,7 +225,7 @@ class AppUpdateManager(private val fragment: Fragment) {
|
||||
}
|
||||
|
||||
if (!hasTrustedSignature(context, downloadedPackageInfo)) {
|
||||
error(context.getString(R.string.update_signature_error))
|
||||
throw SignatureMismatchException(context.getString(R.string.update_signature_error))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -324,6 +333,8 @@ class AppUpdateManager(private val fragment: Fragment) {
|
||||
val sha256: String
|
||||
)
|
||||
|
||||
private class SignatureMismatchException(message: String) : IllegalStateException(message)
|
||||
|
||||
companion object {
|
||||
private const val ARGUS_BASE_URL = "https://argus.kusoft.xyz"
|
||||
private const val ARGUS_MANIFEST_URL =
|
||||
|
||||
@@ -123,6 +123,8 @@
|
||||
<string name="update_version_error">Скачанное обновление не новее установленного приложения.</string>
|
||||
<string name="update_metadata_error">Скачанное обновление не совпадает с метаданными релиза в Аргус.</string>
|
||||
<string name="update_signature_error">Скачанное обновление подписано не сертификатом установленного приложения.</string>
|
||||
<string name="update_reinstall_required_title">Требуется переустановка</string>
|
||||
<string name="update_reinstall_required_message">Эта установленная сборка подписана другим сертификатом, чем текущий релиз QSfera в Аргус. Android не может обновить её поверх установленной. Сохраните несинхронизированные файлы, удалите эту сборку и установите QSfera из Аргус.</string>
|
||||
<string name="update_apk_parse_error">Скачанное обновление не удалось прочитать как Android-пакет.</string>
|
||||
<string name="update_release_not_found">Последний Android-релиз не найден.</string>
|
||||
<string name="pattern_enter_pattern">Пожалуйста, введите графический ключ</string>
|
||||
|
||||
@@ -125,6 +125,8 @@
|
||||
<string name="update_version_error">Downloaded update is not newer than the installed app.</string>
|
||||
<string name="update_metadata_error">Downloaded update does not match Argus release metadata.</string>
|
||||
<string name="update_signature_error">Downloaded update is not signed with the installed app certificate.</string>
|
||||
<string name="update_reinstall_required_title">Reinstall required</string>
|
||||
<string name="update_reinstall_required_message">This installed build was signed with a different certificate than the current QSfera release in Argus. Android cannot update it in place. Back up unsynced files, uninstall this build, then install QSfera from Argus.</string>
|
||||
<string name="update_apk_parse_error">Downloaded update could not be read as an Android package.</string>
|
||||
<string name="update_release_not_found">Latest Android release was not found.</string>
|
||||
<string name="pattern_enter_pattern">Please enter your pattern</string>
|
||||
|
||||
Reference in New Issue
Block a user