remove setLatestEventInfo from API samples
Bug: 18510449
Change-Id: I26a9dbc6c92b226e28798e5a348c9357c85405ab
diff --git a/samples/Alarm/AndroidManifest.xml b/samples/Alarm/AndroidManifest.xml
index 6a7a831..2242567 100644
--- a/samples/Alarm/AndroidManifest.xml
+++ b/samples/Alarm/AndroidManifest.xml
@@ -29,6 +29,7 @@
<!--
Declares the application, its icon, and its visible label
-->
+ <uses-sdk android:minSdkVersion="11" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
diff --git a/samples/Alarm/src/com/example/android/newalarm/AlarmService.java b/samples/Alarm/src/com/example/android/newalarm/AlarmService.java
index 1f88206..ec3163c 100644
--- a/samples/Alarm/src/com/example/android/newalarm/AlarmService.java
+++ b/samples/Alarm/src/com/example/android/newalarm/AlarmService.java
@@ -181,13 +181,6 @@
// Sets the text to use for the status bar and status list views.
CharSequence notificationText = getText(R.string.alarm_service_started);
- // Sets the icon, status bar text, and display time for the mNotification.
- mNotification = new Notification(
- R.drawable.stat_sample, // the status icon
- notificationText, // the status text
- System.currentTimeMillis() // the time stamp
- );
-
// Sets up the Intent that starts AlarmActivity
mContentIntent = PendingIntent.getActivity(
this, // Start the Activity in the current context
@@ -196,14 +189,15 @@
0 // Use an existing activity instance if available
);
- // Creates a new content view for the mNotification. The view appears when the user
- // shows the expanded status window.
- mNotification.setLatestEventInfo(
- this, // Put the content view in the current context
- getText(R.string.alarm_service_label), // The text to use as the label of the entry
- notificationText, // The text to use as the contents of the entry
- mContentIntent // The intent to send when the entry is clicked
- );
+ // Build the notification object.
+ mNotification = new Notification.Builder(this) // The builder requires the context
+ .setSmallIcon(R.drawable.stat_sample) // the status icon
+ .setTicker(notificationText) // the status text
+ .setWhen(System.currentTimeMillis()) // the time stamp
+ .setContentTitle(getText(R.string.alarm_service_label)) // the label of the entry
+ .setContentText(notificationText) // the contents of the entry
+ .setContentIntent(mContentIntent) // The intent to send when the entry is clicked
+ .build();
// Sets a unique ID for the notification and sends it to NotificationManager to be
// displayed. The ID is the integer marker for the notification string, which is
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/AlarmService_Service.java b/samples/ApiDemos/src/com/example/android/apis/app/AlarmService_Service.java
index 6762ba9..cede9dc 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/AlarmService_Service.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/AlarmService_Service.java
@@ -99,17 +99,19 @@
// In this sample, we'll use the same text for the ticker and the expanded notification
CharSequence text = getText(R.string.alarm_service_started);
- // Set the icon, scrolling text and timestamp
- Notification notification = new Notification(R.drawable.stat_sample, text,
- System.currentTimeMillis());
-
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, AlarmService.class), 0);
// Set the info for the views that show in the notification panel.
- notification.setLatestEventInfo(this, getText(R.string.alarm_service_label),
- text, contentIntent);
+ Notification notification = new Notification.Builder(this)
+ .setSmallIcon(R.drawable.stat_sample) // the status icon
+ .setTicker(text) // the status text
+ .setWhen(System.currentTimeMillis()) // the time stamp
+ .setContentTitle(getText(R.string.alarm_service_label)) // the label of the entry
+ .setContentText(text) // the contents of the entry
+ .setContentIntent(contentIntent) // The intent to send when the entry is clicked
+ .build();
// Send the notification.
// We use a layout id because it is a unique number. We use it later to cancel.
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/ForegroundService.java b/samples/ApiDemos/src/com/example/android/apis/app/ForegroundService.java
index 123e369..19e41d8 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/ForegroundService.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/ForegroundService.java
@@ -166,18 +166,19 @@
// In this sample, we'll use the same text for the ticker and the expanded notification
CharSequence text = getText(R.string.foreground_service_started);
- // Set the icon, scrolling text and timestamp
- Notification notification = new Notification(R.drawable.stat_sample, text,
- System.currentTimeMillis());
-
- // The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, Controller.class), 0);
// Set the info for the views that show in the notification panel.
- notification.setLatestEventInfo(this, getText(R.string.local_service_label),
- text, contentIntent);
-
+ Notification notification = new Notification.Builder(this)
+ .setSmallIcon(R.drawable.stat_sample) // the status icon
+ .setTicker(text) // the status text
+ .setWhen(System.currentTimeMillis()) // the time stamp
+ .setContentTitle(getText(R.string.alarm_service_label)) // the label
+ .setContentText(text) // the contents of the entry
+ .setContentIntent(contentIntent) // The intent to send when clicked
+ .build();
+
startForegroundCompat(R.string.foreground_service_started, notification);
} else if (ACTION_BACKGROUND.equals(intent.getAction())) {
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/IncomingMessage.java b/samples/ApiDemos/src/com/example/android/apis/app/IncomingMessage.java
index 63a254f..399f52d 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/IncomingMessage.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/IncomingMessage.java
@@ -121,24 +121,26 @@
// The ticker text, this uses a formatted string so our message could be localized
String tickerText = getString(R.string.imcoming_message_ticker_text, message);
- // construct the Notification object.
- Notification notif = new Notification(R.drawable.stat_sample, tickerText,
- System.currentTimeMillis());
-
// Set the info for the views that show in the notification panel.
- notif.setLatestEventInfo(this, from, message, contentIntent);
+ Notification.Builder notifBuilder = new Notification.Builder(this)
+ .setSmallIcon(R.drawable.stat_sample) // the status icon
+ .setTicker(tickerText) // the status text
+ .setWhen(System.currentTimeMillis()) // the time stamp
+ .setContentTitle(from) // the label of the entry
+ .setContentText(message) // the contents of the entry
+ .setContentIntent(contentIntent); // The intent to send when the entry is clicked
// We'll have this notification do the default sound, vibration, and led.
// Note that if you want any of these behaviors, you should always have
// a preference for the user to turn them off.
- notif.defaults = Notification.DEFAULT_ALL;
+ notifBuilder.setDefaults(Notification.DEFAULT_ALL);
// Note that we use R.layout.incoming_message_panel as the ID for
// the notification. It could be any integer you want, but we use
// the convention of using a resource id for a string related to
// the notification. It will always be a unique number within your
// application.
- nm.notify(R.string.imcoming_message_ticker_text, notif);
+ nm.notify(R.string.imcoming_message_ticker_text, notifBuilder.build());
}
//END_INCLUDE(app_notification)
@@ -174,24 +176,26 @@
// The ticker text, this uses a formatted string so our message could be localized
String tickerText = getString(R.string.imcoming_message_ticker_text, message);
- // construct the Notification object.
- Notification notif = new Notification(R.drawable.stat_sample, tickerText,
- System.currentTimeMillis());
-
// Set the info for the views that show in the notification panel.
- notif.setLatestEventInfo(this, from, message, contentIntent);
+ Notification.Builder notifBuilder = new Notification.Builder(this)
+ .setSmallIcon(R.drawable.stat_sample) // the status icon
+ .setTicker(tickerText) // the status text
+ .setWhen(System.currentTimeMillis()) // the time stamp
+ .setContentTitle(from) // the label of the entry
+ .setContentText(message) // the contents of the entry
+ .setContentIntent(contentIntent); // The intent to send when the entry is clicked
// We'll have this notification do the default sound, vibration, and led.
// Note that if you want any of these behaviors, you should always have
// a preference for the user to turn them off.
- notif.defaults = Notification.DEFAULT_ALL;
+ notifBuilder.setDefaults(Notification.DEFAULT_ALL);
// Note that we use R.layout.incoming_message_panel as the ID for
// the notification. It could be any integer you want, but we use
// the convention of using a resource id for a string related to
// the notification. It will always be a unique number within your
// application.
- nm.notify(R.string.imcoming_message_ticker_text, notif);
+ nm.notify(R.string.imcoming_message_ticker_text, notifBuilder.build());
}
//END_INCLUDE(interstitial_notification)
}
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/LocalService.java b/samples/ApiDemos/src/com/example/android/apis/app/LocalService.java
index ea1b681..a3742ca 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/LocalService.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/LocalService.java
@@ -100,17 +100,19 @@
// In this sample, we'll use the same text for the ticker and the expanded notification
CharSequence text = getText(R.string.local_service_started);
- // Set the icon, scrolling text and timestamp
- Notification notification = new Notification(R.drawable.stat_sample, text,
- System.currentTimeMillis());
-
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, LocalServiceActivities.Controller.class), 0);
// Set the info for the views that show in the notification panel.
- notification.setLatestEventInfo(this, getText(R.string.local_service_label),
- text, contentIntent);
+ Notification notification = new Notification.Builder(this)
+ .setSmallIcon(R.drawable.stat_sample) // the status icon
+ .setTicker(text) // the status text
+ .setWhen(System.currentTimeMillis()) // the time stamp
+ .setContentTitle(getText(R.string.local_service_label)) // the label of the entry
+ .setContentText(text) // the contents of the entry
+ .setContentIntent(contentIntent) // The intent to send when the entry is clicked
+ .build();
// Send the notification.
mNM.notify(NOTIFICATION, notification);
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/MessengerService.java b/samples/ApiDemos/src/com/example/android/apis/app/MessengerService.java
index a21763e..f25af91 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/MessengerService.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/MessengerService.java
@@ -149,17 +149,19 @@
// In this sample, we'll use the same text for the ticker and the expanded notification
CharSequence text = getText(R.string.remote_service_started);
- // Set the icon, scrolling text and timestamp
- Notification notification = new Notification(R.drawable.stat_sample, text,
- System.currentTimeMillis());
-
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, Controller.class), 0);
// Set the info for the views that show in the notification panel.
- notification.setLatestEventInfo(this, getText(R.string.remote_service_label),
- text, contentIntent);
+ Notification notification = new Notification.Builder(this)
+ .setSmallIcon(R.drawable.stat_sample) // the status icon
+ .setTicker(text) // the status text
+ .setWhen(System.currentTimeMillis()) // the time stamp
+ .setContentTitle(getText(R.string.local_service_label)) // the label of the entry
+ .setContentText(text) // the contents of the entry
+ .setContentIntent(contentIntent) // The intent to send when the entry is clicked
+ .build();
// Send the notification.
// We use a string id because it is a unique number. We use it later to cancel.
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/NotifyingService.java b/samples/ApiDemos/src/com/example/android/apis/app/NotifyingService.java
index 3b8139f..acb0095 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/NotifyingService.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/NotifyingService.java
@@ -94,20 +94,23 @@
// In this sample, we'll use the same text for the ticker and the expanded notification
CharSequence text = getText(textId);
- // Set the icon, scrolling text and timestamp.
- // Note that in this example, we pass null for tickerText. We update the icon enough that
- // it is distracting to show the ticker text every time it changes. We strongly suggest
- // that you do this as well. (Think of of the "New hardware found" or "Network connection
- // changed" messages that always pop up)
- Notification notification = new Notification(moodId, null, System.currentTimeMillis());
-
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, NotifyingController.class), 0);
+ // Set the icon and timestamp.
+ // Note that in this example, we do not set the tickerText. We update the icon enough that
+ // it is distracting to show the ticker text every time it changes. We strongly suggest
+ // that you do this as well. (Think of of the "New hardware found" or "Network connection
+ // changed" messages that always pop up)
// Set the info for the views that show in the notification panel.
- notification.setLatestEventInfo(this, getText(R.string.status_bar_notifications_mood_title),
- text, contentIntent);
+ Notification notification = new Notification.Builder(this)
+ .setSmallIcon(moodId)
+ .setWhen(System.currentTimeMillis())
+ .setContentTitle(getText(R.string.status_bar_notifications_mood_title))
+ .setContentText(text) // the contents of the entry
+ .setContentIntent(contentIntent) // The intent to send when the entry is clicked
+ .build();
// Send the notification.
// We use a layout id because it is a unique number. We use it later to cancel.
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/RemoteService.java b/samples/ApiDemos/src/com/example/android/apis/app/RemoteService.java
index 3745def..41b9d88 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/RemoteService.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/RemoteService.java
@@ -190,17 +190,19 @@
// In this sample, we'll use the same text for the ticker and the expanded notification
CharSequence text = getText(R.string.remote_service_started);
- // Set the icon, scrolling text and timestamp
- Notification notification = new Notification(R.drawable.stat_sample, text,
- System.currentTimeMillis());
-
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, Controller.class), 0);
// Set the info for the views that show in the notification panel.
- notification.setLatestEventInfo(this, getText(R.string.remote_service_label),
- text, contentIntent);
+ Notification notification = new Notification.Builder(this)
+ .setSmallIcon(R.drawable.stat_sample) // the status icon
+ .setTicker(text) // the status text
+ .setWhen(System.currentTimeMillis()) // the time stamp
+ .setContentTitle(getText(R.string.remote_service_label)) // the label of the entry
+ .setContentText(text) // the contents of the entry
+ .setContentIntent(contentIntent) // The intent to send when the entry is clicked
+ .build();
// Send the notification.
// We use a string id because it is a unique number. We use it later to cancel.
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/ServiceStartArguments.java b/samples/ApiDemos/src/com/example/android/apis/app/ServiceStartArguments.java
index f551447..584dff3 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/ServiceStartArguments.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/ServiceStartArguments.java
@@ -174,24 +174,25 @@
* Show a notification while this service is running.
*/
private void showNotification(String text) {
- // Set the icon, scrolling text and timestamp
- Notification notification = new Notification(R.drawable.stat_sample, text,
- System.currentTimeMillis());
-
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, Controller.class), 0);
// Set the info for the views that show in the notification panel.
- notification.setLatestEventInfo(this, getText(R.string.service_start_arguments_label),
- text, contentIntent);
+ Notification.Builder noteBuilder = new Notification.Builder(this)
+ .setSmallIcon(R.drawable.stat_sample) // the status icon
+ .setTicker(text) // the status text
+ .setWhen(System.currentTimeMillis()) // the time stamp
+ .setContentTitle(getText(R.string.service_start_arguments_label)) // the label
+ .setContentText(text) // the contents of the entry
+ .setContentIntent(contentIntent); // The intent to send when the entry is clicked
// We show this for as long as our service is processing a command.
- notification.flags |= Notification.FLAG_ONGOING_EVENT;
+ noteBuilder.setOngoing(true);
// Send the notification.
// We use a string id because it is a unique number. We use it later to cancel.
- mNM.notify(R.string.service_created, notification);
+ mNM.notify(R.string.service_created, noteBuilder.build());
}
private void hideNotification() {
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/StatusBarNotifications.java b/samples/ApiDemos/src/com/example/android/apis/app/StatusBarNotifications.java
index 7179b25..4ae7553 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/StatusBarNotifications.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/StatusBarNotifications.java
@@ -194,20 +194,25 @@
// In this sample, we'll use the same text for the ticker and the expanded notification
CharSequence text = getText(textId);
- // choose the ticker text
- String tickerText = showTicker ? getString(textId) : null;
-
- // Set the icon, scrolling text and timestamp
- Notification notification = new Notification(moodId, tickerText,
- System.currentTimeMillis());
+ // In this sample, we'll use this text for the title of the notification
+ CharSequence title = getText(R.string.status_bar_notifications_mood_title);
// Set the info for the views that show in the notification panel.
- notification.setLatestEventInfo(this, getText(R.string.status_bar_notifications_mood_title),
- text, makeMoodIntent(moodId));
+ Notification.Builder notifBuidler = new Notification.Builder(this) // the context to use
+ .setSmallIcon(moodId) // the status icon
+ .setWhen(System.currentTimeMillis()) // the timestamp for the notification
+ .setContentTitle(title) // the title for the notification
+ .setContentText(text) // the details to display in the notification
+ .setContentIntent(makeMoodIntent(moodId)); // The intent to send clicked
+
+ if (showTicker) {
+ // include the ticker text
+ notifBuidler.setTicker(getString(textId));
+ }
// Send the notification.
// We use a layout id because it is a unique number. We use it later to cancel.
- mNotificationManager.notify(MOOD_NOTIFICATIONS, notification);
+ mNotificationManager.notify(MOOD_NOTIFICATIONS, notifBuidler.build());
}
private void setMoodView(int moodId, int textId) {
@@ -239,29 +244,27 @@
}
private void setDefault(int defaults) {
-
- // This method sets the defaults on the notification before posting it.
-
+
// This is who should be launched if the user selects our notification.
PendingIntent contentIntent = makeDefaultIntent();
// In this sample, we'll use the same text for the ticker and the expanded notification
CharSequence text = getText(R.string.status_bar_notifications_happy_message);
- final Notification notification = new Notification(
- R.drawable.stat_happy, // the icon for the status bar
- text, // the text to display in the ticker
- System.currentTimeMillis()); // the timestamp for the notification
+ // In this sample, we'll use this text for the title of the notification
+ CharSequence title = getText(R.string.status_bar_notifications_mood_title);
- notification.setLatestEventInfo(
- this, // the context to use
- getText(R.string.status_bar_notifications_mood_title),
- // the title for the notification
- text, // the details to display in the notification
- contentIntent); // the contentIntent (see above)
+ // Set the info for the views that show in the notification panel.
+ Notification notification = new Notification.Builder(this) // the context to use
+ .setSmallIcon(R.drawable.stat_happy) // the status icon
+ .setTicker(text) // the text to display in the ticker
+ .setWhen(System.currentTimeMillis()) // the timestamp for the notification
+ .setContentTitle(title) // the title for the notification
+ .setContentText(text) // the details to display in the notification
+ .setContentIntent(contentIntent) // The intent to send when the entry is clicked
+ .setDefaults(defaults)
+ .build();
- notification.defaults = defaults;
-
mNotificationManager.notify(
MOOD_NOTIFICATIONS, // we use a string id because it is a unique
// number. we use it later to cancel the notification
diff --git a/samples/RandomMusicPlayer/src/com/example/android/musicplayer/MusicService.java b/samples/RandomMusicPlayer/src/com/example/android/musicplayer/MusicService.java
index 25f5d81..5c3ccf4 100644
--- a/samples/RandomMusicPlayer/src/com/example/android/musicplayer/MusicService.java
+++ b/samples/RandomMusicPlayer/src/com/example/android/musicplayer/MusicService.java
@@ -150,7 +150,7 @@
AudioManager mAudioManager;
NotificationManager mNotificationManager;
- Notification mNotification = null;
+ Notification.Builder mNotificationBuilder = null;
/**
* Makes sure the media player exists and has been reset. This will create the media player
@@ -516,8 +516,9 @@
PendingIntent pi = PendingIntent.getActivity(getApplicationContext(), 0,
new Intent(getApplicationContext(), MainActivity.class),
PendingIntent.FLAG_UPDATE_CURRENT);
- mNotification.setLatestEventInfo(getApplicationContext(), "RandomMusicPlayer", text, pi);
- mNotificationManager.notify(NOTIFICATION_ID, mNotification);
+ mNotificationBuilder.setContentText(text)
+ .setContentIntent(pi);
+ mNotificationManager.notify(NOTIFICATION_ID, mNotificationBuilder.build());
}
/**
@@ -529,13 +530,18 @@
PendingIntent pi = PendingIntent.getActivity(getApplicationContext(), 0,
new Intent(getApplicationContext(), MainActivity.class),
PendingIntent.FLAG_UPDATE_CURRENT);
- mNotification = new Notification();
- mNotification.tickerText = text;
- mNotification.icon = R.drawable.ic_stat_playing;
- mNotification.flags |= Notification.FLAG_ONGOING_EVENT;
- mNotification.setLatestEventInfo(getApplicationContext(), "RandomMusicPlayer",
- text, pi);
- startForeground(NOTIFICATION_ID, mNotification);
+
+ // Build the notification object.
+ mNotificationBuilder = new Notification.Builder(getApplicationContext())
+ .setSmallIcon(R.drawable.ic_stat_playing)
+ .setTicker(text)
+ .setWhen(System.currentTimeMillis())
+ .setContentTitle("RandomMusicPlayer")
+ .setContentText(text)
+ .setContentIntent(pi)
+ .setOngoing(true);
+
+ startForeground(NOTIFICATION_ID, mNotificationBuilder.build());
}
/**