diff options
author | Bijan Amirzada <bijana@codeaurora.org> | 2014-02-26 17:08:10 -0800 |
---|---|---|
committer | Bijan Amirzada <bijana@codeaurora.org> | 2014-03-04 14:03:36 -0800 |
commit | 69b30beb16df7916c7679ed69d70e3ebcdeb2085 (patch) | |
tree | 9b81f4a397f041deb5f1ef54e91b92666712b385 /src/com/android/browser/OpenDownloadReceiver.java | |
parent | 43555c9eb09b318276231eb31dab79f9f41f128c (diff) | |
download | android_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.java | 94 |
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); - } -} |