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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilder.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
(Empty)
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
3 // found in the LICENSE file.
4
5 package org.chromium.chrome.browser.notifications;
6
7 import android.app.Notification;
8 import android.app.PendingIntent;
9 import android.content.Context;
10 import android.graphics.Bitmap;
11 import android.os.Build;
12
13 /**
14 * Wraps a Notification.Builder object.
15 */
16 public class NotificationBuilder implements ChromeNotificationBuilder {
17 protected final Notification.Builder mBuilder;
18
19 public NotificationBuilder(Context context) {
20 mBuilder = new Notification.Builder(context);
21 }
22
23 @Override
24 public ChromeNotificationBuilder setAutoCancel(boolean autoCancel) {
25 mBuilder.setAutoCancel(autoCancel);
26 return this;
27 }
28
29 @Override
30 public ChromeNotificationBuilder setContentIntent(PendingIntent contentInten t) {
31 mBuilder.setContentIntent(contentIntent);
32 return this;
33 }
34
35 @Override
36 public ChromeNotificationBuilder setContentTitle(String title) {
37 mBuilder.setContentTitle(title);
38 return this;
39 }
40
41 @Override
42 public ChromeNotificationBuilder setContentText(String text) {
43 mBuilder.setContentText(text);
44 return this;
45 }
46
47 @Override
48 public ChromeNotificationBuilder setSmallIcon(int icon) {
49 mBuilder.setSmallIcon(icon);
50 return this;
51 }
52
53 @Override
54 public ChromeNotificationBuilder setTicker(String text) {
55 mBuilder.setTicker(text);
56 return this;
57 }
58
59 @Override
60 public ChromeNotificationBuilder setLocalOnly(boolean localOnly) {
61 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
62 mBuilder.setLocalOnly(localOnly);
63 }
64 return this;
65 }
66
67 @Override
68 public ChromeNotificationBuilder setGroup(String group) {
69 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
70 mBuilder.setGroup(group);
71 }
72 return this;
73 }
74
75 @Override
76 public ChromeNotificationBuilder setOngoing(boolean ongoing) {
77 mBuilder.setOngoing(ongoing);
78 return this;
79 }
80
81 @Override
82 public ChromeNotificationBuilder setVisibility(int visibility) {
83 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
84 mBuilder.setVisibility(visibility);
85 }
86 return this;
87 }
88
89 @Override
90 public ChromeNotificationBuilder setShowWhen(boolean showWhen) {
91 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
92 mBuilder.setShowWhen(showWhen);
93 }
94 return this;
95 }
96
97 @Override
98 public ChromeNotificationBuilder addAction(int icon, String title, PendingIn tent intent) {
99 mBuilder.addAction(icon, title, intent);
100 return this;
101 }
102
103 @Override
104 public ChromeNotificationBuilder setDeleteIntent(PendingIntent intent) {
105 mBuilder.setDeleteIntent(intent);
106 return this;
107 }
108
109 @Override
110 public ChromeNotificationBuilder setPriority(int pri) {
111 mBuilder.setPriority(pri);
112 return this;
113 }
114
115 @Override
116 public ChromeNotificationBuilder setProgress(int max, int percentage, boolea n indeterminate) {
117 mBuilder.setProgress(max, percentage, indeterminate);
118 return this;
119 }
120
121 @Override
122 public ChromeNotificationBuilder setSubText(String text) {
123 mBuilder.setSubText(text);
124 return this;
125 }
126
127 @Override
128 public ChromeNotificationBuilder setContentInfo(String info) {
129 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
130 mBuilder.setContentInfo(info);
131 } else {
132 mBuilder.setSubText(info);
133 }
134 return this;
135 }
136
137 @Override
138 public ChromeNotificationBuilder setWhen(long time) {
139 mBuilder.setWhen(time);
140 return this;
141 }
142
143 @Override
144 public ChromeNotificationBuilder setLargeIcon(Bitmap icon) {
145 mBuilder.setLargeIcon(icon);
146 return this;
147 }
148
149 @Override
150 public ChromeNotificationBuilder setVibrate(long[] vibratePattern) {
151 mBuilder.setVibrate(vibratePattern);
152 return this;
153 }
154
155 @Override
156 public Notification buildWithBigTextStyle(String bigText) {
157 Notification.BigTextStyle bigTextStyle = new Notification.BigTextStyle(m Builder);
158 bigTextStyle.bigText(bigText);
159 return bigTextStyle.build();
160 }
161
162 @Override
163 public Notification build() {
164 return mBuilder.build();
165 }
166 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698