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

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

Powered by Google App Engine
This is Rietveld 408576698