summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2016-04-25 22:00:12 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-04-25 22:00:12 +0000
commit21462c63d5c903fe35cd232bc4de4b6201f77c35 (patch)
treec38ae2f58cb39e4e17be37e8eec2fe040b4b6436 /ui
parentcb6766bd14fa94fa11cb07349ff33ee3c702d7b0 (diff)
parent1ac1cc3e2b5b432829b193a42af12cf800cee788 (diff)
downloadandroid_packages_providers_DownloadProvider-21462c63d5c903fe35cd232bc4de4b6201f77c35.tar.gz
android_packages_providers_DownloadProvider-21462c63d5c903fe35cd232bc4de4b6201f77c35.tar.bz2
android_packages_providers_DownloadProvider-21462c63d5c903fe35cd232bc4de4b6201f77c35.zip
resolve merge conflicts of 3a5f5ea to nyc-dev-plus-aosp am: 5210cd4
am: 1ac1cc3 * commit '1ac1cc3e2b5b432829b193a42af12cf800cee788': Move DownloadManager to use JobScheduler. Change-Id: I7dd7cad788510d8f831b660b295b4fb9cbc698ee
Diffstat (limited to 'ui')
-rw-r--r--ui/res/values/strings.xml4
-rw-r--r--ui/src/com/android/providers/downloads/ui/TrampolineActivity.java30
2 files changed, 28 insertions, 6 deletions
diff --git a/ui/res/values/strings.xml b/ui/res/values/strings.xml
index 9e625ac7..3555e236 100644
--- a/ui/res/values/strings.xml
+++ b/ui/res/values/strings.xml
@@ -106,6 +106,10 @@
<!-- Text for button appearing in a dialog to restart a download, either one that failed or one
for which the downloaded file is now missing [CHAR LIMIT=25] -->
<string name="retry_download">Retry</string>
+ <!-- Text for button to start a download over the mobile connection now, even though it's over
+ the carrier-specified recommended maximum size for downloads over the mobile connection
+ [CHAR LIMIT=25] -->
+ <string name="start_now_download">Start now</string>
<!-- Text for button appearing in the pop-up selection menu to deselect all currently selected
downloads in the download list [CHAR LIMIT=25] -->
<string name="deselect_all">Deselect all</string>
diff --git a/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java b/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java
index 104f144c..5d4e7a45 100644
--- a/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java
+++ b/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java
@@ -47,6 +47,7 @@ public class TrampolineActivity extends Activity {
private static final String KEY_ID = "id";
private static final String KEY_REASON = "reason";
+ private static final String KEY_SIZE = "size";
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -59,12 +60,15 @@ public class TrampolineActivity extends Activity {
final int status;
final int reason;
+ final long size;
final Cursor cursor = dm.query(new Query().setFilterById(id));
try {
if (cursor.moveToFirst()) {
status = cursor.getInt(cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS));
reason = cursor.getInt(cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_REASON));
+ size = cursor.getLong(
+ cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_TOTAL_SIZE_BYTES));
} else {
Toast.makeText(this, R.string.dialog_file_missing_body, Toast.LENGTH_SHORT).show();
finish();
@@ -84,7 +88,7 @@ public class TrampolineActivity extends Activity {
case DownloadManager.STATUS_PAUSED:
if (reason == DownloadManager.PAUSED_QUEUED_FOR_WIFI) {
- PausedDialogFragment.show(getFragmentManager(), id);
+ PausedDialogFragment.show(getFragmentManager(), id, size);
} else {
sendRunningDownloadClickedBroadcast(id);
finish();
@@ -113,10 +117,11 @@ public class TrampolineActivity extends Activity {
}
public static class PausedDialogFragment extends DialogFragment {
- public static void show(FragmentManager fm, long id) {
+ public static void show(FragmentManager fm, long id, long size) {
final PausedDialogFragment dialog = new PausedDialogFragment();
final Bundle args = new Bundle();
args.putLong(KEY_ID, id);
+ args.putLong(KEY_SIZE, size);
dialog.setArguments(args);
dialog.show(fm, TAG_PAUSED);
}
@@ -130,13 +135,27 @@ public class TrampolineActivity extends Activity {
dm.setAccessAllDownloads(true);
final long id = getArguments().getLong(KEY_ID);
+ final long size = getArguments().getLong(KEY_SIZE);
final AlertDialog.Builder builder = new AlertDialog.Builder(
- context, AlertDialog.THEME_HOLO_LIGHT);
+ context, android.R.style.Theme_DeviceDefault_Light_Dialog_Alert);
builder.setTitle(R.string.dialog_title_queued_body);
builder.setMessage(R.string.dialog_queued_body);
- builder.setPositiveButton(R.string.keep_queued_download, null);
+ final Long maxSize = DownloadManager.getMaxBytesOverMobile(context);
+ if (maxSize != null && size > maxSize) {
+ // When we have a max size, we have no choice
+ builder.setPositiveButton(R.string.keep_queued_download, null);
+ } else {
+ // Give user the choice of starting now
+ builder.setPositiveButton(R.string.start_now_download,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dm.forceDownload(id);
+ }
+ });
+ }
builder.setNegativeButton(
R.string.remove_download, new DialogInterface.OnClickListener() {
@@ -181,10 +200,9 @@ public class TrampolineActivity extends Activity {
final int reason = getArguments().getInt(KEY_REASON);
final AlertDialog.Builder builder = new AlertDialog.Builder(
- context, AlertDialog.THEME_HOLO_LIGHT);
+ context, android.R.style.Theme_DeviceDefault_Light_Dialog_Alert);
builder.setTitle(R.string.dialog_title_not_available);
- final String message;
switch (reason) {
case DownloadManager.ERROR_FILE_ALREADY_EXISTS:
builder.setMessage(R.string.dialog_file_already_exists);