diff options
Diffstat (limited to 'ui/src/com/android')
-rw-r--r-- | ui/src/com/android/providers/downloads/ui/TrampolineActivity.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java b/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java index b3c08131..bc4a3c7d 100644 --- a/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java +++ b/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java @@ -106,14 +106,28 @@ public class TrampolineActivity extends Activity { Log.d(Constants.TAG, "Found " + id + " with status " + status + ", reason " + reason); switch (status) { case DownloadManager.STATUS_PENDING: - case DownloadManager.STATUS_RUNNING: sendRunningDownloadClickedBroadcast(id); finish(); break; + case DownloadManager.STATUS_RUNNING: + // Pause and resume download manually + dm.pauseDownload(id); + finish(); + break; + case DownloadManager.STATUS_PAUSED: if (reason == DownloadManager.PAUSED_QUEUED_FOR_WIFI) { PausedDialogFragment.show(getFragmentManager(), id, size); + } else if (reason == DownloadManager.PAUSED_MANUAL) { + // Pause and resume download manually + dm.resumeDownload(id); + Intent intent = new Intent(Constants.ACTION_RESUME); + intent.setClassName("com.android.providers.downloads", + "com.android.providers.downloads.DownloadReceiver"); + intent.putExtra(DownloadManager.EXTRA_DOWNLOAD_ID, id); + sendBroadcast(intent); + finish(); } else { sendRunningDownloadClickedBroadcast(id); finish(); |