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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilder.java

Issue 2702023002: Migrate web notifications to ChromeNotificationBuilder (Closed)
Patch Set: 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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.notifications; 5 package org.chromium.chrome.browser.notifications;
6 6
7 import android.app.Notification; 7 import android.app.Notification;
8 import android.app.PendingIntent; 8 import android.app.PendingIntent;
9 import android.content.Context; 9 import android.content.Context;
10 import android.graphics.Bitmap; 10 import android.graphics.Bitmap;
11 import android.graphics.drawable.Icon;
11 import android.os.Build; 12 import android.os.Build;
13 import android.widget.RemoteViews;
12 14
13 /** 15 /**
14 * Wraps a Notification.Builder object. 16 * Wraps a Notification.Builder object.
15 */ 17 */
16 public class NotificationBuilder implements ChromeNotificationBuilder { 18 public class NotificationBuilder implements ChromeNotificationBuilder {
17 protected final Notification.Builder mBuilder; 19 protected final Notification.Builder mBuilder;
18 20
19 public NotificationBuilder(Context context) { 21 public NotificationBuilder(Context context) {
20 mBuilder = new Notification.Builder(context); 22 mBuilder = new Notification.Builder(context);
21 } 23 }
22 24
23 @Override 25 @Override
24 public ChromeNotificationBuilder setAutoCancel(boolean autoCancel) { 26 public ChromeNotificationBuilder setAutoCancel(boolean autoCancel) {
25 mBuilder.setAutoCancel(autoCancel); 27 mBuilder.setAutoCancel(autoCancel);
26 return this; 28 return this;
27 } 29 }
28 30
29 @Override 31 @Override
30 public ChromeNotificationBuilder setContentIntent(PendingIntent contentInten t) { 32 public ChromeNotificationBuilder setContentIntent(PendingIntent contentInten t) {
31 mBuilder.setContentIntent(contentIntent); 33 mBuilder.setContentIntent(contentIntent);
32 return this; 34 return this;
33 } 35 }
34 36
35 @Override 37 @Override
36 public ChromeNotificationBuilder setContentTitle(String title) { 38 public ChromeNotificationBuilder setContentTitle(CharSequence title) {
37 mBuilder.setContentTitle(title); 39 mBuilder.setContentTitle(title);
38 return this; 40 return this;
39 } 41 }
40 42
41 @Override 43 @Override
42 public ChromeNotificationBuilder setContentText(String text) { 44 public ChromeNotificationBuilder setContentText(CharSequence text) {
43 mBuilder.setContentText(text); 45 mBuilder.setContentText(text);
44 return this; 46 return this;
45 } 47 }
46 48
47 @Override 49 @Override
48 public ChromeNotificationBuilder setSmallIcon(int icon) { 50 public ChromeNotificationBuilder setSmallIcon(int icon) {
49 mBuilder.setSmallIcon(icon); 51 mBuilder.setSmallIcon(icon);
50 return this; 52 return this;
51 } 53 }
52 54
53 @Override 55 @Override
54 public ChromeNotificationBuilder setTicker(String text) { 56 public ChromeNotificationBuilder setSmallIcon(Icon icon) {
57 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
58 mBuilder.setSmallIcon(icon);
59 }
60 return this;
61 }
62
63 @Override
64 public ChromeNotificationBuilder setTicker(CharSequence text) {
55 mBuilder.setTicker(text); 65 mBuilder.setTicker(text);
56 return this; 66 return this;
57 } 67 }
58 68
59 @Override 69 @Override
60 public ChromeNotificationBuilder setLocalOnly(boolean localOnly) { 70 public ChromeNotificationBuilder setLocalOnly(boolean localOnly) {
61 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) { 71 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
62 mBuilder.setLocalOnly(localOnly); 72 mBuilder.setLocalOnly(localOnly);
63 } 73 }
64 return this; 74 return this;
(...skipping 23 matching lines...) Expand all
88 98
89 @Override 99 @Override
90 public ChromeNotificationBuilder setShowWhen(boolean showWhen) { 100 public ChromeNotificationBuilder setShowWhen(boolean showWhen) {
91 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { 101 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
92 mBuilder.setShowWhen(showWhen); 102 mBuilder.setShowWhen(showWhen);
93 } 103 }
94 return this; 104 return this;
95 } 105 }
96 106
97 @Override 107 @Override
98 public ChromeNotificationBuilder addAction(int icon, String title, PendingIn tent intent) { 108 public ChromeNotificationBuilder addAction(int icon, CharSequence title, Pen dingIntent intent) {
99 mBuilder.addAction(icon, title, intent); 109 mBuilder.addAction(icon, title, intent);
100 return this; 110 return this;
101 } 111 }
102 112
103 @Override 113 @Override
114 public ChromeNotificationBuilder addAction(Notification.Action action) {
115 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
116 mBuilder.addAction(action);
117 }
118 return this;
119 }
120
121 @Override
104 public ChromeNotificationBuilder setDeleteIntent(PendingIntent intent) { 122 public ChromeNotificationBuilder setDeleteIntent(PendingIntent intent) {
105 mBuilder.setDeleteIntent(intent); 123 mBuilder.setDeleteIntent(intent);
106 return this; 124 return this;
107 } 125 }
108 126
109 @Override 127 @Override
110 public ChromeNotificationBuilder setPriority(int pri) { 128 public ChromeNotificationBuilder setPriority(int pri) {
111 mBuilder.setPriority(pri); 129 mBuilder.setPriority(pri);
112 return this; 130 return this;
113 } 131 }
114 132
115 @Override 133 @Override
116 public ChromeNotificationBuilder setProgress(int max, int percentage, boolea n indeterminate) { 134 public ChromeNotificationBuilder setProgress(int max, int percentage, boolea n indeterminate) {
117 mBuilder.setProgress(max, percentage, indeterminate); 135 mBuilder.setProgress(max, percentage, indeterminate);
118 return this; 136 return this;
119 } 137 }
120 138
121 @Override 139 @Override
122 public ChromeNotificationBuilder setSubText(String text) { 140 public ChromeNotificationBuilder setSubText(CharSequence text) {
123 mBuilder.setSubText(text); 141 mBuilder.setSubText(text);
124 return this; 142 return this;
125 } 143 }
126 144
127 @Override 145 @Override
128 public ChromeNotificationBuilder setContentInfo(String info) { 146 public ChromeNotificationBuilder setContentInfo(String info) {
129 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { 147 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
130 mBuilder.setContentInfo(info); 148 mBuilder.setContentInfo(info);
131 } else { 149 } else {
132 mBuilder.setSubText(info); 150 mBuilder.setSubText(info);
(...skipping 13 matching lines...) Expand all
146 return this; 164 return this;
147 } 165 }
148 166
149 @Override 167 @Override
150 public ChromeNotificationBuilder setVibrate(long[] vibratePattern) { 168 public ChromeNotificationBuilder setVibrate(long[] vibratePattern) {
151 mBuilder.setVibrate(vibratePattern); 169 mBuilder.setVibrate(vibratePattern);
152 return this; 170 return this;
153 } 171 }
154 172
155 @Override 173 @Override
174 public ChromeNotificationBuilder setDefaults(int defaults) {
175 mBuilder.setDefaults(defaults);
176 return this;
177 }
178
179 @Override
180 public ChromeNotificationBuilder setOnlyAlertOnce(boolean onlyAlertOnce) {
181 mBuilder.setOnlyAlertOnce(onlyAlertOnce);
182 return this;
183 }
184
185 @Override
186 public ChromeNotificationBuilder setPublicVersion(Notification publicNotific ation) {
187 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
188 mBuilder.setPublicVersion(publicNotification);
189 }
190 return this;
191 }
192
193 @Override
194 public ChromeNotificationBuilder setContent(RemoteViews views) {
195 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
196 mBuilder.setCustomContentView(views);
197 } else {
198 mBuilder.setContent(views);
199 }
200 return this;
201 }
202
203 @Override
204 public ChromeNotificationBuilder setStyle(Notification.BigPictureStyle style ) {
205 mBuilder.setStyle(style);
206 return this;
207 }
208
209 @Override
210 public ChromeNotificationBuilder setStyle(Notification.BigTextStyle style) {
211 mBuilder.setStyle(style);
212 return this;
213 }
214
215 @Override
216 public Notification buildWithBigContentView(RemoteViews view) {
217 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
218 return mBuilder.setCustomBigContentView(view).build();
219 } else {
220 Notification notification = mBuilder.build();
221 notification.bigContentView = view;
222 return notification;
223 }
224 }
225
226 @Override
156 public Notification buildWithBigTextStyle(String bigText) { 227 public Notification buildWithBigTextStyle(String bigText) {
157 Notification.BigTextStyle bigTextStyle = new Notification.BigTextStyle(m Builder); 228 Notification.BigTextStyle bigTextStyle = new Notification.BigTextStyle(m Builder);
158 bigTextStyle.bigText(bigText); 229 bigTextStyle.bigText(bigText);
159 return bigTextStyle.build(); 230 return bigTextStyle.build();
160 } 231 }
161 232
162 @Override 233 @Override
163 public Notification build() { 234 public Notification build() {
164 return mBuilder.build(); 235 return mBuilder.build();
165 } 236 }
166 } 237 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698