Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(165)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java

Issue 2699253003: Abstracting over Notification.Builder + NotificationCompat.Builder (Closed)
Patch Set: remove erroneously added methods from rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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.sync; 5 package org.chromium.chrome.browser.sync;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.app.Fragment; 8 import android.app.Fragment;
9 import android.app.Notification; 9 import android.app.Notification;
10 import android.app.NotificationManager; 10 import android.app.NotificationManager;
11 import android.app.PendingIntent; 11 import android.app.PendingIntent;
12 import android.content.ComponentName; 12 import android.content.ComponentName;
13 import android.content.Context; 13 import android.content.Context;
14 import android.content.Intent; 14 import android.content.Intent;
15 import android.support.v4.app.NotificationCompat;
16 import android.util.Log; 15 import android.util.Log;
17 16
18 import org.chromium.base.ThreadUtils; 17 import org.chromium.base.ThreadUtils;
19 import org.chromium.chrome.R; 18 import org.chromium.chrome.R;
19 import org.chromium.chrome.browser.ChromeApplication;
20 import org.chromium.chrome.browser.notifications.ChromeNotificationBuilder;
20 import org.chromium.chrome.browser.notifications.NotificationConstants; 21 import org.chromium.chrome.browser.notifications.NotificationConstants;
21 import org.chromium.chrome.browser.notifications.NotificationManagerProxy; 22 import org.chromium.chrome.browser.notifications.NotificationManagerProxy;
22 import org.chromium.chrome.browser.notifications.NotificationManagerProxyImpl; 23 import org.chromium.chrome.browser.notifications.NotificationManagerProxyImpl;
23 import org.chromium.chrome.browser.preferences.PreferencesLauncher; 24 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
24 import org.chromium.components.sync.AndroidSyncSettings; 25 import org.chromium.components.sync.AndroidSyncSettings;
25 26
26 /** 27 /**
27 * {@link SyncNotificationController} provides functionality for displaying Andr oid notifications 28 * {@link SyncNotificationController} provides functionality for displaying Andr oid notifications
28 * regarding the user sync status. 29 * regarding the user sync status.
29 */ 30 */
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 */ 94 */
94 private void showSyncNotification(int message, Intent intent) { 95 private void showSyncNotification(int message, Intent intent) {
95 String title = mApplicationContext.getString(R.string.app_name); 96 String title = mApplicationContext.getString(R.string.app_name);
96 String text = mApplicationContext.getString(R.string.sign_in_sync) + ": " 97 String text = mApplicationContext.getString(R.string.sign_in_sync) + ": "
97 + mApplicationContext.getString(message); 98 + mApplicationContext.getString(message);
98 99
99 PendingIntent contentIntent = PendingIntent.getActivity(mApplicationCont ext, 0, intent, 0); 100 PendingIntent contentIntent = PendingIntent.getActivity(mApplicationCont ext, 0, intent, 0);
100 101
101 // There is no need to provide a group summary notification because the NOTIFICATION_ID_SYNC 102 // There is no need to provide a group summary notification because the NOTIFICATION_ID_SYNC
102 // notification id ensures there's only one sync notification at a time. 103 // notification id ensures there's only one sync notification at a time.
103 NotificationCompat.Builder builder = new NotificationCompat.Builder(mApp licationContext) 104 ChromeNotificationBuilder builder =
104 .setAutoCancel(true) 105 ((ChromeApplication) mApplicationContext)
105 .setContentIntent(contentIn tent) 106 .createChromeNotificationBuilder(true /* preferCompat */ ,
106 .setContentTitle(title) 107 NotificationConstants.CATEGORY_ID_BROWSER,
107 .setContentText(text) 108 mApplicationContext.getString(
108 .setSmallIcon(R.drawable.ic _chrome) 109 R.string.notification_category_browser),
109 .setTicker(text) 110 NotificationConstants.CATEGORY_GROUP_ID_GENERAL,
110 .setLocalOnly(true) 111 mApplicationContext.getString(
111 .setGroup(NotificationConst ants.GROUP_SYNC); 112 R.string.notification_category_group_gen eral))
113 .setAutoCancel(true)
114 .setContentIntent(contentIntent)
115 .setContentTitle(title)
116 .setContentText(text)
117 .setSmallIcon(R.drawable.ic_chrome)
118 .setTicker(text)
119 .setLocalOnly(true)
120 .setGroup(NotificationConstants.GROUP_SYNC);
112 121
113 Notification notification = 122 Notification notification = builder.buildWithBigTextStyle(text);
114 new NotificationCompat.BigTextStyle(builder).bigText(text).build ();
115 123
116 mNotificationManager.notify(NotificationConstants.NOTIFICATION_ID_SYNC, notification); 124 mNotificationManager.notify(NotificationConstants.NOTIFICATION_ID_SYNC, notification);
117 } 125 }
118 126
119 private boolean shouldSyncAuthErrorBeShown() { 127 private boolean shouldSyncAuthErrorBeShown() {
120 switch (mProfileSyncService.getAuthError()) { 128 switch (mProfileSyncService.getAuthError()) {
121 case NONE: 129 case NONE:
122 case CONNECTION_FAILED: 130 case CONNECTION_FAILED:
123 case SERVICE_UNAVAILABLE: 131 case SERVICE_UNAVAILABLE:
124 case REQUEST_CANCELED: 132 case REQUEST_CANCELED:
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 Intent intent = new Intent(Intent.ACTION_MAIN); 167 Intent intent = new Intent(Intent.ACTION_MAIN);
160 intent.setComponent(new ComponentName(mApplicationContext, mPassphraseRe questActivity)); 168 intent.setComponent(new ComponentName(mApplicationContext, mPassphraseRe questActivity));
161 intent.addCategory(Intent.CATEGORY_LAUNCHER); 169 intent.addCategory(Intent.CATEGORY_LAUNCHER);
162 // This activity will become the start of a new task on this history sta ck. 170 // This activity will become the start of a new task on this history sta ck.
163 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 171 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
164 // Clears the task stack above this activity if it already exists. 172 // Clears the task stack above this activity if it already exists.
165 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 173 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
166 return intent; 174 return intent;
167 } 175 }
168 } 176 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698