| Index: chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java
|
| index c0430c98c3ebc7aad88e5c9cc61c99238c5f9f20..6993e1fc35d87a21673bcecda323148b7444ecbd 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java
|
| @@ -24,7 +24,6 @@ import android.graphics.drawable.shapes.OvalShape;
|
| import android.os.Binder;
|
| import android.os.Build;
|
| import android.os.IBinder;
|
| -import android.support.v4.app.NotificationCompat;
|
| import android.text.TextUtils;
|
|
|
| import org.chromium.base.ApiCompatibilityUtils;
|
| @@ -37,6 +36,7 @@ import org.chromium.chrome.browser.ChromeApplication;
|
| import org.chromium.chrome.browser.init.BrowserParts;
|
| import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
|
| import org.chromium.chrome.browser.init.EmptyBrowserParts;
|
| +import org.chromium.chrome.browser.notifications.ChromeNotificationBuilder;
|
| import org.chromium.chrome.browser.notifications.NotificationConstants;
|
| import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadBridge;
|
| import org.chromium.chrome.browser.util.IntentUtils;
|
| @@ -127,7 +127,7 @@ public class DownloadNotificationService extends Service {
|
| @Override
|
| public void onCreate() {
|
| mStopPostingProgressNotifications = false;
|
| - mContext = getApplicationContext();
|
| + mContext = ContextUtils.getApplicationContext();
|
| mNotificationManager = (NotificationManager) mContext.getSystemService(
|
| Context.NOTIFICATION_SERVICE);
|
| mSharedPrefs = ContextUtils.getAppSharedPreferences();
|
| @@ -298,7 +298,7 @@ public class DownloadNotificationService extends Service {
|
| }
|
| int resId = isDownloadPending ? R.drawable.ic_download_pending
|
| : android.R.drawable.stat_sys_download;
|
| - NotificationCompat.Builder builder = buildNotification(resId, fileName, contentText);
|
| + ChromeNotificationBuilder builder = buildNotification(resId, fileName, contentText);
|
| builder.setOngoing(true);
|
| builder.setPriority(Notification.PRIORITY_HIGH);
|
|
|
| @@ -401,8 +401,8 @@ public class DownloadNotificationService extends Service {
|
|
|
| String contentText = mContext.getResources().getString(
|
| R.string.download_notification_paused);
|
| - NotificationCompat.Builder builder = buildNotification(
|
| - R.drawable.ic_download_pause, entry.fileName, contentText);
|
| + ChromeNotificationBuilder builder =
|
| + buildNotification(R.drawable.ic_download_pause, entry.fileName, contentText);
|
|
|
| // Clicking on an in-progress download sends the user to see all their downloads.
|
| Intent downloadHomeIntent = buildActionIntent(
|
| @@ -453,8 +453,7 @@ public class DownloadNotificationService extends Service {
|
| String downloadGuid, String filePath, String fileName, long systemDownloadId,
|
| boolean isOfflinePage, boolean isSupportedMimeType) {
|
| int notificationId = getNotificationId(downloadGuid);
|
| - NotificationCompat.Builder builder = buildNotification(
|
| - R.drawable.offline_pin, fileName,
|
| + ChromeNotificationBuilder builder = buildNotification(R.drawable.offline_pin, fileName,
|
| mContext.getResources().getString(R.string.download_notification_completed));
|
| ComponentName component = new ComponentName(
|
| mContext.getPackageName(), DownloadBroadcastReceiver.class.getName());
|
| @@ -500,9 +499,9 @@ public class DownloadNotificationService extends Service {
|
| }
|
|
|
| int notificationId = getNotificationId(downloadGuid);
|
| - NotificationCompat.Builder builder = buildNotification(
|
| - android.R.drawable.stat_sys_download_done, fileName,
|
| - mContext.getResources().getString(R.string.download_notification_failed));
|
| + ChromeNotificationBuilder builder =
|
| + buildNotification(android.R.drawable.stat_sys_download_done, fileName,
|
| + mContext.getResources().getString(R.string.download_notification_failed));
|
| updateNotification(notificationId, builder.build());
|
| mDownloadSharedPreferenceHelper.removeSharedPreferenceEntry(downloadGuid);
|
| mDownloadsInProgress.remove(downloadGuid);
|
| @@ -570,15 +569,22 @@ public class DownloadNotificationService extends Service {
|
| * @param contentText Notification content text to be displayed.
|
| * @return notification builder that builds the notification to be displayed
|
| */
|
| - private NotificationCompat.Builder buildNotification(
|
| + private ChromeNotificationBuilder buildNotification(
|
| int iconId, String title, String contentText) {
|
| - NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext)
|
| - .setContentTitle(DownloadUtils.getAbbreviatedFileName(title, MAX_FILE_NAME_LENGTH))
|
| - .setSmallIcon(iconId)
|
| - .setLocalOnly(true)
|
| - .setAutoCancel(true)
|
| - .setContentText(contentText)
|
| - .setGroup(NotificationConstants.GROUP_DOWNLOADS);
|
| + ChromeNotificationBuilder builder =
|
| + ((ChromeApplication) mContext)
|
| + .createChromeNotificationBuilder(true /* preferCompat */,
|
| + NotificationConstants.CATEGORY_ID_BROWSER,
|
| + mContext.getString(R.string.notification_category_browser),
|
| + NotificationConstants.CATEGORY_GROUP_ID_GENERAL,
|
| + mContext.getString(R.string.notification_category_group_general))
|
| + .setContentTitle(
|
| + DownloadUtils.getAbbreviatedFileName(title, MAX_FILE_NAME_LENGTH))
|
| + .setSmallIcon(iconId)
|
| + .setLocalOnly(true)
|
| + .setAutoCancel(true)
|
| + .setContentText(contentText)
|
| + .setGroup(NotificationConstants.GROUP_DOWNLOADS);
|
| return builder;
|
| }
|
|
|
|
|