summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/OpenDownloadReceiver.java
diff options
context:
space:
mode:
authorBijan Amirzada <bijana@codeaurora.org>2014-02-26 17:08:10 -0800
committerBijan Amirzada <bijana@codeaurora.org>2014-03-04 14:03:36 -0800
commit69b30beb16df7916c7679ed69d70e3ebcdeb2085 (patch)
tree9b81f4a397f041deb5f1ef54e91b92666712b385 /src/com/android/browser/OpenDownloadReceiver.java
parent43555c9eb09b318276231eb31dab79f9f41f128c (diff)
downloadandroid_packages_apps_Gello-69b30beb16df7916c7679ed69d70e3ebcdeb2085.tar.gz
android_packages_apps_Gello-69b30beb16df7916c7679ed69d70e3ebcdeb2085.tar.bz2
android_packages_apps_Gello-69b30beb16df7916c7679ed69d70e3ebcdeb2085.zip
Copy of new files from 1599
Modified folder structure - added swe folder Change-Id: I2b48a1635ad0a6406398aa9f1021a1f43baebeef
Diffstat (limited to 'src/com/android/browser/OpenDownloadReceiver.java')
-rw-r--r--src/com/android/browser/OpenDownloadReceiver.java94
1 files changed, 0 insertions, 94 deletions
diff --git a/src/com/android/browser/OpenDownloadReceiver.java b/src/com/android/browser/OpenDownloadReceiver.java
deleted file mode 100644
index 4277ff49..00000000
--- a/src/com/android/browser/OpenDownloadReceiver.java
+++ /dev/null
@@ -1,94 +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.browser;
-
-import android.app.DownloadManager;
-import android.content.ActivityNotFoundException;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.HandlerThread;
-
-/**
- * This {@link BroadcastReceiver} handles clicks to notifications that
- * downloads from the browser are in progress/complete. Clicking on an
- * in-progress or failed download will open the download manager. Clicking on
- * a complete, successful download will open the file.
- */
-public class OpenDownloadReceiver extends BroadcastReceiver {
- private static Handler sAsyncHandler;
- static {
- HandlerThread thr = new HandlerThread("Open browser download async");
- thr.start();
- sAsyncHandler = new Handler(thr.getLooper());
- }
- @Override
- public void onReceive(final Context context, Intent intent) {
- String action = intent.getAction();
- if (!DownloadManager.ACTION_NOTIFICATION_CLICKED.equals(action)) {
- openDownloadsPage(context);
- return;
- }
- long ids[] = intent.getLongArrayExtra(
- DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS);
- if (ids == null || ids.length == 0) {
- openDownloadsPage(context);
- return;
- }
- final long id = ids[0];
- final PendingResult result = goAsync();
- Runnable worker = new Runnable() {
- @Override
- public void run() {
- onReceiveAsync(context, id);
- result.finish();
- }
- };
- sAsyncHandler.post(worker);
- }
-
- private void onReceiveAsync(Context context, long id) {
- DownloadManager manager = (DownloadManager) context.getSystemService(
- Context.DOWNLOAD_SERVICE);
- Uri uri = manager.getUriForDownloadedFile(id);
- if (uri == null) {
- // Open the downloads page
- openDownloadsPage(context);
- } else {
- Intent launchIntent = new Intent(Intent.ACTION_VIEW);
- launchIntent.setDataAndType(uri, manager.getMimeTypeForDownloadedFile(id));
- launchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- try {
- context.startActivity(launchIntent);
- } catch (ActivityNotFoundException e) {
- openDownloadsPage(context);
- }
- }
- }
-
- /**
- * Open the Activity which shows a list of all downloads.
- * @param context
- */
- private void openDownloadsPage(Context context) {
- Intent pageView = new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS);
- pageView.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(pageView);
- }
-}