diff --git a/app/src/main/kotlin/com/aliucord/manager/manager/download/IDownloadManager.kt b/app/src/main/kotlin/com/aliucord/manager/manager/download/IDownloadManager.kt index a00ec24..9394795 100644 --- a/app/src/main/kotlin/com/aliucord/manager/manager/download/IDownloadManager.kt +++ b/app/src/main/kotlin/com/aliucord/manager/manager/download/IDownloadManager.kt @@ -59,6 +59,11 @@ interface IDownloadManager { * If null is returned, then the [getDebugReason] will be used instead. */ open fun getLocalizedReason(context: Context): String? = null + + /** + * Gets the underlying raw error (if available). + */ + open fun getError(): Throwable? = null } } } diff --git a/app/src/main/kotlin/com/aliucord/manager/manager/download/KtorDownloadManager.kt b/app/src/main/kotlin/com/aliucord/manager/manager/download/KtorDownloadManager.kt index bc54407..0ec01ce 100644 --- a/app/src/main/kotlin/com/aliucord/manager/manager/download/KtorDownloadManager.kt +++ b/app/src/main/kotlin/com/aliucord/manager/manager/download/KtorDownloadManager.kt @@ -117,7 +117,7 @@ class KtorDownloadManager( ) : Result.Error() { override fun toString(): String = error.stackTraceToString() override fun getDebugReason(): String = error.message ?: "Unknown exception" - override fun getLocalizedReason(context: Context): String? = - localizedError?.let(context::getString) + override fun getLocalizedReason(context: Context): String? = localizedError?.let(context::getString) + override fun getError(): Throwable? = error } } diff --git a/app/src/main/kotlin/com/aliucord/manager/network/services/AliucordGithubService.kt b/app/src/main/kotlin/com/aliucord/manager/network/services/AliucordGithubService.kt index de48876..d82f421 100644 --- a/app/src/main/kotlin/com/aliucord/manager/network/services/AliucordGithubService.kt +++ b/app/src/main/kotlin/com/aliucord/manager/network/services/AliucordGithubService.kt @@ -38,5 +38,6 @@ class AliucordGithubService( const val MANAGER_REPO = "Manager" const val DATA_JSON_URL = "https://raw.githubusercontent.com/$ORG/$MAIN_REPO/builds/data.json" + const val LATEST_RELEASE_HTML_URL = "https://github.com/$ORG/$MANAGER_REPO/releases/latest" } } diff --git a/app/src/main/kotlin/com/aliucord/manager/ui/widgets/updater/UpdaterViewModel.kt b/app/src/main/kotlin/com/aliucord/manager/ui/widgets/updater/UpdaterViewModel.kt index 082d2c3..73fe3d8 100644 --- a/app/src/main/kotlin/com/aliucord/manager/ui/widgets/updater/UpdaterViewModel.kt +++ b/app/src/main/kotlin/com/aliucord/manager/ui/widgets/updater/UpdaterViewModel.kt @@ -1,8 +1,10 @@ package com.aliucord.manager.ui.widgets.updater import android.app.Application +import android.content.Intent import android.util.Log import androidx.compose.runtime.* +import androidx.core.net.toUri import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.aliucord.manager.BuildConfig @@ -10,6 +12,7 @@ import com.aliucord.manager.R import com.aliucord.manager.installers.InstallerResult import com.aliucord.manager.manager.InstallerManager import com.aliucord.manager.manager.InstallerSetting +import com.aliucord.manager.manager.download.IDownloadManager import com.aliucord.manager.manager.download.KtorDownloadManager import com.aliucord.manager.network.services.AliucordGithubService import com.aliucord.manager.network.utils.SemVer @@ -39,7 +42,7 @@ class UpdaterViewModel( fetchInfo() } catch (t: Throwable) { Log.e(BuildConfig.TAG, "Failed to check for updates!", t) - application.showToast(R.string.updater_fail) + application.showToast(R.string.updater_check_fail) } } } @@ -55,31 +58,60 @@ class UpdaterViewModel( viewModelScope.launch { isWorking = true - val apkFile = application.cacheDir.resolve("manager.apk").apply { delete() } - val installer = installers.getInstaller(InstallerSetting.PM) + val apkFile = application.cacheDir.resolve("manager.apk") - downloader.download(url, apkFile) - - val installResult = installer.waitInstall( - apks = listOf(apkFile), - silent = true, - ) - - when (installResult) { - InstallerResult.Success -> { - Log.w(BuildConfig.TAG, "Update completed without restarting app!") - exitProcess(1) + try { + apkFile.apply { + parentFile!!.mkdirs() + exists() && delete() } - is InstallerResult.Cancelled -> - Log.i(BuildConfig.TAG, "Update cancelled") + val installer = installers.getInstaller(InstallerSetting.PM) - is InstallerResult.Error -> - Log.e(BuildConfig.TAG, "Failed to update: ${installResult.getDebugReason()}") + when (val downloadResult = downloader.download(url, apkFile)) { + is IDownloadManager.Result.Success -> + Log.d(BuildConfig.TAG, "Downloaded update") + + is IDownloadManager.Result.Cancelled -> { + Log.i(BuildConfig.TAG, "Update cancelled") + return@launch + } + + is IDownloadManager.Result.Error -> + throw IllegalStateException("Failed to download update: ${downloadResult.getDebugReason()}", downloadResult.getError()) + } + + val installResult = installer.waitInstall( + apks = listOf(apkFile), + silent = true, + ) + + when (installResult) { + InstallerResult.Success -> { + Log.w(BuildConfig.TAG, "Update completed without restarting app!") + exitProcess(1) + } + + is InstallerResult.Cancelled -> + Log.i(BuildConfig.TAG, "Update cancelled") + + is InstallerResult.Error -> + throw Exception("Failed to install update: ${installResult.getDebugReason()}") + } + } catch (t: Throwable) { + Log.e(BuildConfig.TAG, "Failed to perform update!") + t.printStackTrace() + application.showToast(R.string.updater_update_fail) + launchReleasesPage() + } finally { + isWorking = false + + try { + apkFile.apply { exists() && delete() } + } catch (t: Throwable) { + Log.w(BuildConfig.TAG, "Failed to clean up installed update!", t) + } } - - apkFile.delete() - isWorking = false } } @@ -124,4 +156,14 @@ class UpdaterViewModel( showDialog = true Log.d(BuildConfig.TAG, "Found an update! $targetVersion $targetApkUrl") } + + private fun launchReleasesPage() { + try { + Intent(Intent.ACTION_VIEW, AliucordGithubService.LATEST_RELEASE_HTML_URL.toUri()) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + .also(application::startActivity) + } catch (t: Throwable) { + Log.w(BuildConfig.TAG, "Failed to open latest Github release in browser!", t) + } + } } diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index dc11768..bac78a1 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-ar-rSA/strings.xml b/app/src/main/res/values-ar-rSA/strings.xml index 6ff1312..eb92a96 100644 --- a/app/src/main/res/values-ar-rSA/strings.xml +++ b/app/src/main/res/values-ar-rSA/strings.xml @@ -127,8 +127,8 @@ هل تريد الخروج؟ Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. تم إصدار تحديث جديد لمدير Aliucord Manager! قد تكون مطلوبة من أجل العمل بشكل صحيح. هل ترغب في التحديث؟ - تم التحديث الي %1$s - فشل في التحقق من وجود تحديثات + تم التحديث الي v%s + فشل في التحقق من وجود تحديثات فشل التنزيل (مجهول) فشل التنزيل (المهلة) فشل التحميل (استجابة غير صالحة) diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index dc11768..bac78a1 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index dc11768..bac78a1 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index fee1762..9613140 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -127,8 +127,8 @@ Afslut, sikker? Sikker på, at den igangværende installation skal afbrydes? Ny opdatering udgivet! Den kan være nødvendig for korrekt funktion af Aliucord Manager. Opdatér? - Opdatér til %1$s - Failed to check for updates! + Opdatér til v%s + Failed to check for updates! Download mislykkedes (ukendt) Download mislykkedes (timeout) Download mislykkedes (ugyldigt svar) diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index cbd7eeb..ef0da9a 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index fab7080..317d808 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -127,8 +127,8 @@ Έξοδος σίγουρα; Είστε βέβαιοι ότι θέλετε να ακυρώσετε μια σε εξέλιξη εγκατάσταση; Τα προσωρινά αποθηκευμένα αρχεία θα καθαριστούν για να αποφευχθεί η διαφθορά. Μια νέα ενημέρωση έχει κυκλοφορήσει για το Aliucord Manager! Μπορεί να απαιτείται για να λειτουργήσει σωστά. Θα θέλατε να ενημερώσετε; - Ενημέρωση σε %1$s - Failed to check for updates! + Ενημέρωση σε v%s + Failed to check for updates! Αποτυχία λήψης (Άγνωστη) Download failed (Timeout) Αποτυχία λήψης (Μη έγκυρη απάντηση) diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index cf773b5..6d6f731 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -127,8 +127,8 @@ ¿Seguro que quieres salir? ¿Seguro de que realmente quieres abortar una instalación en progreso? ¡Se ha publicado una nueva actualización para Aliucord Manager! Puede que sea necesaria para funcionar correctamente. ¿Quieres actualizar? - Actualizada a %1$s - Failed to check for updates! + Actualizada a v%s + Failed to check for updates! Descarga fallida (desconocida) Download failed (Timeout) Descarga fallida (respuesta no válida) diff --git a/app/src/main/res/values-fi-rFI/strings.xml b/app/src/main/res/values-fi-rFI/strings.xml index dc11768..bac78a1 100644 --- a/app/src/main/res/values-fi-rFI/strings.xml +++ b/app/src/main/res/values-fi-rFI/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index b9ce165..30fc141 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. Une nouvelle mise à jour a été publiée pour Aliucord Manager ! Elle peut être nécessaire pour fonctionner correctement. Voulez-vous faire la mise à jour ? - Mettre à jour vers %1$s - Failed to check for updates! + Mettre à jour vers v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 6f7489b..703aa77 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index b4c4600..e7cf22a 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml index c0d097b..3ed1465 100644 --- a/app/src/main/res/values-in-rID/strings.xml +++ b/app/src/main/res/values-in-rID/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. Perbaruan baru sudah dirilis untuk Aliucord Manager! Itu mungkin diperlukan untuk berfungsi dengan baik. Apakah kamu ingin perbarui? - Diperbarui ke %1$s - Failed to check for updates! + Diperbarui ke v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index cf294e3..f72e665 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index c82f7a3..c9b2cb8 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index a35f02d..bb6c619 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -128,8 +128,8 @@ 本当に終了しますか? 本当に進行中のインストールを中止してもよろしいですか? Aliucord Managerの新しいアップデートがリリースされました!正常に機能するために必要な場合があります。アップデートしますか? - %1$sへ更新 - Failed to check for updates! + v%sへ更新 + Failed to check for updates! ダウンロードに失敗しました (不明) Download failed (Timeout) ダウンロードに失敗しました (無効な応答) diff --git a/app/src/main/res/values-kaa/strings.xml b/app/src/main/res/values-kaa/strings.xml index e583069..38e76c7 100644 --- a/app/src/main/res/values-kaa/strings.xml +++ b/app/src/main/res/values-kaa/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 9512453..78585c3 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -127,8 +127,8 @@ 정말 나가실 건가요? 진행 중인 설치를 중단할까요? Aliucord Manager의 새로운 업데이트가 출시됐어요! 제대로 작동하려면 업데이트가 필요할지도 몰라요. 업데이트할까요? - %1$s(으)로 업데이트했어요 - Failed to check for updates! + v%s(으)로 업데이트했어요 + Failed to check for updates! 다운로드 실패 (알 수 없음) Download failed (Timeout) 다운로드 실패 (잘못된 응답) diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index add0076..06c5e7d 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index dc11768..bac78a1 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index e33f6ab..efc40de 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. Nowa aktualizacja dla Menadżera Aliucorda! Może być wymagana do prawidłowego działania. Czy chcesz zaktualizować? - Aktualizowanie do %1$s - Nie udało się sprawdzić aktualizacji! + Aktualizowanie do v%s + Nie udało się sprawdzić aktualizacji! Pobieranie nie powiodło się (Powód nieznany) Pobieranie nie powiodło się (Upłynął limit czasu) Pobieranie nie powiodło się (Nieprawidłowa odpowiedź) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 439ab82..5bd8004 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -127,8 +127,8 @@ Deseja realmente sair? Tem certeza que deseja cancelar uma instalação em andamento? Uma nova atualização foi lançada para o Aliucord Manager! Ela pode ser necessária para funcionar corretamente. Gostaria de atualizar? - Atualizado para %1$s - Falha ao checar atualizações + Atualizado para v%s + Falha ao checar atualizações Download falhou (Desconhecido) Falha no Download (tempo esgotado) Download falhou (Resposta inválida) diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 75d8d47..842add4 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -127,8 +127,8 @@ Deseja realmente sair? Tem a certeza que deseja abortar a instalação em progresso? Foi lançada uma nova atualização pelo Aliucord Manager! A sua atualização será necessária de modo que a aplicação funcione corretamente. Gostaria de atualizar? - Atualizado para %1$s - Failed to check for updates! + Atualizado para v%s + Failed to check for updates! O download falhou (Desconhecido) Download failed (Timeout) O download falhou (resposta inválida) diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index 41b856d..137ddfd 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index a0164c8..52580f1 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -127,8 +127,8 @@ Действительно выйти? Вы уверены, что действительно хотите прервать начатую установку? Вышло новое обновление для Aliucord Менеджера! Оно может быть обязательным для правильной работы. Желаете ли вы обновиться? - Обновить до %1$s - Не удалось проверить наличие обновлений! + Обновить до v%s + Не удалось проверить наличие обновлений! Загрузка не удалась (Неизвестно) Сбой загрузки (таймаут) Загрузка не удалась (Неверный ответ) diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index dc11768..bac78a1 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-th-rTH/strings.xml b/app/src/main/res/values-th-rTH/strings.xml index a035412..00ea52b 100644 --- a/app/src/main/res/values-th-rTH/strings.xml +++ b/app/src/main/res/values-th-rTH/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-tl-rPH/strings.xml b/app/src/main/res/values-tl-rPH/strings.xml index a035412..00ea52b 100644 --- a/app/src/main/res/values-tl-rPH/strings.xml +++ b/app/src/main/res/values-tl-rPH/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index c768796..b8ce913 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -128,8 +128,8 @@ lütfen silin! Gerçekten çıkış yapmak istiyor musun? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. Aliucord Yöneticisi için yeni bir güncelleme yayınlandı! Düzgün çalışması için gerekli olabilir. Güncellemek ister misin? - %1$s\'a Güncelle - Güncellemeler kontrol edilemedi! + v%s\'a Güncelle + Güncellemeler kontrol edilemedi! İndirme başarısız (Bilinmiyor) İndirme başarısız (Zamanaşımı) İndirme başarısız (İletişim sorunu) diff --git a/app/src/main/res/values-uk-rUA/strings.xml b/app/src/main/res/values-uk-rUA/strings.xml index dc11768..bac78a1 100644 --- a/app/src/main/res/values-uk-rUA/strings.xml +++ b/app/src/main/res/values-uk-rUA/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-vi-rVN/strings.xml b/app/src/main/res/values-vi-rVN/strings.xml index 69546a0..b90ff3b 100644 --- a/app/src/main/res/values-vi-rVN/strings.xml +++ b/app/src/main/res/values-vi-rVN/strings.xml @@ -127,8 +127,8 @@ Really exit? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. Một bản cập nhật mới đã được phát hành cho Aliucord Manager! Nó cần cập nhật để hoạt động đúng. Bạn có muốn cập nhật không? - Cập nhật: %1$s - Failed to check for updates! + Cập nhật: v%s + Failed to check for updates! Download failed (Unknown) Download failed (Timeout) Download failed (Invalid response) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 138dc7d..2e11aad 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -127,8 +127,8 @@ 真的要退出吗? 您确定要中止正在进行的安装吗? Aliucord 管理器已发布新更新!可能需要此更新才能正常运行。您想更新吗? - 更新到 %1$s - Failed to check for updates! + 更新到 v%s + Failed to check for updates! 下载失败(未知) Download failed (Timeout) 下载失败(无效响应) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 473d52b..0355db0 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -127,8 +127,8 @@ 確定離開? Are you sure you really want to abort an in-progress installation? Cached files will be cleared to avoid corruption. Aliucord Manager 已發布新更新!Aliucord Manager 可能需要它才能正常運行。您想更新嗎? - 更新到 %1$s - Failed to check for updates! + 更新到 v%s + Failed to check for updates! 無法下載(未知) Download failed (Timeout) 無法下載(無效的回應) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7b1bad1..6f73ab3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -147,8 +147,9 @@ Are you sure you really want to abort an in-progress installation? A new update has been released for Aliucord Manager! It may be required in order to function properly. Would you like to update? - Update to %1$s - Failed to check for updates! + Update to v%s + Failed to check for updates! + Failed to update! Please download and install the update manually! Download failed (Unknown) Download failed (Timeout)