summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/SizeLimitActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/providers/downloads/SizeLimitActivity.java')
-rw-r--r--src/com/android/providers/downloads/SizeLimitActivity.java137
1 files changed, 0 insertions, 137 deletions
diff --git a/src/com/android/providers/downloads/SizeLimitActivity.java b/src/com/android/providers/downloads/SizeLimitActivity.java
deleted file mode 100644
index d25277d9..00000000
--- a/src/com/android/providers/downloads/SizeLimitActivity.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.providers.downloads;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.content.ContentValues;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.database.Cursor;
-import android.net.Uri;
-import android.provider.Downloads;
-import android.text.format.Formatter;
-import android.util.Log;
-
-import java.util.LinkedList;
-import java.util.Queue;
-
-/**
- * Activity to show dialogs to the user when a download exceeds a limit on download sizes for
- * mobile networks. This activity gets started by the background download service when a download's
- * size is discovered to be exceeded one of these thresholds.
- */
-public class SizeLimitActivity extends Activity
- implements DialogInterface.OnCancelListener, DialogInterface.OnClickListener {
- private Dialog mDialog;
- private Queue<Intent> mDownloadsToShow = new LinkedList<Intent>();
- private Uri mCurrentUri;
- private Intent mCurrentIntent;
-
- @Override
- protected void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
- setIntent(intent);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- Intent intent = getIntent();
- if (intent != null) {
- mDownloadsToShow.add(intent);
- setIntent(null);
- showNextDialog();
- }
- if (mDialog != null && !mDialog.isShowing()) {
- mDialog.show();
- }
- }
-
- private void showNextDialog() {
- if (mDialog != null) {
- return;
- }
-
- if (mDownloadsToShow.isEmpty()) {
- finish();
- return;
- }
-
- mCurrentIntent = mDownloadsToShow.poll();
- mCurrentUri = mCurrentIntent.getData();
- Cursor cursor = getContentResolver().query(mCurrentUri, null, null, null, null);
- try {
- if (!cursor.moveToFirst()) {
- Log.e(Constants.TAG, "Empty cursor for URI " + mCurrentUri);
- dialogClosed();
- return;
- }
- showDialog(cursor);
- } finally {
- cursor.close();
- }
- }
-
- private void showDialog(Cursor cursor) {
- int size = cursor.getInt(cursor.getColumnIndexOrThrow(Downloads.Impl.COLUMN_TOTAL_BYTES));
- String sizeString = Formatter.formatFileSize(this, size);
- String queueText = getString(R.string.button_queue_for_wifi);
- boolean isWifiRequired =
- mCurrentIntent.getExtras().getBoolean(DownloadInfo.EXTRA_IS_WIFI_REQUIRED);
-
- AlertDialog.Builder builder = new AlertDialog.Builder(this, AlertDialog.THEME_HOLO_DARK);
- if (isWifiRequired) {
- builder.setTitle(R.string.wifi_required_title)
- .setMessage(getString(R.string.wifi_required_body, sizeString, queueText))
- .setPositiveButton(R.string.button_queue_for_wifi, this)
- .setNegativeButton(R.string.button_cancel_download, this);
- } else {
- builder.setTitle(R.string.wifi_recommended_title)
- .setMessage(getString(R.string.wifi_recommended_body, sizeString, queueText))
- .setPositiveButton(R.string.button_start_now, this)
- .setNegativeButton(R.string.button_queue_for_wifi, this);
- }
- mDialog = builder.setOnCancelListener(this).show();
- }
-
- @Override
- public void onCancel(DialogInterface dialog) {
- dialogClosed();
- }
-
- private void dialogClosed() {
- mDialog = null;
- mCurrentUri = null;
- showNextDialog();
- }
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- boolean isRequired =
- mCurrentIntent.getExtras().getBoolean(DownloadInfo.EXTRA_IS_WIFI_REQUIRED);
- if (isRequired && which == AlertDialog.BUTTON_NEGATIVE) {
- getContentResolver().delete(mCurrentUri, null, null);
- } else if (!isRequired && which == AlertDialog.BUTTON_POSITIVE) {
- ContentValues values = new ContentValues();
- values.put(Downloads.Impl.COLUMN_BYPASS_RECOMMENDED_SIZE_LIMIT, true);
- getContentResolver().update(mCurrentUri, values , null, null);
- }
- dialogClosed();
- }
-}