diff options
Diffstat (limited to 'ui/src/com/android/providers/downloads/ui/DownloadList.java')
-rw-r--r-- | ui/src/com/android/providers/downloads/ui/DownloadList.java | 15 |
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; |