diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-07-08 17:09:54 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-07-08 17:09:54 -0700 |
| commit | 4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4 (patch) | |
| tree | e02af0d2460d4de62bf3246844e6a8653429c25d | |
| parent | 7dd042e32ee1e59227aafc4fbbc886c8ea0d0df9 (diff) | |
| parent | 302754801cacf19a99c7fa1b88a195bb8f2b0915 (diff) | |
| download | frameworks_base-4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4.zip frameworks_base-4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4.tar.gz frameworks_base-4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4.tar.bz2 | |
Merge change 6555 into donut
* changes:
Make it so the notification manager doesn't mysteriously beep during boot.
| -rw-r--r-- | services/java/com/android/server/NotificationManagerService.java | 16 | ||||
| -rw-r--r-- | services/java/com/android/server/SystemServer.java | 10 |
2 files changed, 19 insertions, 7 deletions
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java index 854138c..190d3e6 100644 --- a/services/java/com/android/server/NotificationManagerService.java +++ b/services/java/com/android/server/NotificationManagerService.java @@ -88,7 +88,8 @@ class NotificationManagerService extends INotificationManager.Stub private NotificationRecord mSoundNotification; private AsyncPlayer mSound; - private int mDisabledNotifications; + private boolean mSystemReady; + private int mDisabledNotifications = StatusBarManager.DISABLE_NOTIFICATION_ALERTS; private NotificationRecord mVibrateNotification; private Vibrator mVibrator = new Vibrator(); @@ -377,6 +378,11 @@ class NotificationManagerService extends INotificationManager.Stub mSettingsObserver.observe(); } + void systemReady() { + // no beeping until we're basically done booting + mSystemReady = true; + } + // Toasts // ============================================================================ public void enqueueToast(String pkg, ITransientNotification callback, int duration) @@ -637,7 +643,7 @@ class NotificationManagerService extends INotificationManager.Stub } } - sendAccessibilityEventTypeNotificationChangedDoCheck(notification, pkg); + sendAccessibilityEvent(notification, pkg); } else { if (old != null && old.statusBarKey != null) { @@ -654,7 +660,8 @@ class NotificationManagerService extends INotificationManager.Stub // If we're not supposed to beep, vibrate, etc. then don't. if (((mDisabledNotifications & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) == 0) && (!(old != null - && (notification.flags & Notification.FLAG_ONLY_ALERT_ONCE) != 0 ))) { + && (notification.flags & Notification.FLAG_ONLY_ALERT_ONCE) != 0 )) + && mSystemReady) { // sound final boolean useDefaultSound = (notification.defaults & Notification.DEFAULT_SOUND) != 0; @@ -721,8 +728,7 @@ class NotificationManagerService extends INotificationManager.Stub idOut[0] = id; } - private void sendAccessibilityEventTypeNotificationChangedDoCheck(Notification notification, - CharSequence packageName) { + private void sendAccessibilityEvent(Notification notification, CharSequence packageName) { AccessibilityManager manager = AccessibilityManager.getInstance(mContext); if (!manager.isEnabled()) { return; diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 3e4d5f9..b038a64 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -190,6 +190,7 @@ class ServerThread extends Thread { StatusBarService statusBar = null; InputMethodManagerService imm = null; AppWidgetService appWidget = null; + NotificationManagerService notification = null; if (factoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL) { try { @@ -240,8 +241,8 @@ class ServerThread extends Thread { try { Log.i(TAG, "Starting Notification Manager."); - ServiceManager.addService(Context.NOTIFICATION_SERVICE, - new NotificationManagerService(context, statusBar, hardware)); + notification = new NotificationManagerService(context, statusBar, hardware); + ServiceManager.addService(Context.NOTIFICATION_SERVICE, notification); } catch (Throwable e) { Log.e(TAG, "Failure starting Notification Manager", e); } @@ -348,6 +349,11 @@ class ServerThread extends Thread { // It is now time to start up the app processes... boolean safeMode = wm.detectSafeMode(); + + if (notification != null) { + notification.systemReady(); + } + if (statusBar != null) { statusBar.systemReady(); } |
