OLD | NEW |
| (Empty) |
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 | |
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.graphics.Bitmap; | |
10 | |
11 import javax.annotation.Nullable; | |
12 | |
13 /** | |
14 * Builds a notification using the given inputs. | |
15 */ | |
16 public interface NotificationBuilder { | |
17 | |
18 /** | |
19 * Combines all of the options that have been set and returns a new Notifica
tion object. | |
20 */ | |
21 Notification build(); | |
22 | |
23 /** | |
24 * Sets the title text (first row) of the notification. | |
25 */ | |
26 NotificationBuilder setTitle(@Nullable CharSequence title); | |
27 | |
28 /** | |
29 * Sets the body text (second row) of the notification. | |
30 */ | |
31 NotificationBuilder setBody(@Nullable CharSequence body); | |
32 | |
33 /** | |
34 * Sets the origin text (bottom row) of the notification. | |
35 */ | |
36 NotificationBuilder setOrigin(@Nullable CharSequence origin); | |
37 | |
38 /** | |
39 * Sets the text that is displayed in the status bar when the notification f
irst arrives. | |
40 */ | |
41 NotificationBuilder setTicker(@Nullable CharSequence tickerText); | |
42 | |
43 /** | |
44 * Sets the large icon that is shown in the notification. | |
45 */ | |
46 NotificationBuilder setLargeIcon(@Nullable Bitmap icon); | |
47 | |
48 /** | |
49 * Sets the the small icon that is shown in the notification and in the stat
us bar. | |
50 */ | |
51 NotificationBuilder setSmallIcon(int iconId); | |
52 | |
53 /** | |
54 * Sets the PendingIntent to send when the notification is clicked. | |
55 */ | |
56 NotificationBuilder setContentIntent(@Nullable PendingIntent intent); | |
57 | |
58 /** | |
59 * Sets the PendingIntent to send when the notification is cleared by the us
er directly from the | |
60 * notification panel. | |
61 */ | |
62 NotificationBuilder setDeleteIntent(@Nullable PendingIntent intent); | |
63 | |
64 /** | |
65 * Adds an action to the notification. Actions are typically displayed as a
button adjacent to | |
66 * the notification content. | |
67 */ | |
68 NotificationBuilder addAction( | |
69 int iconId, @Nullable CharSequence title, @Nullable PendingIntent in
tent); | |
70 | |
71 /** | |
72 * Adds an action to the notification for opening the settings screen. | |
73 */ | |
74 NotificationBuilder addSettingsAction(int iconId, CharSequence title, Pendin
gIntent intent); | |
75 | |
76 /** | |
77 * Sets the default notification options that will be used. | |
78 * <p> | |
79 * The value should be one or more of the following fields combined with | |
80 * bitwise-or: | |
81 * {@link Notification#DEFAULT_SOUND}, {@link Notification#DEFAULT_VIBRATE}, | |
82 * {@link Notification#DEFAULT_LIGHTS}. | |
83 * <p> | |
84 * For all default values, use {@link Notification#DEFAULT_ALL}. | |
85 */ | |
86 NotificationBuilder setDefaults(int defaults); | |
87 | |
88 /** | |
89 * Sets the vibration pattern to use. | |
90 */ | |
91 NotificationBuilder setVibrate(@Nullable long[] pattern); | |
92 } | |
OLD | NEW |