OLD | NEW |
---|---|
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.support.v4.app.NotificationCompat; | 12 import android.support.v4.app.NotificationCompat; |
13 import android.widget.RemoteViews; | |
12 | 14 |
13 /** | 15 /** |
14 * Wraps a NotificationCompat.Builder object. | 16 * Wraps a NotificationCompat.Builder object. |
15 */ | 17 */ |
16 public class NotificationCompatBuilder implements ChromeNotificationBuilder { | 18 public class NotificationCompatBuilder implements ChromeNotificationBuilder { |
17 private final NotificationCompat.Builder mBuilder; | 19 private final NotificationCompat.Builder mBuilder; |
18 | 20 |
19 public NotificationCompatBuilder(Context context) { | 21 public NotificationCompatBuilder(Context context) { |
20 mBuilder = new NotificationCompat.Builder(context); | 22 mBuilder = new NotificationCompat.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 assert false; // unused | |
nyquist
2017/02/28 07:29:09
Nit: Double space before // throughout this file.
awdf
2017/02/28 18:04:11
Done.
| |
58 return this; | |
59 } | |
60 | |
61 @Override | |
62 public ChromeNotificationBuilder setTicker(CharSequence text) { | |
55 mBuilder.setTicker(text); | 63 mBuilder.setTicker(text); |
56 return this; | 64 return this; |
57 } | 65 } |
58 | 66 |
59 @Override | 67 @Override |
60 public ChromeNotificationBuilder setLocalOnly(boolean localOnly) { | 68 public ChromeNotificationBuilder setLocalOnly(boolean localOnly) { |
61 mBuilder.setLocalOnly(localOnly); | 69 mBuilder.setLocalOnly(localOnly); |
62 return this; | 70 return this; |
63 } | 71 } |
64 | 72 |
(...skipping 15 matching lines...) Expand all Loading... | |
80 return this; | 88 return this; |
81 } | 89 } |
82 | 90 |
83 @Override | 91 @Override |
84 public ChromeNotificationBuilder setShowWhen(boolean showWhen) { | 92 public ChromeNotificationBuilder setShowWhen(boolean showWhen) { |
85 mBuilder.setShowWhen(showWhen); | 93 mBuilder.setShowWhen(showWhen); |
86 return this; | 94 return this; |
87 } | 95 } |
88 | 96 |
89 @Override | 97 @Override |
90 public ChromeNotificationBuilder addAction(int icon, String title, PendingIn tent intent) { | 98 public ChromeNotificationBuilder addAction(int icon, CharSequence title, Pen dingIntent intent) { |
91 mBuilder.addAction(icon, title, intent); | 99 mBuilder.addAction(icon, title, intent); |
92 return this; | 100 return this; |
93 } | 101 } |
94 | 102 |
95 @Override | 103 @Override |
104 public ChromeNotificationBuilder addAction(Notification.Action action) { | |
105 return this; | |
106 } | |
107 | |
108 @Override | |
96 public ChromeNotificationBuilder setDeleteIntent(PendingIntent intent) { | 109 public ChromeNotificationBuilder setDeleteIntent(PendingIntent intent) { |
97 mBuilder.setDeleteIntent(intent); | 110 mBuilder.setDeleteIntent(intent); |
98 return this; | 111 return this; |
99 } | 112 } |
100 | 113 |
101 @Override | 114 @Override |
102 public ChromeNotificationBuilder setPriority(int pri) { | 115 public ChromeNotificationBuilder setPriority(int pri) { |
103 mBuilder.setPriority(pri); | 116 mBuilder.setPriority(pri); |
104 return this; | 117 return this; |
105 } | 118 } |
106 | 119 |
107 @Override | 120 @Override |
108 public ChromeNotificationBuilder setProgress(int max, int percentage, boolea n indeterminate) { | 121 public ChromeNotificationBuilder setProgress(int max, int percentage, boolea n indeterminate) { |
109 mBuilder.setProgress(max, percentage, indeterminate); | 122 mBuilder.setProgress(max, percentage, indeterminate); |
110 return this; | 123 return this; |
111 } | 124 } |
112 | 125 |
113 @Override | 126 @Override |
114 public ChromeNotificationBuilder setSubText(String text) { | 127 public ChromeNotificationBuilder setSubText(CharSequence text) { |
115 mBuilder.setSubText(text); | 128 mBuilder.setSubText(text); |
116 return this; | 129 return this; |
117 } | 130 } |
118 | 131 |
119 @Override | 132 @Override |
120 public ChromeNotificationBuilder setContentInfo(String info) { | 133 public ChromeNotificationBuilder setContentInfo(String info) { |
121 mBuilder.setContentInfo(info); | 134 mBuilder.setContentInfo(info); |
122 return this; | 135 return this; |
123 } | 136 } |
124 | 137 |
125 @Override | 138 @Override |
126 public ChromeNotificationBuilder setWhen(long time) { | 139 public ChromeNotificationBuilder setWhen(long time) { |
127 mBuilder.setWhen(time); | 140 mBuilder.setWhen(time); |
128 return this; | 141 return this; |
129 } | 142 } |
130 | 143 |
131 @Override | 144 @Override |
132 public ChromeNotificationBuilder setLargeIcon(Bitmap icon) { | 145 public ChromeNotificationBuilder setLargeIcon(Bitmap icon) { |
133 mBuilder.setLargeIcon(icon); | 146 mBuilder.setLargeIcon(icon); |
134 return this; | 147 return this; |
135 } | 148 } |
136 | 149 |
137 @Override | 150 @Override |
138 public ChromeNotificationBuilder setVibrate(long[] vibratePattern) { | 151 public ChromeNotificationBuilder setVibrate(long[] vibratePattern) { |
139 mBuilder.setVibrate(vibratePattern); | 152 mBuilder.setVibrate(vibratePattern); |
140 return this; | 153 return this; |
141 } | 154 } |
142 | 155 |
143 @Override | 156 @Override |
157 public ChromeNotificationBuilder setDefaults(int defaults) { | |
158 mBuilder.setDefaults(defaults); | |
159 return this; | |
160 } | |
161 | |
162 public ChromeNotificationBuilder setOnlyAlertOnce(boolean onlyAlertOnce) { | |
163 mBuilder.setOnlyAlertOnce(onlyAlertOnce); | |
164 return this; | |
165 } | |
166 | |
167 @Override | |
168 public ChromeNotificationBuilder setPublicVersion(Notification publicNotific ation) { | |
169 mBuilder.setPublicVersion(publicNotification); | |
170 return this; | |
171 } | |
172 | |
173 @Override | |
174 public ChromeNotificationBuilder setContent(RemoteViews views) { | |
175 mBuilder.setCustomContentView(views); | |
176 return this; | |
177 } | |
178 | |
179 @Override | |
180 public ChromeNotificationBuilder setStyle(Notification.BigPictureStyle style ) { | |
181 assert false; // unused | |
182 return this; | |
183 } | |
184 | |
185 @Override | |
186 public ChromeNotificationBuilder setStyle(Notification.BigTextStyle bigTextS tyle) { | |
187 assert false; // unused | |
188 return this; | |
189 } | |
190 | |
191 @Override | |
192 public Notification buildWithBigContentView(RemoteViews view) { | |
193 return mBuilder.setCustomBigContentView(view).build(); | |
194 } | |
195 | |
196 @Override | |
144 public Notification buildWithBigTextStyle(String bigText) { | 197 public Notification buildWithBigTextStyle(String bigText) { |
145 NotificationCompat.BigTextStyle bigTextStyle = | 198 NotificationCompat.BigTextStyle bigTextStyle = |
146 new NotificationCompat.BigTextStyle(mBuilder); | 199 new NotificationCompat.BigTextStyle(mBuilder); |
147 bigTextStyle.bigText(bigText); | 200 bigTextStyle.bigText(bigText); |
148 return bigTextStyle.build(); | 201 return bigTextStyle.build(); |
149 } | 202 } |
150 | 203 |
151 @Override | 204 @Override |
152 public Notification build() { | 205 public Notification build() { |
153 return mBuilder.build(); | 206 return mBuilder.build(); |
154 } | 207 } |
155 } | 208 } |
OLD | NEW |