From c1f0aab38277bfa6723de3e2a7f5c33fc4719e11 Mon Sep 17 00:00:00 2001 From: Gabriele M Date: Mon, 17 Jul 2017 12:25:49 +0200 Subject: [PATCH] Show snackbar for some download status changes --- res/values/strings.xml | 4 ++++ src/org/lineageos/updater/UpdatesActivity.java | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/res/values/strings.xml b/res/values/strings.xml index b9d0f398..0bbd280e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -60,6 +60,10 @@ No new updates found The update check failed. Please check your internet connection and try again later. + The download failed. Please check your internet connection and try again later. + The update verification failed. + Download completed. + LineageOS\n%1$s Android %1$s Last checked: %1$s (%2$s) diff --git a/src/org/lineageos/updater/UpdatesActivity.java b/src/org/lineageos/updater/UpdatesActivity.java index 1ef6f8fa..26279daa 100644 --- a/src/org/lineageos/updater/UpdatesActivity.java +++ b/src/org/lineageos/updater/UpdatesActivity.java @@ -88,6 +88,8 @@ public class UpdatesActivity extends AppCompatActivity { @Override public void onReceive(Context context, Intent intent) { if (UpdaterController.ACTION_UPDATE_STATUS.equals(intent.getAction())) { + String downloadId = intent.getStringExtra(UpdaterController.EXTRA_DOWNLOAD_ID); + handleDownloadStatusChange(downloadId); mAdapter.notifyDataSetChanged(); } else if (UpdaterController.ACTION_DOWNLOAD_PROGRESS.equals(intent.getAction()) || UpdaterController.ACTION_INSTALL_PROGRESS.equals(intent.getAction())) { @@ -367,6 +369,21 @@ public class UpdatesActivity extends AppCompatActivity { headerLastCheck.setText(lastCheckString); } + private void handleDownloadStatusChange(String downloadId) { + UpdateDownload update = mUpdaterService.getUpdaterController().getUpdate(downloadId); + switch (update.getStatus()) { + case PAUSED_ERROR: + showSnackBar(R.string.snack_download_failed, Snackbar.LENGTH_LONG); + break; + case VERIFICATION_FAILED: + showSnackBar(R.string.snack_download_verification_failed, Snackbar.LENGTH_LONG); + break; + case VERIFIED: + showSnackBar(R.string.snack_download_verified, Snackbar.LENGTH_LONG); + break; + } + } + private void showSnackBar(int stringId, int duration) { Snackbar.make(findViewById(R.id.main_container), stringId, duration).show(); }