OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.download; | 5 package org.chromium.chrome.browser.download; |
6 | 6 |
7 import android.annotation.TargetApi; | 7 import android.annotation.TargetApi; |
8 import android.app.DownloadManager; | 8 import android.app.DownloadManager; |
9 import android.app.Notification; | 9 import android.app.Notification; |
10 import android.app.NotificationManager; | 10 import android.app.NotificationManager; |
(...skipping 858 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
869 * @param downloadGuid GUID of the download. | 869 * @param downloadGuid GUID of the download. |
870 * @param filePath Full path to the download. | 870 * @param filePath Full path to the download. |
871 * @param fileName Filename of the download. | 871 * @param fileName Filename of the download. |
872 * @param systemDownloadId Download ID assigned by system DownloadManager. | 872 * @param systemDownloadId Download ID assigned by system DownloadManager. |
873 * @param isOfflinePage Whether the download is for offline page. | 873 * @param isOfflinePage Whether the download is for offline page. |
874 * @param isSupportedMimeType Whether the MIME type can be viewed inside bro
wser. | 874 * @param isSupportedMimeType Whether the MIME type can be viewed inside bro
wser. |
875 * @return ID of the successful download notification. Used for removing the
notification when | 875 * @return ID of the successful download notification. Used for removing the
notification when |
876 * user click on the snackbar. | 876 * user click on the snackbar. |
877 */ | 877 */ |
878 @VisibleForTesting | 878 @VisibleForTesting |
879 public int notifyDownloadSuccessful( | 879 public int notifyDownloadSuccessful(String downloadGuid, String filePath, St
ring fileName, |
880 String downloadGuid, String filePath, String fileName, long systemDo
wnloadId, | 880 long systemDownloadId, boolean isOffTheRecord, boolean isOfflinePage
, |
881 boolean isOfflinePage, boolean isSupportedMimeType) { | 881 boolean isSupportedMimeType) { |
882 int notificationId = getNotificationId(downloadGuid); | 882 int notificationId = getNotificationId(downloadGuid); |
883 ChromeNotificationBuilder builder = buildNotification(R.drawable.offline
_pin, fileName, | 883 ChromeNotificationBuilder builder = buildNotification(R.drawable.offline
_pin, fileName, |
884 mContext.getResources().getString(R.string.download_notification
_completed)); | 884 mContext.getResources().getString(R.string.download_notification
_completed)); |
885 ComponentName component = new ComponentName( | 885 ComponentName component = new ComponentName( |
886 mContext.getPackageName(), DownloadBroadcastReceiver.class.getNa
me()); | 886 mContext.getPackageName(), DownloadBroadcastReceiver.class.getNa
me()); |
887 Intent intent; | 887 Intent intent; |
888 if (isOfflinePage) { | 888 if (isOfflinePage) { |
889 intent = buildActionIntent(mContext, ACTION_DOWNLOAD_OPEN, downloadG
uid, false, true); | 889 intent = buildActionIntent(mContext, ACTION_DOWNLOAD_OPEN, downloadG
uid, false, true); |
890 } else { | 890 } else { |
891 intent = new Intent(DownloadManager.ACTION_NOTIFICATION_CLICKED); | 891 intent = new Intent(DownloadManager.ACTION_NOTIFICATION_CLICKED); |
892 long[] idArray = {systemDownloadId}; | 892 long[] idArray = {systemDownloadId}; |
893 intent.putExtra(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_ID
S, idArray); | 893 intent.putExtra(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_ID
S, idArray); |
894 intent.putExtra(EXTRA_DOWNLOAD_FILE_PATH, filePath); | 894 intent.putExtra(EXTRA_DOWNLOAD_FILE_PATH, filePath); |
895 intent.putExtra(EXTRA_IS_SUPPORTED_MIME_TYPE, isSupportedMimeType); | 895 intent.putExtra(EXTRA_IS_SUPPORTED_MIME_TYPE, isSupportedMimeType); |
| 896 intent.putExtra(EXTRA_IS_OFF_THE_RECORD, isOffTheRecord); |
| 897 intent.putExtra(EXTRA_DOWNLOAD_GUID, downloadGuid); |
896 } | 898 } |
897 intent.setComponent(component); | 899 intent.setComponent(component); |
898 builder.setContentIntent(PendingIntent.getBroadcast( | 900 builder.setContentIntent(PendingIntent.getBroadcast( |
899 mContext, notificationId, intent, PendingIntent.FLAG_UPDATE_CURR
ENT)); | 901 mContext, notificationId, intent, PendingIntent.FLAG_UPDATE_CURR
ENT)); |
900 if (mDownloadSuccessLargeIcon == null) { | 902 if (mDownloadSuccessLargeIcon == null) { |
901 Bitmap bitmap = BitmapFactory.decodeResource( | 903 Bitmap bitmap = BitmapFactory.decodeResource( |
902 mContext.getResources(), R.drawable.offline_pin); | 904 mContext.getResources(), R.drawable.offline_pin); |
903 mDownloadSuccessLargeIcon = getLargeNotificationIcon(bitmap); | 905 mDownloadSuccessLargeIcon = getLargeNotificationIcon(bitmap); |
904 } | 906 } |
905 builder.setLargeIcon(mDownloadSuccessLargeIcon); | 907 builder.setLargeIcon(mDownloadSuccessLargeIcon); |
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1326 return context.getString(R.string.remaining_duration_minutes, minute
s); | 1328 return context.getString(R.string.remaining_duration_minutes, minute
s); |
1327 } else if (minutes > 0) { | 1329 } else if (minutes > 0) { |
1328 return context.getString(R.string.remaining_duration_one_minute); | 1330 return context.getString(R.string.remaining_duration_one_minute); |
1329 } else if (seconds == 1) { | 1331 } else if (seconds == 1) { |
1330 return context.getString(R.string.remaining_duration_one_second); | 1332 return context.getString(R.string.remaining_duration_one_second); |
1331 } else { | 1333 } else { |
1332 return context.getString(R.string.remaining_duration_seconds, second
s); | 1334 return context.getString(R.string.remaining_duration_seconds, second
s); |
1333 } | 1335 } |
1334 } | 1336 } |
1335 } | 1337 } |
OLD | NEW |