From f617402f323b15ecf680dbe461ecc180fa2dd232 Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Wed, 31 May 2017 09:43:05 +1000 Subject: [PATCH] Remove PendingDownload in favour of Downloading The response to receiving PendingDownload was always a more specific case of the Downloading event. By removing it, the code which was listening for Downloading events is capable of doing everything that the PendingDownloading listeners were doing. --- .../java/org/fdroid/fdroid/AppDetails2.java | 8 ++----- .../fdroid/fdroid/AppUpdateStatusManager.java | 4 ---- .../org/fdroid/fdroid/NotificationHelper.java | 1 - .../installer/InstallManagerService.java | 2 +- .../views/apps/AppListItemController.java | 24 ++----------------- .../fdroid/views/updates/UpdatesAdapter.java | 3 +-- 6 files changed, 6 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/AppDetails2.java b/app/src/main/java/org/fdroid/fdroid/AppDetails2.java index 29e88242f..71d09d26f 100644 --- a/app/src/main/java/org/fdroid/fdroid/AppDetails2.java +++ b/app/src/main/java/org/fdroid/fdroid/AppDetails2.java @@ -480,14 +480,10 @@ public class AppDetails2 extends AppCompatActivity implements ShareChooserDialog } switch (newStatus.status) { - case PendingDownload: - adapter.setProgress(-1, -1, R.string.download_pending); - break; - case Downloading: if (newStatus.progressMax == 0) { // The first progress notification we get telling us our status is "Downloading" - adapter.setProgress(-1, -1, 0); + adapter.setProgress(-1, -1, R.string.download_pending); } else { adapter.setProgress(newStatus.progressCurrent, newStatus.progressMax, 0); } @@ -691,7 +687,7 @@ public class AppDetails2 extends AppCompatActivity implements ShareChooserDialog @Override public boolean isAppDownloading() { - return currentStatus != null && currentStatus.isDownloading(); + return currentStatus != null && currentStatus.status == AppUpdateStatusManager.Status.Downloading; } @Override diff --git a/app/src/main/java/org/fdroid/fdroid/AppUpdateStatusManager.java b/app/src/main/java/org/fdroid/fdroid/AppUpdateStatusManager.java index 453516771..31acaa2bf 100644 --- a/app/src/main/java/org/fdroid/fdroid/AppUpdateStatusManager.java +++ b/app/src/main/java/org/fdroid/fdroid/AppUpdateStatusManager.java @@ -184,10 +184,6 @@ public final class AppUpdateStatusManager { copy.progressMax = progressMax; return copy; } - - public boolean isDownloading() { - return status == Status.Downloading || status == Status.PendingDownload; - } } private final Context context; diff --git a/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java b/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java index 7c2baf1ee..a9d9fd4b7 100644 --- a/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java @@ -151,7 +151,6 @@ class NotificationHelper { if (entry.status == AppUpdateStatusManager.Status.DownloadInterrupted) { return true; } else if ((entry.status == AppUpdateStatusManager.Status.Downloading || - entry.status == AppUpdateStatusManager.Status.PendingDownload || entry.status == AppUpdateStatusManager.Status.ReadyToInstall || entry.status == AppUpdateStatusManager.Status.InstallError) && AppDetails2.isAppVisible(entry.app.packageName)) { diff --git a/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java b/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java index a1d115cd0..c429d139c 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java @@ -166,7 +166,7 @@ public class InstallManagerService extends Service { return START_NOT_STICKY; } - appUpdateStatusManager.addApk(apk, AppUpdateStatusManager.Status.PendingDownload, null); + appUpdateStatusManager.addApk(apk, AppUpdateStatusManager.Status.Downloading, null); appUpdateStatusManager.markAsPendingInstall(urlString); registerApkDownloaderReceivers(urlString); diff --git a/app/src/main/java/org/fdroid/fdroid/views/apps/AppListItemController.java b/app/src/main/java/org/fdroid/fdroid/views/apps/AppListItemController.java index 03f9ab456..0b4802d47 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/apps/AppListItemController.java +++ b/app/src/main/java/org/fdroid/fdroid/views/apps/AppListItemController.java @@ -291,7 +291,7 @@ public class AppListItemController extends RecyclerView.ViewHolder { } else { name.setText(activity.getString(R.string.app_list__name__downloaded_and_ready_to_install, app.name)); } - } else if (currentStatus != null && currentStatus.isDownloading()) { + } else if (currentStatus != null && currentStatus.status == AppUpdateStatusManager.Status.Downloading) { name.setText(activity.getString(R.string.app_list__name__downloading_in_progress, app.name)); } else if (currentStatus != null && currentStatus.status == AppUpdateStatusManager.Status.Installed) { name.setText(activity.getString(R.string.app_list__name__successfully_installed, app.name)); @@ -355,22 +355,6 @@ public class AppListItemController extends RecyclerView.ViewHolder { } } - private void onDownloadStarted() { - if (installButton != null) { - installButton.setImageDrawable(ContextCompat.getDrawable(activity, R.drawable.ic_download_progress)); - installButton.setImageLevel(0); - } - - if (progressBar != null) { - progressBar.setVisibility(View.VISIBLE); - progressBar.setIndeterminate(true); - } - - if (cancelButton != null) { - cancelButton.setVisibility(View.VISIBLE); - } - } - private void onDownloadProgressUpdated(int bytesRead, int totalBytes) { if (installButton != null) { installButton.setImageDrawable(ContextCompat.getDrawable(activity, R.drawable.ic_download_progress)); @@ -443,10 +427,6 @@ public class AppListItemController extends RecyclerView.ViewHolder { configureActionButton(app); switch (status.status) { - case PendingDownload: - onDownloadStarted(); - break; - case Downloading: onDownloadProgressUpdated(status.progressCurrent, status.progressMax); break; @@ -564,7 +544,7 @@ public class AppListItemController extends RecyclerView.ViewHolder { private final View.OnClickListener onCancelDownload = new View.OnClickListener() { @Override public void onClick(View v) { - if (currentStatus == null || !currentStatus.isDownloading()) { + if (currentStatus == null || currentStatus.status != AppUpdateStatusManager.Status.Downloading) { return; } diff --git a/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesAdapter.java b/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesAdapter.java index 96dabb24a..a73d8a3af 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesAdapter.java @@ -88,8 +88,7 @@ public class UpdatesAdapter extends RecyclerView.Adapter