Show snackbar for some download status changes

This commit is contained in:
Gabriele M
2017-07-17 12:25:49 +02:00
parent b337452eeb
commit c1f0aab382
2 changed files with 21 additions and 0 deletions

View File

@@ -60,6 +60,10 @@
<string name="snack_no_updates_found">No new updates found</string>
<string name="snack_updates_check_failed">The update check failed. Please check your internet connection and try again later.</string>
<string name="snack_download_failed">The download failed. Please check your internet connection and try again later.</string>
<string name="snack_download_verification_failed">The update verification failed.</string>
<string name="snack_download_verified">Download completed.</string>
<string name="header_title_text">LineageOS\n%1$s</string>
<string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
<string name="header_last_updates_check">Last checked: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>

View File

@@ -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();
}