From 8befba0522228d074e77d088f8bc853ab00d72d7 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 29 Mar 2016 16:27:49 +0200 Subject: [PATCH] send Downloader progress only via its DownloaderProgressListener Instead of duplicate APIs, standardize on a single API, and use that everywhere via the Downloader.LOCAL_ACTION_PROGRESS event that is already wired in. --- app/src/main/java/org/fdroid/fdroid/AppDetails.java | 7 +------ .../java/org/fdroid/fdroid/net/ApkDownloader.java | 8 -------- .../org/fdroid/fdroid/net/AsyncDownloadWrapper.java | 8 -------- .../java/org/fdroid/fdroid/net/AsyncDownloader.java | 4 ---- .../main/java/org/fdroid/fdroid/net/Downloader.java | 13 +------------ 5 files changed, 2 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/AppDetails.java b/app/src/main/java/org/fdroid/fdroid/AppDetails.java index f54517aef..5cda16ec3 100644 --- a/app/src/main/java/org/fdroid/fdroid/AppDetails.java +++ b/app/src/main/java/org/fdroid/fdroid/AppDetails.java @@ -459,12 +459,7 @@ public class AppDetails extends AppCompatActivity implements ProgressListener, A localBroadcastManager.registerReceiver(downloaderProgressReceiver, new IntentFilter(Downloader.LOCAL_ACTION_PROGRESS)); downloadHandler.setProgressListener(this); - - if (downloadHandler.getTotalBytes() == 0) { - headerFragment.startProgress(); - } else { - headerFragment.updateProgress(downloadHandler.getBytesRead(), downloadHandler.getTotalBytes()); - } + headerFragment.startProgress(); } } } diff --git a/app/src/main/java/org/fdroid/fdroid/net/ApkDownloader.java b/app/src/main/java/org/fdroid/fdroid/net/ApkDownloader.java index d1f89f6e8..ac3a5ff09 100644 --- a/app/src/main/java/org/fdroid/fdroid/net/ApkDownloader.java +++ b/app/src/main/java/org/fdroid/fdroid/net/ApkDownloader.java @@ -261,12 +261,4 @@ public class ApkDownloader implements AsyncDownloader.Listener { public Apk getApk() { return curApk; } - - public int getBytesRead() { - return dlWrapper != null ? dlWrapper.getBytesRead() : 0; - } - - public int getTotalBytes() { - return dlWrapper != null ? dlWrapper.getTotalBytes() : 0; - } } diff --git a/app/src/main/java/org/fdroid/fdroid/net/AsyncDownloadWrapper.java b/app/src/main/java/org/fdroid/fdroid/net/AsyncDownloadWrapper.java index e56300c64..37992a85a 100644 --- a/app/src/main/java/org/fdroid/fdroid/net/AsyncDownloadWrapper.java +++ b/app/src/main/java/org/fdroid/fdroid/net/AsyncDownloadWrapper.java @@ -30,14 +30,6 @@ class AsyncDownloadWrapper extends Handler implements AsyncDownloader { this.listener = listener; } - public int getBytesRead() { - return downloader.getBytesRead(); - } - - public int getTotalBytes() { - return downloader.getTotalBytes(); - } - public void download() { downloadThread = new DownloadThread(); downloadThread.start(); diff --git a/app/src/main/java/org/fdroid/fdroid/net/AsyncDownloader.java b/app/src/main/java/org/fdroid/fdroid/net/AsyncDownloader.java index 4f098c003..413b76a05 100644 --- a/app/src/main/java/org/fdroid/fdroid/net/AsyncDownloader.java +++ b/app/src/main/java/org/fdroid/fdroid/net/AsyncDownloader.java @@ -10,10 +10,6 @@ public interface AsyncDownloader { void onDownloadComplete(); } - int getBytesRead(); - - int getTotalBytes(); - void download(); void attemptCancel(); diff --git a/app/src/main/java/org/fdroid/fdroid/net/Downloader.java b/app/src/main/java/org/fdroid/fdroid/net/Downloader.java index f48b7e84a..61b6af116 100644 --- a/app/src/main/java/org/fdroid/fdroid/net/Downloader.java +++ b/app/src/main/java/org/fdroid/fdroid/net/Downloader.java @@ -31,8 +31,6 @@ public abstract class Downloader { protected final URL sourceUrl; protected String cacheTag; - private int bytesRead; - private int totalBytes; interface DownloaderProgressListener { void sendProgress(URL sourceUrl, int bytesRead, int totalBytes); @@ -147,7 +145,7 @@ public abstract class Downloader { private void copyInputToOutputStream(InputStream input, int bufferSize) throws IOException, InterruptedException { int bytesRead = 0; - this.totalBytes = totalDownloadSize(); + int totalBytes = totalDownloadSize(); byte[] buffer = new byte[bufferSize]; // Getting the total download size could potentially take time, depending on how @@ -182,20 +180,11 @@ public abstract class Downloader { } private void sendProgress(int bytesRead, int totalBytes) { - this.bytesRead = bytesRead; if (downloaderProgressListener != null) { downloaderProgressListener.sendProgress(sourceUrl, bytesRead, totalBytes); } } - public int getBytesRead() { - return bytesRead; - } - - public int getTotalBytes() { - return totalBytes; - } - /** * Overrides every method in {@link InputStream} and delegates to the wrapped stream. * The only difference is that when we call the {@link WrappedInputStream#close()} method,