summaryrefslogtreecommitdiffstats
path: root/ui/src/com/android/providers/downloads/ui/DownloadList.java
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/com/android/providers/downloads/ui/DownloadList.java')
-rw-r--r--ui/src/com/android/providers/downloads/ui/DownloadList.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/ui/src/com/android/providers/downloads/ui/DownloadList.java b/ui/src/com/android/providers/downloads/ui/DownloadList.java
index 83bc1027..ac733901 100644
--- a/ui/src/com/android/providers/downloads/ui/DownloadList.java
+++ b/ui/src/com/android/providers/downloads/ui/DownloadList.java
@@ -70,6 +70,7 @@ public class DownloadList extends Activity
private View mEmptyView;
private ViewGroup mSelectionMenuView;
private Button mSelectionDeleteButton;
+ private Button mSelectionRestartButton;
private DownloadManager mDownloadManager;
private Cursor mDateSortedCursor;
@@ -167,6 +168,8 @@ public class DownloadList extends Activity
mSelectionMenuView = (ViewGroup) findViewById(R.id.selection_menu);
mSelectionDeleteButton = (Button) findViewById(R.id.selection_delete);
mSelectionDeleteButton.setOnClickListener(this);
+ mSelectionRestartButton = (Button) findViewById(R.id.selection_retry);
+ mSelectionRestartButton.setOnClickListener(this);
((Button) findViewById(R.id.deselect_all)).setOnClickListener(this);
}
@@ -477,6 +480,7 @@ public class DownloadList extends Activity
* Set up the contents of the selection menu based on the current selection.
*/
private void updateSelectionMenu() {
+ mSelectionRestartButton.setVisibility(View.GONE);
int deleteButtonStringId = R.string.delete_download;
if (mSelectedIds.size() == 1) {
Cursor cursor = mDownloadManager.query(new DownloadManager.Query()
@@ -485,6 +489,10 @@ public class DownloadList extends Activity
cursor.moveToFirst();
switch (cursor.getInt(mStatusColumnId)) {
case DownloadManager.STATUS_FAILED:
+ deleteButtonStringId = R.string.remove_download;
+ mSelectionRestartButton.setVisibility(View.VISIBLE);
+ break;
+
case DownloadManager.STATUS_PENDING:
deleteButtonStringId = R.string.remove_download;
break;
@@ -511,6 +519,13 @@ public class DownloadList extends Activity
clearSelection();
break;
+ case R.id.selection_retry:
+ for (Long downloadId : mSelectedIds) {
+ mDownloadManager.restartDownload(downloadId);
+ }
+ clearSelection();
+ break;
+
case R.id.deselect_all:
clearSelection();
break;