From 1ce4b6d3c6cb5b2eb9c9d00472be12245db92427 Mon Sep 17 00:00:00 2001 From: Chris Wren Date: Thu, 11 Jun 2015 10:19:43 -0400 Subject: remove usage of deprecated method setLatestEventInfo Bug: 18510449 Change-Id: I56a77991c729990e501f402e007dfa79ee57621e --- core/java/android/app/Notification.java | 13 +- .../src/android/app/NotificationStressTest.java | 13 +- .../internal/location/GpsNetInitiatedHandler.java | 30 +- .../com/android/server/ConnectivityService.java | 20 +- .../android/server/InputMethodManagerService.java | 34 +- .../com/android/server/UiModeManagerService.java | 29 +- .../server/accounts/AccountManagerService.java | 37 +- .../android/server/am/ActivityManagerService.java | 66 +-- .../com/android/server/connectivity/Tethering.java | 49 +- .../com/android/server/content/SyncManager.java | 22 +- .../fixvibratesetting/FixVibrateSetting.java | 16 +- .../android/frameworkperf/SchedulerService.java | 21 +- .../res/drawable-hdpi/stat_sys_warning.png | Bin 0 -> 769 bytes .../res/drawable-mdpi/stat_sys_warning.png | Bin 0 -> 654 bytes .../statusbartest/NotificationTestList.java | 550 +++++++++++---------- .../com/android/statusbartest/StatusBarTest.java | 23 +- 16 files changed, 480 insertions(+), 443 deletions(-) create mode 100644 tests/StatusBar/res/drawable-hdpi/stat_sys_warning.png create mode 100644 tests/StatusBar/res/drawable-mdpi/stat_sys_warning.png diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 96c6878..33a47b2 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -1331,11 +1331,14 @@ public class Notification implements Parcelable public Notification(Context context, int icon, CharSequence tickerText, long when, CharSequence contentTitle, CharSequence contentText, Intent contentIntent) { - this.when = when; - this.icon = icon; - this.tickerText = tickerText; - setLatestEventInfo(context, contentTitle, contentText, - PendingIntent.getActivity(context, 0, contentIntent, 0)); + new Builder(context) + .setWhen(when) + .setSmallIcon(icon) + .setTicker(tickerText) + .setContentTitle(contentTitle) + .setContentText(contentText) + .setContentIntent(PendingIntent.getActivity(context, 0, contentIntent, 0)) + .buildInto(this); } /** diff --git a/core/tests/notificationtests/src/android/app/NotificationStressTest.java b/core/tests/notificationtests/src/android/app/NotificationStressTest.java index 52ea1c4..4cb617e 100644 --- a/core/tests/notificationtests/src/android/app/NotificationStressTest.java +++ b/core/tests/notificationtests/src/android/app/NotificationStressTest.java @@ -77,15 +77,20 @@ public class NotificationStressTest extends InstrumentationTestCase { } private void sendNotification(int id, CharSequence text) { - // Create "typical" notification with random icon - Notification notification = new Notification(ICONS[mRandom.nextInt(ICONS.length)], text, - System.currentTimeMillis()); // Fill in arbitrary content Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")); PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, 0); CharSequence title = text + " " + id; CharSequence subtitle = String.valueOf(System.currentTimeMillis()); - notification.setLatestEventInfo(mContext, title, subtitle, pendingIntent); + // Create "typical" notification with random icon + Notification notification = new Notification.Builder(mContext) + .setSmallIcon(ICONS[mRandom.nextInt(ICONS.length)]) + .setTicker(text) + .setWhen(System.currentTimeMillis()) + .setContentTitle(title) + .setContentText(subtitle) + .setContentIntent(pendingIntent) + .build(); mNotificationManager.notify(id, notification); SystemClock.sleep(10); } diff --git a/location/java/com/android/internal/location/GpsNetInitiatedHandler.java b/location/java/com/android/internal/location/GpsNetInitiatedHandler.java index 95b3eb3..260f380 100644 --- a/location/java/com/android/internal/location/GpsNetInitiatedHandler.java +++ b/location/java/com/android/internal/location/GpsNetInitiatedHandler.java @@ -172,7 +172,7 @@ public class GpsNetInitiatedHandler { *

* This is lazily created, so use {@link #setNINotification()}. */ - private Notification mNiNotification; + private Notification.Builder mNiNotificationBuilder; public GpsNetInitiatedHandler(Context context, INetInitiatedListener netInitiatedListener, @@ -367,29 +367,31 @@ public class GpsNetInitiatedHandler { ", message: " + message); // Construct Notification - if (mNiNotification == null) { - mNiNotification = new Notification(); - mNiNotification.icon = com.android.internal.R.drawable.stat_sys_gps_on; /* Change notification icon here */ - mNiNotification.when = 0; + if (mNiNotificationBuilder == null) { + mNiNotificationBuilder = new Notification.Builder(mContext) + .setSmallIcon(com.android.internal.R.drawable.stat_sys_gps_on) + .setWhen(0) + .setOngoing(true) + .setAutoCancel(true) + .setColor(mContext.getColor( + com.android.internal.R.color.system_notification_accent_color)); } if (mPlaySounds) { - mNiNotification.defaults |= Notification.DEFAULT_SOUND; + mNiNotificationBuilder.setDefaults(Notification.DEFAULT_SOUND); } else { - mNiNotification.defaults &= ~Notification.DEFAULT_SOUND; + mNiNotificationBuilder.setDefaults(0); } - mNiNotification.flags = Notification.FLAG_ONGOING_EVENT | Notification.FLAG_AUTO_CANCEL; - mNiNotification.tickerText = getNotifTicker(notif, mContext); - // if not to popup dialog immediately, pending intent will open the dialog Intent intent = !mPopupImmediately ? getDlgIntent(notif) : new Intent(); PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, intent, 0); - mNiNotification.color = mContext.getColor( - com.android.internal.R.color.system_notification_accent_color); - mNiNotification.setLatestEventInfo(mContext, title, message, pi); + mNiNotificationBuilder.setTicker(getNotifTicker(notif, mContext)) + .setContentTitle(title) + .setContentText(message) + .setContentIntent(pi); - notificationManager.notifyAsUser(null, notif.notificationId, mNiNotification, + notificationManager.notifyAsUser(null, notif.notificationId, mNiNotificationBuilder.build(), UserHandle.ALL); } diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 9c6e16f..f645764 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -3289,7 +3289,6 @@ public class ConnectivityService extends IConnectivityManager.Stub CharSequence title; CharSequence details; int icon; - Notification notification = new Notification(); if (notifyType == NotificationType.NO_INTERNET && networkType == ConnectivityManager.TYPE_WIFI) { title = r.getString(R.string.wifi_no_internet, 0); @@ -3324,14 +3323,17 @@ public class ConnectivityService extends IConnectivityManager.Stub return; } - notification.when = 0; - notification.icon = icon; - notification.flags = Notification.FLAG_AUTO_CANCEL; - notification.tickerText = title; - notification.color = mContext.getColor( - com.android.internal.R.color.system_notification_accent_color); - notification.setLatestEventInfo(mContext, title, details, notification.contentIntent); - notification.contentIntent = intent; + Notification notification = new Notification.Builder(mContext) + .setWhen(0) + .setSmallIcon(icon) + .setAutoCancel(true) + .setTicker(title) + .setColor(mContext.getColor( + com.android.internal.R.color.system_notification_accent_color)) + .setContentTitle(title) + .setContentText(details) + .setContentIntent(intent) + .build(); try { notificationManager.notify(NOTIFICATION_ID, id, notification); diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/server/InputMethodManagerService.java index 6e6fb7f..a5d536e 100644 --- a/services/core/java/com/android/server/InputMethodManagerService.java +++ b/services/core/java/com/android/server/InputMethodManagerService.java @@ -71,6 +71,7 @@ import android.graphics.drawable.Drawable; import android.inputmethodservice.InputMethodService; import android.net.Uri; import android.os.Binder; +import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.os.IBinder; @@ -212,7 +213,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub private NotificationManager mNotificationManager; private KeyguardManager mKeyguardManager; private StatusBarManagerService mStatusBar; - private Notification mImeSwitcherNotification; + private Notification.Builder mImeSwitcherNotification; private PendingIntent mImeSwitchPendingIntent; private boolean mShowOngoingImeSwitcherForPhones; private boolean mNotificationShown; @@ -798,18 +799,15 @@ public class InputMethodManagerService extends IInputMethodManager.Stub mHasFeature = context.getPackageManager().hasSystemFeature( PackageManager.FEATURE_INPUT_METHODS); - mImeSwitcherNotification = new Notification(); - mImeSwitcherNotification.icon = com.android.internal.R.drawable.ic_notification_ime_default; - mImeSwitcherNotification.when = 0; - mImeSwitcherNotification.flags = Notification.FLAG_ONGOING_EVENT; - mImeSwitcherNotification.tickerText = null; - mImeSwitcherNotification.defaults = 0; // please be quiet - mImeSwitcherNotification.sound = null; - mImeSwitcherNotification.vibrate = null; - - // Tag this notification specially so SystemUI knows it's important - mImeSwitcherNotification.extras.putBoolean(Notification.EXTRA_ALLOW_DURING_SETUP, true); - mImeSwitcherNotification.category = Notification.CATEGORY_SYSTEM; + Bundle extras = new Bundle(); + extras.putBoolean(Notification.EXTRA_ALLOW_DURING_SETUP, true); + mImeSwitcherNotification = new Notification.Builder(mContext) + .setSmallIcon(com.android.internal.R.drawable.ic_notification_ime_default) + .setWhen(0) + .setOngoing(true) + .addExtras(extras) + .setCategory(Notification.CATEGORY_SYSTEM) + .setColor(com.android.internal.R.color.system_notification_accent_color); Intent intent = new Intent(Settings.ACTION_SHOW_INPUT_METHOD_PICKER); mImeSwitchPendingIntent = PendingIntent.getBroadcast(mContext, 0, intent, 0); @@ -1766,11 +1764,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub com.android.internal.R.string.select_input_method); final CharSequence summary = InputMethodUtils.getImeAndSubtypeDisplayName( mContext, imi, mCurrentSubtype); - - mImeSwitcherNotification.color = mContext.getColor( - com.android.internal.R.color.system_notification_accent_color); - mImeSwitcherNotification.setLatestEventInfo( - mContext, title, summary, mImeSwitchPendingIntent); + mImeSwitcherNotification.setContentTitle(title) + .setContentText(summary) + .setContentIntent(mImeSwitchPendingIntent); if ((mNotificationManager != null) && !mWindowManagerService.hasNavigationBar()) { if (DEBUG) { @@ -1778,7 +1774,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } mNotificationManager.notifyAsUser(null, com.android.internal.R.string.select_input_method, - mImeSwitcherNotification, UserHandle.ALL); + mImeSwitcherNotification.build(), UserHandle.ALL); mNotificationShown = true; } } else { diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java index 64f3070..0b67ad8 100644 --- a/services/core/java/com/android/server/UiModeManagerService.java +++ b/services/core/java/com/android/server/UiModeManagerService.java @@ -601,21 +601,22 @@ final class UiModeManagerService extends SystemService { if (mCarModeEnabled) { Intent carModeOffIntent = new Intent(context, DisableCarModeActivity.class); - Notification n = new Notification(); - n.icon = R.drawable.stat_notify_car_mode; - n.defaults = Notification.DEFAULT_LIGHTS; - n.flags = Notification.FLAG_ONGOING_EVENT; - n.when = 0; - n.color = context.getColor( - com.android.internal.R.color.system_notification_accent_color); - n.setLatestEventInfo( - context, - context.getString(R.string.car_mode_disable_notification_title), - context.getString(R.string.car_mode_disable_notification_message), - PendingIntent.getActivityAsUser(context, 0, carModeOffIntent, 0, - null, UserHandle.CURRENT)); + Notification.Builder n = new Notification.Builder(context) + .setSmallIcon(R.drawable.stat_notify_car_mode) + .setDefaults(Notification.DEFAULT_LIGHTS) + .setOngoing(true) + .setWhen(0) + .setColor(context.getColor( + com.android.internal.R.color.system_notification_accent_color)) + .setContentTitle( + context.getString(R.string.car_mode_disable_notification_title)) + .setContentText( + context.getString(R.string.car_mode_disable_notification_message)) + .setContentIntent( + PendingIntent.getActivityAsUser(context, 0, carModeOffIntent, 0, + null, UserHandle.CURRENT)); mNotificationManager.notifyAsUser(null, - R.string.car_mode_disable_notification_title, n, UserHandle.ALL); + R.string.car_mode_disable_notification_title, n.build(), UserHandle.ALL); } else { mNotificationManager.cancelAsUser(null, R.string.car_mode_disable_notification_title, UserHandle.ALL); diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java index 21f96c9..cf9edcb 100644 --- a/services/core/java/com/android/server/accounts/AccountManagerService.java +++ b/services/core/java/com/android/server/accounts/AccountManagerService.java @@ -1961,8 +1961,6 @@ public class AccountManagerService String authTokenLabel = intent.getStringExtra( GrantCredentialsPermissionActivity.EXTRAS_AUTH_TOKEN_LABEL); - Notification n = new Notification(android.R.drawable.stat_sys_warning, null, - 0 /* when */); final String titleAndSubtitle = mContext.getString(R.string.permission_request_notification_with_subtitle, account.name); @@ -1975,11 +1973,16 @@ public class AccountManagerService } UserHandle user = new UserHandle(userId); Context contextForUser = getContextForUser(user); - n.color = contextForUser.getColor( - com.android.internal.R.color.system_notification_accent_color); - n.setLatestEventInfo(contextForUser, title, subtitle, - PendingIntent.getActivityAsUser(mContext, 0, intent, - PendingIntent.FLAG_CANCEL_CURRENT, null, user)); + Notification n = new Notification.Builder(contextForUser) + .setSmallIcon(android.R.drawable.stat_sys_warning) + .setWhen(0) + .setColor(contextForUser.getColor( + com.android.internal.R.color.system_notification_accent_color)) + .setContentTitle(title) + .setContentText(subtitle) + .setContentIntent(PendingIntent.getActivityAsUser(mContext, 0, intent, + PendingIntent.FLAG_CANCEL_CURRENT, null, user)) + .build(); installNotification(getCredentialPermissionNotificationId( account, authTokenType, uid), n, user); } @@ -3495,19 +3498,21 @@ public class AccountManagerService } else { final Integer notificationId = getSigninRequiredNotificationId(accounts, account); intent.addCategory(String.valueOf(notificationId)); - Notification n = new Notification(android.R.drawable.stat_sys_warning, null, - 0 /* when */); UserHandle user = new UserHandle(userId); Context contextForUser = getContextForUser(user); final String notificationTitleFormat = contextForUser.getText(R.string.notification_title).toString(); - n.color = contextForUser.getColor( - com.android.internal.R.color.system_notification_accent_color); - n.setLatestEventInfo(contextForUser, - String.format(notificationTitleFormat, account.name), - message, PendingIntent.getActivityAsUser( - mContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT, - null, user)); + Notification n = new Notification.Builder(contextForUser) + .setWhen(0) + .setSmallIcon(android.R.drawable.stat_sys_warning) + .setColor(contextForUser.getColor( + com.android.internal.R.color.system_notification_accent_color)) + .setContentTitle(String.format(notificationTitleFormat, account.name)) + .setContentText(message) + .setContentIntent(PendingIntent.getActivityAsUser( + mContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT, + null, user)) + .build(); installNotification(notificationId, n, user); } } finally { diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 0d08c2a..16b97fa 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -1713,22 +1713,20 @@ public final class ActivityManagerService extends ActivityManagerNative Context context = mContext.createPackageContext(process.info.packageName, 0); String text = mContext.getString(R.string.heavy_weight_notification, context.getApplicationInfo().loadLabel(context.getPackageManager())); - Notification notification = new Notification(); - notification.icon = com.android.internal.R.drawable.stat_sys_adb; //context.getApplicationInfo().icon; - notification.when = 0; - notification.flags = Notification.FLAG_ONGOING_EVENT; - notification.tickerText = text; - notification.defaults = 0; // please be quiet - notification.sound = null; - notification.vibrate = null; - notification.color = mContext.getColor( - com.android.internal.R.color.system_notification_accent_color); - notification.setLatestEventInfo(context, text, - mContext.getText(R.string.heavy_weight_notification_detail), - PendingIntent.getActivityAsUser(mContext, 0, root.intent, - PendingIntent.FLAG_CANCEL_CURRENT, null, - new UserHandle(root.userId))); - + Notification notification = new Notification.Builder(context) + .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb) + .setWhen(0) + .setOngoing(true) + .setTicker(text) + .setColor(mContext.getColor( + com.android.internal.R.color.system_notification_accent_color)) + .setContentTitle(text) + .setContentText( + mContext.getText(R.string.heavy_weight_notification_detail)) + .setContentIntent(PendingIntent.getActivityAsUser(mContext, 0, + root.intent, PendingIntent.FLAG_CANCEL_CURRENT, null, + new UserHandle(root.userId))) + .build(); try { int[] outId = new int[1]; inm.enqueueNotificationWithTag("android", "android", null, @@ -1947,20 +1945,10 @@ public final class ActivityManagerService extends ActivityManagerNative } String text = mContext.getString(R.string.dump_heap_notification, procName); - Notification notification = new Notification(); - notification.icon = com.android.internal.R.drawable.stat_sys_adb; - notification.when = 0; - notification.flags = Notification.FLAG_ONGOING_EVENT|Notification.FLAG_AUTO_CANCEL; - notification.tickerText = text; - notification.defaults = 0; // please be quiet - notification.sound = null; - notification.vibrate = null; - notification.color = mContext.getColor( - com.android.internal.R.color.system_notification_accent_color); + + Intent deleteIntent = new Intent(); deleteIntent.setAction(DumpHeapActivity.ACTION_DELETE_DUMPHEAP); - notification.deleteIntent = PendingIntent.getBroadcastAsUser(mContext, 0, - deleteIntent, 0, UserHandle.OWNER); Intent intent = new Intent(); intent.setClassName("android", DumpHeapActivity.class.getName()); intent.putExtra(DumpHeapActivity.KEY_PROCESS, procName); @@ -1969,11 +1957,23 @@ public final class ActivityManagerService extends ActivityManagerNative intent.putExtra(DumpHeapActivity.KEY_DIRECT_LAUNCH, reportPackage); } int userId = UserHandle.getUserId(uid); - notification.setLatestEventInfo(mContext, text, - mContext.getText(R.string.dump_heap_notification_detail), - PendingIntent.getActivityAsUser(mContext, 0, intent, - PendingIntent.FLAG_CANCEL_CURRENT, null, - new UserHandle(userId))); + Notification notification = new Notification.Builder(mContext) + .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb) + .setWhen(0) + .setOngoing(true) + .setAutoCancel(true) + .setTicker(text) + .setColor(mContext.getColor( + com.android.internal.R.color.system_notification_accent_color)) + .setContentTitle(text) + .setContentText( + mContext.getText(R.string.dump_heap_notification_detail)) + .setContentIntent(PendingIntent.getActivityAsUser(mContext, 0, + intent, PendingIntent.FLAG_CANCEL_CURRENT, null, + new UserHandle(userId))) + .setDeleteIntent(PendingIntent.getBroadcastAsUser(mContext, 0, + deleteIntent, 0, UserHandle.OWNER)) + .build(); try { int[] outId = new int[1]; diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java index 897300f..c1aaf07 100644 --- a/services/core/java/com/android/server/connectivity/Tethering.java +++ b/services/core/java/com/android/server/connectivity/Tethering.java @@ -130,7 +130,8 @@ public class Tethering extends BaseNetworkObserver { private StateMachine mTetherMasterSM; - private Notification mTetheredNotification; + private Notification.Builder mTetheredNotificationBuilder; + private int mLastNotificationId; private boolean mRndisEnabled; // track the RNDIS function enabled state private boolean mUsbTetherRequested; // true if USB tethering should be started @@ -450,12 +451,13 @@ public class Tethering extends BaseNetworkObserver { return; } - if (mTetheredNotification != null) { - if (mTetheredNotification.icon == icon) { + if (mLastNotificationId != 0) { + if (mLastNotificationId == icon) { return; } - notificationManager.cancelAsUser(null, mTetheredNotification.icon, + notificationManager.cancelAsUser(null, mLastNotificationId, UserHandle.ALL); + mLastNotificationId = 0; } Intent intent = new Intent(); @@ -470,31 +472,32 @@ public class Tethering extends BaseNetworkObserver { CharSequence message = r.getText(com.android.internal.R.string. tethered_notification_message); - if (mTetheredNotification == null) { - mTetheredNotification = new Notification(); - mTetheredNotification.when = 0; - } - mTetheredNotification.icon = icon; - mTetheredNotification.defaults &= ~Notification.DEFAULT_SOUND; - mTetheredNotification.flags = Notification.FLAG_ONGOING_EVENT; - mTetheredNotification.tickerText = title; - mTetheredNotification.visibility = Notification.VISIBILITY_PUBLIC; - mTetheredNotification.color = mContext.getColor( - com.android.internal.R.color.system_notification_accent_color); - mTetheredNotification.setLatestEventInfo(mContext, title, message, pi); - mTetheredNotification.category = Notification.CATEGORY_STATUS; - - notificationManager.notifyAsUser(null, mTetheredNotification.icon, - mTetheredNotification, UserHandle.ALL); + if (mTetheredNotificationBuilder == null) { + mTetheredNotificationBuilder = new Notification.Builder(mContext); + mTetheredNotificationBuilder.setWhen(0) + .setOngoing(true) + .setColor(mContext.getColor( + com.android.internal.R.color.system_notification_accent_color)) + .setVisibility(Notification.VISIBILITY_PUBLIC) + .setCategory(Notification.CATEGORY_STATUS); + } + mTetheredNotificationBuilder.setSmallIcon(icon) + .setContentTitle(title) + .setContentText(message) + .setContentIntent(pi); + mLastNotificationId = icon; + + notificationManager.notifyAsUser(null, mLastNotificationId, + mTetheredNotificationBuilder.build(), UserHandle.ALL); } private void clearTetheredNotification() { NotificationManager notificationManager = (NotificationManager)mContext.getSystemService(Context.NOTIFICATION_SERVICE); - if (notificationManager != null && mTetheredNotification != null) { - notificationManager.cancelAsUser(null, mTetheredNotification.icon, + if (notificationManager != null && mLastNotificationId != 0) { + notificationManager.cancelAsUser(null, mLastNotificationId, UserHandle.ALL); - mTetheredNotification = null; + mLastNotificationId = 0; } } diff --git a/services/core/java/com/android/server/content/SyncManager.java b/services/core/java/com/android/server/content/SyncManager.java index 3dc282b..f222dba 100644 --- a/services/core/java/com/android/server/content/SyncManager.java +++ b/services/core/java/com/android/server/content/SyncManager.java @@ -3260,16 +3260,18 @@ public class SyncManager { R.string.contentServiceTooManyDeletesNotificationDesc); Context contextForUser = getContextForUser(user); - Notification notification = - new Notification(R.drawable.stat_notify_sync_error, - mContext.getString(R.string.contentServiceSync), - System.currentTimeMillis()); - notification.color = contextForUser.getColor( - com.android.internal.R.color.system_notification_accent_color); - notification.setLatestEventInfo(contextForUser, - contextForUser.getString(R.string.contentServiceSyncNotificationTitle), - String.format(tooManyDeletesDescFormat.toString(), authorityName), - pendingIntent); + Notification notification = new Notification.Builder(contextForUser) + .setSmallIcon(R.drawable.stat_notify_sync_error) + .setTicker(mContext.getString(R.string.contentServiceSync)) + .setWhen(System.currentTimeMillis()) + .setColor(contextForUser.getColor( + com.android.internal.R.color.system_notification_accent_color)) + .setContentTitle(contextForUser.getString( + R.string.contentServiceSyncNotificationTitle)) + .setContentText( + String.format(tooManyDeletesDescFormat.toString(), authorityName)) + .setContentIntent(pendingIntent) + .build(); notification.flags |= Notification.FLAG_ONGOING_EVENT; mNotificationMgr.notifyAsUser(null, account.hashCode() ^ authority.hashCode(), notification, user); diff --git a/tests/FixVibrateSetting/src/com/android/fixvibratesetting/FixVibrateSetting.java b/tests/FixVibrateSetting/src/com/android/fixvibratesetting/FixVibrateSetting.java index 947ea78..2e51570 100644 --- a/tests/FixVibrateSetting/src/com/android/fixvibratesetting/FixVibrateSetting.java +++ b/tests/FixVibrateSetting/src/com/android/fixvibratesetting/FixVibrateSetting.java @@ -109,14 +109,20 @@ public class FixVibrateSetting extends Activity implements View.OnClickListener } private void test() { - Notification n = new Notification(R.drawable.stat_sys_warning, "Test notification", - System.currentTimeMillis()); Intent intent = new Intent(this, FixVibrateSetting.class); PendingIntent pending = PendingIntent.getActivity(this, 0, intent, 0); - n.setLatestEventInfo(this, "Test notification", "Test notification", pending); - n.vibrate = new long[] { 0, 700, 500, 1000 }; - n.flags |= Notification.FLAG_AUTO_CANCEL; + Notification n = new Notification.Builder(this) + .setSmallIcon(R.drawable.stat_sys_warning) + .setTicker("Test notification") + .setWhen(System.currentTimeMillis()) + .setContentTitle("Test notification") + .setContentText("Test notification") + .setContentIntent(pending) + .setVibrate(new long[] { 0, 700, 500, 1000 }) + .setAutoCancel(true) + .build(); + mNotificationManager.notify(1, n); } } diff --git a/tests/FrameworkPerf/src/com/android/frameworkperf/SchedulerService.java b/tests/FrameworkPerf/src/com/android/frameworkperf/SchedulerService.java index 7691e64..fc3f390 100644 --- a/tests/FrameworkPerf/src/com/android/frameworkperf/SchedulerService.java +++ b/tests/FrameworkPerf/src/com/android/frameworkperf/SchedulerService.java @@ -26,15 +26,18 @@ public class SchedulerService extends Service { @Override public int onStartCommand(Intent intent, int flags, int startId) { - Notification status = new Notification(R.drawable.stat_happy, null, - System.currentTimeMillis()); - status.flags |= Notification.FLAG_ONGOING_EVENT; - status.setLatestEventInfo(this, "Scheduler Test running", - "Scheduler Test running", PendingIntent.getActivity(this, 0, - new Intent(this, FrameworkPerfActivity.class) - .setAction(Intent.ACTION_MAIN) - .addCategory(Intent.CATEGORY_LAUNCHER) - .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 0)); + Notification status = new Notification.Builder(this) + .setSmallIcon(R.drawable.stat_happy) + .setWhen(System.currentTimeMillis()) + .setContentTitle("Scheduler Test running") + .setContentText("Scheduler Test running") + .setContentIntent(PendingIntent.getActivity(this, 0, + new Intent(this, FrameworkPerfActivity.class) + .setAction(Intent.ACTION_MAIN) + .addCategory(Intent.CATEGORY_LAUNCHER) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 0)) + .setOngoing(true) + .build(); startForeground(1, status); return START_STICKY; } diff --git a/tests/StatusBar/res/drawable-hdpi/stat_sys_warning.png b/tests/StatusBar/res/drawable-hdpi/stat_sys_warning.png new file mode 100644 index 0000000..dbaf944 Binary files /dev/null and b/tests/StatusBar/res/drawable-hdpi/stat_sys_warning.png differ diff --git a/tests/StatusBar/res/drawable-mdpi/stat_sys_warning.png b/tests/StatusBar/res/drawable-mdpi/stat_sys_warning.png new file mode 100644 index 0000000..168f8f6 Binary files /dev/null and b/tests/StatusBar/res/drawable-mdpi/stat_sys_warning.png differ diff --git a/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java b/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java index ba160b1..67b9d77 100644 --- a/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java +++ b/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java @@ -25,7 +25,6 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; -import android.os.Environment; import android.os.Vibrator; import android.os.Handler; import android.os.UserHandle; @@ -85,7 +84,7 @@ public class NotificationTestList extends TestActivity } private Test[] mTests = new Test[] { - new Test("Off and sound") { + new Test("Off") { public void run() { PowerManager pm = (PowerManager)NotificationTestList.this.getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wl = @@ -94,9 +93,12 @@ public class NotificationTestList extends TestActivity pm.goToSleep(SystemClock.uptimeMillis()); - Notification n = new Notification(); - n.sound = Uri.parse("file://" + Environment.getExternalStorageDirectory() + - "/virtual-void.mp3"); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.stat_sys_phone) + .setContentTitle(name) + .setSound(Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + + getPackageName() + "/raw/ringer")) + .build(); Log.d(TAG, "n.sound=" + n.sound); mNM.notify(1, n); @@ -114,122 +116,120 @@ public class NotificationTestList extends TestActivity } }, - new Test("Button") { + new Test("Custom Button") { public void run() { - Notification n = new Notification(R.drawable.icon1, null, - mActivityCreateTime); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setWhen(mActivityCreateTime) + .setContentTitle(name) + .setOngoing(true) + .build(); n.contentView = new RemoteViews(getPackageName(), R.layout.button_notification); - n.flags |= Notification.FLAG_ONGOING_EVENT; - n.contentIntent = makeIntent(); n.contentView.setOnClickPendingIntent(R.id.button, makeIntent2()); mNM.notify(1, n); } }, - new Test("custom intent on text view") { + new Test("Action Button") { public void run() { - Notification n = new Notification(R.drawable.icon1, null, - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", null); - n.contentView.setOnClickPendingIntent(com.android.internal.R.id.text, - makeIntent2()); - mNM.notify(1, n); - } - }, + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setWhen(mActivityCreateTime) + .setContentTitle(name) + .setOngoing(true) + .addAction(R.drawable.ic_statusbar_chat, "Button", makeIntent2()) + .build(); - new Test("Ticker 1 line") { - public void run() { - Notification n = new Notification(R.drawable.icon1, "tick tick tick", - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", makeIntent()); mNM.notify(1, n); } }, - new Test("No view") { + new Test("with intent") { public void run() { - Notification n = new Notification(R.drawable.icon1, "No view", - System.currentTimeMillis()); - mNM.notify(1, n); - } - }, + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setWhen(mActivityCreateTime) + .setContentTitle("Persistent #1") + .setContentText("This is a notification!!!") + .setContentIntent(makeIntent2()) + .setOngoing(true) + .build(); - new Test("No intent") { - public void run() { - Notification n = new Notification(R.drawable.icon1, "No intent", - System.currentTimeMillis()); - n.setLatestEventInfo(NotificationTestList.this, "No intent", - "No intent", null); mNM.notify(1, n); } }, - new Test("Layout") { + new Test("Whens") { public void run() { - Notification n; + Notification.Builder n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setContentTitle(name) + .setOngoing(true); - n = new Notification(NotificationTestList.this, - R.drawable.ic_statusbar_missedcall, - null, System.currentTimeMillis()-(1000*60*60*24), - "(453) 123-2328", - "", null); - n.flags |= Notification.FLAG_ONGOING_EVENT; + mNM.notify(1, n.setContentTitle("(453) 123-2328") + .setWhen(System.currentTimeMillis()-(1000*60*60*24)) + .build()); - mNM.notify(1, n); - - mNM.notify(2, new Notification(NotificationTestList.this, - R.drawable.ic_statusbar_email, - null, System.currentTimeMillis(), - "Mark Willem, Me (2)", - "Re: Didn't you get the memo?", null)); + mNM.notify(1, n.setContentTitle("Mark Willem, Me (2)") + .setWhen(System.currentTimeMillis()) + .build()); - mNM.notify(3, new Notification(NotificationTestList.this, - R.drawable.ic_statusbar_chat, - null, System.currentTimeMillis()+(1000*60*60*24), - "Sophia Winterlanden", - "Lorem ipsum dolor sit amet.", null)); + mNM.notify(1, n.setContentTitle("Sophia Winterlanden") + .setWhen(System.currentTimeMillis() + (1000 * 60 * 60 * 24)) + .build()); } }, new Test("Bad Icon #1 (when=create)") { public void run() { - Notification n = new Notification(R.layout.chrono_notification /* not an icon */, - null, mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is the same notification!!!", makeIntent()); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.layout.chrono_notification /* not an icon */) + .setWhen(mActivityCreateTime) + .setContentTitle("Persistent #1") + .setContentText("This is the same notification!!") + .setContentIntent(makeIntent()) + .build(); mNM.notify(1, n); } }, new Test("Bad Icon #1 (when=now)") { public void run() { - Notification n = new Notification(R.layout.chrono_notification /* not an icon */, - null, System.currentTimeMillis()); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is the same notification!!!", makeIntent()); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.layout.chrono_notification /* not an icon */) + .setWhen(System.currentTimeMillis()) + .setContentTitle("Persistent #1") + .setContentText("This is the same notification!!") + .setContentIntent(makeIntent()) + .build(); mNM.notify(1, n); } }, new Test("Null Icon #1 (when=now)") { public void run() { - Notification n = new Notification(0, null, System.currentTimeMillis()); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is the same notification!!!", makeIntent()); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(0) + .setWhen(System.currentTimeMillis()) + .setContentTitle("Persistent #1") + .setContentText("This is the same notification!!") + .setContentIntent(makeIntent()) + .build(); mNM.notify(1, n); } }, new Test("Bad resource #1 (when=create)") { public void run() { - Notification n = new Notification(R.drawable.icon2, - null, mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is the same notification!!!", makeIntent()); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setWhen(mActivityCreateTime) + .setContentTitle("Persistent #1") + .setContentText("This is the same notification!!") + .setContentIntent(makeIntent()) + .build(); n.contentView.setInt(1 /*bogus*/, "bogus method", 666); mNM.notify(1, n); } @@ -237,29 +237,18 @@ public class NotificationTestList extends TestActivity new Test("Bad resource #1 (when=now)") { public void run() { - Notification n = new Notification(R.drawable.icon2, - null, System.currentTimeMillis()); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is the same notification!!!", makeIntent()); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setWhen(System.currentTimeMillis()) + .setContentTitle("Persistent #1") + .setContentText("This is the same notification!!") + .setContentIntent(makeIntent()) + .build(); n.contentView.setInt(1 /*bogus*/, "bogus method", 666); mNM.notify(1, n); } }, - - new Test("Bad resource #3") { - public void run() - { - Notification n = new Notification(NotificationTestList.this, - R.drawable.ic_statusbar_missedcall, - null, System.currentTimeMillis()-(1000*60*60*24), - "(453) 123-2328", - "", null); - n.contentView.setInt(1 /*bogus*/, "bogus method", 666); - mNM.notify(3, n); - } - }, - new Test("Times") { public void run() { @@ -278,22 +267,25 @@ public class NotificationTestList extends TestActivity new Runnable() { public void run() { Log.d(TAG, "Stress - Ongoing/Latest 0"); - Notification n = new Notification(NotificationTestList.this, - R.drawable.icon3, - null, System.currentTimeMillis(), "Stress - Ongoing", - "Notify me!!!", null); - n.flags |= Notification.FLAG_ONGOING_EVENT; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon3) + .setWhen(System.currentTimeMillis()) + .setContentTitle("Stress - Ongoing") + .setContentText("Notify me!!!") + .setOngoing(true) + .build(); mNM.notify(1, n); } }, new Runnable() { public void run() { Log.d(TAG, "Stress - Ongoing/Latest 1"); - Notification n = new Notification(NotificationTestList.this, - R.drawable.icon4, - null, System.currentTimeMillis(), "Stress - Latest", - "Notify me!!!", null); - //n.flags |= Notification.FLAG_ONGOING_EVENT; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon4) + .setWhen(System.currentTimeMillis()) + .setContentTitle("Stress - Latest") + .setContentText("Notify me!!!") + .build(); mNM.notify(1, n); } } @@ -302,12 +294,15 @@ public class NotificationTestList extends TestActivity new Test("Long") { public void run() { - Notification n = new Notification(); - n.defaults |= Notification.DEFAULT_SOUND ; - n.vibrate = new long[] { - 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, - 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, - 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 300, 400 }; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setContentTitle(name) + .setDefaults(Notification.DEFAULT_SOUND) + .setVibrate(new long[] { + 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, + 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, + 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 300, 400 }) + .build(); mNM.notify(1, n); } }, @@ -320,21 +315,19 @@ public class NotificationTestList extends TestActivity Thread t = new Thread() { public void run() { int x = 0; + final Notification.Builder n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setContentTitle(name) + .setOngoing(true); + while (!mProgressDone) { - Notification n = new Notification(R.drawable.icon1, null, - PROGRESS_UPDATES_WHEN + n.setWhen(PROGRESS_UPDATES_WHEN ? System.currentTimeMillis() : mActivityCreateTime); - RemoteViews v = new RemoteViews(getPackageName(), - R.layout.progress_notification); - - v.setProgressBar(R.id.progress_bar, 100, x, false); - v.setTextViewText(R.id.status_text, "Progress: " + x + "%"); - - n.contentView = v; - n.flags |= Notification.FLAG_ONGOING_EVENT; - - mNM.notify(500, n); + n.setProgress(100, x, false); + n.setContentText("Progress: " + x + "%"); + + mNM.notify(500, n.build()); x = (x + 7) % 100; try { @@ -359,11 +352,12 @@ public class NotificationTestList extends TestActivity new Test("Blue Lights") { public void run() { - Notification n = new Notification(); - n.flags |= Notification.FLAG_SHOW_LIGHTS; - n.ledARGB = 0xff0000ff; - n.ledOnMS = 1; - n.ledOffMS = 0; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setContentTitle(name) + .setLights(0xff0000ff, 1, 0) + .setDefaults(Notification.DEFAULT_LIGHTS) + .build(); mNM.notify(1, n); } }, @@ -371,11 +365,12 @@ public class NotificationTestList extends TestActivity new Test("Red Lights") { public void run() { - Notification n = new Notification(); - n.flags |= Notification.FLAG_SHOW_LIGHTS; - n.ledARGB = 0xffff0000; - n.ledOnMS = 1; - n.ledOffMS = 0; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setContentTitle(name) + .setLights(0xffff0000, 1, 0) + .setDefaults(Notification.DEFAULT_LIGHTS) + .build(); mNM.notify(1, n); } }, @@ -383,11 +378,12 @@ public class NotificationTestList extends TestActivity new Test("Yellow Lights") { public void run() { - Notification n = new Notification(); - n.flags |= Notification.FLAG_SHOW_LIGHTS; - n.ledARGB = 0xffffff00; - n.ledOnMS = 1; - n.ledOffMS = 0; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setContentTitle(name) + .setLights(0xffffff00, 1, 0) + .setDefaults(Notification.DEFAULT_LIGHTS) + .build(); mNM.notify(1, n); } }, @@ -395,11 +391,12 @@ public class NotificationTestList extends TestActivity new Test("Lights off") { public void run() { - Notification n = new Notification(); - n.flags |= Notification.FLAG_SHOW_LIGHTS; - n.ledARGB = 0x00000000; - n.ledOnMS = 0; - n.ledOffMS = 0; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setContentTitle(name) + .setLights(0x00000000, 0, 0) + .setDefaults(Notification.DEFAULT_LIGHTS) + .build(); mNM.notify(1, n); } }, @@ -407,11 +404,12 @@ public class NotificationTestList extends TestActivity new Test("Blue Blinking Slow") { public void run() { - Notification n = new Notification(); - n.flags |= Notification.FLAG_SHOW_LIGHTS; - n.ledARGB = 0xff0000ff; - n.ledOnMS = 1300; - n.ledOffMS = 1300; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setContentTitle(name) + .setLights(0xff0000ff, 1300, 1300) + .setDefaults(Notification.DEFAULT_LIGHTS) + .build(); mNM.notify(1, n); } }, @@ -419,11 +417,12 @@ public class NotificationTestList extends TestActivity new Test("Blue Blinking Fast") { public void run() { - Notification n = new Notification(); - n.flags |= Notification.FLAG_SHOW_LIGHTS; - n.ledARGB = 0xff0000ff; - n.ledOnMS = 300; - n.ledOffMS = 300; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setContentTitle(name) + .setLights(0xff0000ff, 300, 300) + .setDefaults(Notification.DEFAULT_LIGHTS) + .build(); mNM.notify(1, n); } }, @@ -431,8 +430,11 @@ public class NotificationTestList extends TestActivity new Test("Default All") { public void run() { - Notification n = new Notification(); - n.defaults |= Notification.DEFAULT_ALL; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setContentTitle(name) + .setDefaults(Notification.DEFAULT_ALL) + .build(); mNM.notify(1, n); } }, @@ -440,20 +442,12 @@ public class NotificationTestList extends TestActivity new Test("Default All, once") { public void run() { - Notification n = new Notification(); - n.defaults |= Notification.DEFAULT_ALL; - n.flags |= Notification.FLAG_ONLY_ALERT_ONCE ; - mNM.notify(1, n); - } - }, - - new Test("Content Sound") { - public void run() - { - Notification n = new Notification(); - n.sound = Uri.parse( - "content://media/internal/audio/media/7"); - + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setContentTitle(name) + .setOnlyAlertOnce(true) + .setDefaults(Notification.DEFAULT_ALL) + .build(); mNM.notify(1, n); } }, @@ -461,10 +455,12 @@ public class NotificationTestList extends TestActivity new Test("Resource Sound") { public void run() { - Notification n = new Notification(); - n.sound = Uri.parse( - ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + - getPackageName() + "/raw/ringer"); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.stat_sys_phone) + .setContentTitle(name) + .setSound(Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + + getPackageName() + "/raw/ringer")) + .build(); Log.d(TAG, "n.sound=" + n.sound); mNM.notify(1, n); @@ -474,9 +470,13 @@ public class NotificationTestList extends TestActivity new Test("Sound and Cancel") { public void run() { - Notification n = new Notification(); - n.sound = Uri.parse( - "content://media/internal/audio/media/7"); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.stat_sys_phone) + .setContentTitle(name) + .setSound(Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + + getPackageName() + "/raw/ringer")) + .build(); + Log.d(TAG, "n.sound=" + n.sound); mNM.notify(1, n); SystemClock.sleep(200); @@ -487,8 +487,11 @@ public class NotificationTestList extends TestActivity new Test("Vibrate") { public void run() { - Notification n = new Notification(); - n.vibrate = new long[] { 0, 700, 500, 1000 }; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.stat_sys_phone) + .setContentTitle(name) + .setVibrate(new long[]{0, 700, 500, 1000}) + .build(); mNM.notify(1, n); } @@ -497,8 +500,11 @@ public class NotificationTestList extends TestActivity new Test("Vibrate and cancel") { public void run() { - Notification n = new Notification(); - n.vibrate = new long[] { 0, 700, 500, 1000 }; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.stat_sys_phone) + .setContentTitle(name) + .setVibrate(new long[]{0, 700, 500, 1000}) + .build(); mNM.notify(1, n); SystemClock.sleep(500); @@ -566,10 +572,13 @@ public class NotificationTestList extends TestActivity new Test("Persistent #1") { public void run() { - Notification n = new Notification(R.drawable.icon1, "tick tick tick", - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", makeIntent()); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setWhen(mActivityCreateTime) + .setContentTitle(name) + .setContentText("This is a notification!!!") + .setContentIntent(makeIntent()) + .build(); mNM.notify(1, n); } }, @@ -578,18 +587,19 @@ public class NotificationTestList extends TestActivity public void run() { mHandler.postDelayed(new Runnable() { public void run() { - Notification n = new Notification(R.drawable.icon1, - " " + String message = " " + "tick tock tick tock\n\nSometimes notifications can " + "be really long and wrap to more than one line.\n" + "Sometimes." + "Ohandwhathappensifwehaveonereallylongstringarewesure" - + "thatwesegmentitcorrectly?\n", - System.currentTimeMillis()); - n.setLatestEventInfo(NotificationTestList.this, - "Still Persistent #1", - "This is still a notification!!!", - makeIntent()); + + "thatwesegmentitcorrectly?\n"; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setContentTitle(name) + .setContentText("This is still a notification!!!") + .setContentIntent(makeIntent()) + .setStyle(new Notification.BigTextStyle().bigText(message)) + .build(); mNM.notify(1, n); } }, 3000); @@ -598,54 +608,67 @@ public class NotificationTestList extends TestActivity new Test("Persistent #2") { public void run() { - Notification n = new Notification(R.drawable.icon2, "tock tock tock", - System.currentTimeMillis()); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #2", - "Notify me!!!", makeIntent()); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setWhen(mActivityCreateTime) + .setContentTitle(name) + .setContentText("This is a notification!!!") + .setContentIntent(makeIntent()) + .build(); mNM.notify(2, n); } }, new Test("Persistent #3") { public void run() { - Notification n = new Notification(R.drawable.icon2, "tock tock tock\nmooooo", - System.currentTimeMillis()); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #3", - "Notify me!!!", makeIntent()); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setWhen(mActivityCreateTime) + .setContentTitle(name) + .setContentText("This is a notification!!!") + .setContentIntent(makeIntent()) + .build(); mNM.notify(3, n); } }, new Test("Persistent #2 Vibrate") { public void run() { - Notification n = new Notification(R.drawable.icon2, "tock tock tock", - System.currentTimeMillis()); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #2", - "Notify me!!!", makeIntent()); - n.defaults = Notification.DEFAULT_VIBRATE; + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setWhen(mActivityCreateTime) + .setContentTitle(name) + .setContentText("This is a notification!!!") + .setContentIntent(makeIntent()) + .setDefaults(Notification.DEFAULT_VIBRATE) + .build(); mNM.notify(2, n); } }, new Test("Persistent #1 - different icon") { public void run() { - Notification n = new Notification(R.drawable.icon2, null, - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is the same notification!!!", makeIntent()); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon2) + .setWhen(mActivityCreateTime) + .setContentTitle(name) + .setContentText("This is a notification!!!") + .setContentIntent(makeIntent()) + .build(); mNM.notify(1, n); } }, new Test("Chronometer Start") { public void run() { - Notification n = new Notification(R.drawable.icon2, "me me me me", - System.currentTimeMillis()); - n.contentView = new RemoteViews(getPackageName(), R.layout.chrono_notification); - mChronometerBase = SystemClock.elapsedRealtime(); - n.contentView.setChronometer(R.id.time, mChronometerBase, "Yay! (%s)", true); - n.flags |= Notification.FLAG_ONGOING_EVENT; - n.contentIntent = makeIntent(); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setWhen(System.currentTimeMillis()) + .setContentTitle(name) + .setContentIntent(makeIntent()) + .setOngoing(true) + .setUsesChronometer(true) + .build(); mNM.notify(2, n); } }, @@ -655,12 +678,12 @@ public class NotificationTestList extends TestActivity mHandler.postDelayed(new Runnable() { public void run() { Log.d(TAG, "Chronometer Stop"); - Notification n = new Notification(); - n.icon = R.drawable.icon1; - n.contentView = new RemoteViews(getPackageName(), - R.layout.chrono_notification); - n.contentView.setChronometer(R.id.time, mChronometerBase, null, false); - n.contentIntent = makeIntent(); + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.icon1) + .setWhen(System.currentTimeMillis()) + .setContentTitle(name) + .setContentIntent(makeIntent()) + .build(); mNM.notify(2, n); } }, 3000); @@ -669,29 +692,29 @@ public class NotificationTestList extends TestActivity new Test("Sequential Persistent") { public void run() { - mNM.notify(1, notificationWithNumbers(1)); - mNM.notify(2, notificationWithNumbers(2)); + mNM.notify(1, notificationWithNumbers(name, 1)); + mNM.notify(2, notificationWithNumbers(name, 2)); } }, new Test("Replace Persistent") { public void run() { - mNM.notify(1, notificationWithNumbers(1)); - mNM.notify(1, notificationWithNumbers(1)); + mNM.notify(1, notificationWithNumbers(name, 1)); + mNM.notify(1, notificationWithNumbers(name, 1)); } }, new Test("Run and Cancel (n=1)") { public void run() { - mNM.notify(1, notificationWithNumbers(1)); + mNM.notify(1, notificationWithNumbers(name, 1)); mNM.cancel(1); } }, new Test("Run an Cancel (n=2)") { public void run() { - mNM.notify(1, notificationWithNumbers(1)); - mNM.notify(2, notificationWithNumbers(2)); + mNM.notify(1, notificationWithNumbers(name, 1)); + mNM.notify(2, notificationWithNumbers(name, 2)); mNM.cancel(2); } }, @@ -701,8 +724,8 @@ public class NotificationTestList extends TestActivity public void run() { for (int i = 0; i < 10; i++) { Log.d(TAG, "Add two notifications"); - mNM.notify(1, notificationWithNumbers(1)); - mNM.notify(2, notificationWithNumbers(2)); + mNM.notify(1, notificationWithNumbers(name, 1)); + mNM.notify(2, notificationWithNumbers(name, 2)); Log.d(TAG, "Cancel two notifications"); mNM.cancel(1); mNM.cancel(2); @@ -712,29 +735,14 @@ public class NotificationTestList extends TestActivity new Test("Ten Notifications") { public void run() { - for (int i = 0; i < 2; i++) { - Notification n = new Notification( - kNumberedIconResIDs[i], - null, System.currentTimeMillis()); - n.number = i; - n.setLatestEventInfo( - NotificationTestList.this, - "Persistent #" + i, - "Notify me!!!" + i, - null); - n.flags |= Notification.FLAG_ONGOING_EVENT; - mNM.notify((i+1)*10, n); - } - for (int i = 2; i < 10; i++) { - Notification n = new Notification( - kNumberedIconResIDs[i], - null, System.currentTimeMillis()); - n.number = i; - n.setLatestEventInfo( - NotificationTestList.this, - "Persistent #" + i, - "Notify me!!!" + i, - null); + for (int i = 0; i < 10; i++) { + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon(kNumberedIconResIDs[i]) + .setContentTitle("Persistent #" + i) + .setContentText("Notify me!!!" + i) + .setOngoing(i < 2) + .setNumber(i) + .build(); mNM.notify((i+1)*10, n); } } @@ -757,25 +765,25 @@ public class NotificationTestList extends TestActivity new Test("Persistent with numbers 1") { public void run() { - mNM.notify(1, notificationWithNumbers(1)); + mNM.notify(1, notificationWithNumbers(name, 1)); } }, new Test("Persistent with numbers 22") { public void run() { - mNM.notify(1, notificationWithNumbers(22)); + mNM.notify(1, notificationWithNumbers(name, 22)); } }, new Test("Persistent with numbers 333") { public void run() { - mNM.notify(1, notificationWithNumbers(333)); + mNM.notify(1, notificationWithNumbers(name, 333)); } }, new Test("Persistent with numbers 4444") { public void run() { - mNM.notify(1, notificationWithNumbers(4444)); + mNM.notify(1, notificationWithNumbers(name, 4444)); } }, @@ -786,7 +794,7 @@ public class NotificationTestList extends TestActivity .setContentTitle("High priority") .setContentText("This should appear before all others") .setPriority(Notification.PRIORITY_HIGH) - .getNotification(); + .build(); int[] idOut = new int[1]; try { @@ -812,7 +820,7 @@ public class NotificationTestList extends TestActivity .setContentTitle("MAX priority") .setContentText("This might appear as an intruder alert") .setPriority(Notification.PRIORITY_MAX) - .getNotification(); + .build(); int[] idOut = new int[1]; try { @@ -838,7 +846,7 @@ public class NotificationTestList extends TestActivity .setContentTitle("MIN priority") .setContentText("You should not see this") .setPriority(Notification.PRIORITY_MIN) - .getNotification(); + .build(); int[] idOut = new int[1]; try { @@ -875,16 +883,15 @@ public class NotificationTestList extends TestActivity }; - private Notification notificationWithNumbers(int num) { - Notification n = new Notification(this, - (num >= 0 && num < kNumberedIconResIDs.length) - ? kNumberedIconResIDs[num] - : kUnnumberedIconResID, - null, - System.currentTimeMillis(), - "Notification", "Number=" + num, - null); - n.number = num; + private Notification notificationWithNumbers(String name, int num) { + Notification n = new Notification.Builder(NotificationTestList.this) + .setSmallIcon((num >= 0 && num < kNumberedIconResIDs.length) + ? kNumberedIconResIDs[num] + : kUnnumberedIconResID) + .setContentTitle(name) + .setContentText("Number=" + num) + .setNumber(num) + .build(); return n; } @@ -932,9 +939,12 @@ public class NotificationTestList extends TestActivity } void timeNotification(int n, String label, long time) { - mNM.notify(n, new Notification(NotificationTestList.this, - R.drawable.ic_statusbar_missedcall, null, - time, label, "" + new java.util.Date(time), null)); + mNM.notify(n, new Notification.Builder(NotificationTestList.this) + .setSmallIcon(R.drawable.ic_statusbar_missedcall) + .setWhen(time) + .setContentTitle(label) + .setContentText(new java.util.Date(time).toString()) + .build()); } diff --git a/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java b/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java index 50f98b8..cd04c2e 100644 --- a/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java +++ b/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java @@ -153,25 +153,24 @@ public class StatusBarTest extends TestActivity }, new Test("Priority notification") { public void run() { - Notification not = new Notification(); - not.icon = R.drawable.stat_sys_phone; - not.when = System.currentTimeMillis()-(1000*60*60*24); - not.setLatestEventInfo(StatusBarTest.this, - "Incoming call", - "from: Imperious Leader", - null - ); - not.flags |= Notification.FLAG_HIGH_PRIORITY; Intent fullScreenIntent = new Intent(StatusBarTest.this, TestAlertActivity.class); int id = (int)System.currentTimeMillis(); // XXX HAX fullScreenIntent.putExtra("id", id); - not.fullScreenIntent = PendingIntent.getActivity( + PendingIntent pi = PendingIntent.getActivity( StatusBarTest.this, 0, fullScreenIntent, PendingIntent.FLAG_CANCEL_CURRENT); - // if you tap on it you should get the original alert box - not.contentIntent = not.fullScreenIntent; + Notification not = new Notification.Builder(StatusBarTest.this) + .setSmallIcon(R.drawable.stat_sys_phone) + .setWhen(System.currentTimeMillis() - (1000 * 60 * 60 * 24)) + .setContentTitle("Incoming call") + .setContentText("from: Imperious Leader") + .setContentIntent(pi) + .setFullScreenIntent(pi, true) + .setPriority(Notification.PRIORITY_HIGH) + .build(); + mNotificationManager.notify(id, not); } }, -- cgit v1.1