Merge change 6555 into donut

* changes:
  Make it so the notification manager doesn't mysteriously beep during boot.
This commit is contained in:
Android (Google) Code Review
2009-07-08 17:09:54 -07:00
2 changed files with 19 additions and 7 deletions

View File

@@ -88,7 +88,8 @@ class NotificationManagerService extends INotificationManager.Stub
private NotificationRecord mSoundNotification; private NotificationRecord mSoundNotification;
private AsyncPlayer mSound; private AsyncPlayer mSound;
private int mDisabledNotifications; private boolean mSystemReady;
private int mDisabledNotifications = StatusBarManager.DISABLE_NOTIFICATION_ALERTS;
private NotificationRecord mVibrateNotification; private NotificationRecord mVibrateNotification;
private Vibrator mVibrator = new Vibrator(); private Vibrator mVibrator = new Vibrator();
@@ -377,6 +378,11 @@ class NotificationManagerService extends INotificationManager.Stub
mSettingsObserver.observe(); mSettingsObserver.observe();
} }
void systemReady() {
// no beeping until we're basically done booting
mSystemReady = true;
}
// Toasts // Toasts
// ============================================================================ // ============================================================================
public void enqueueToast(String pkg, ITransientNotification callback, int duration) 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 { } else {
if (old != null && old.statusBarKey != null) { 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 we're not supposed to beep, vibrate, etc. then don't.
if (((mDisabledNotifications & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) == 0) if (((mDisabledNotifications & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) == 0)
&& (!(old != null && (!(old != null
&& (notification.flags & Notification.FLAG_ONLY_ALERT_ONCE) != 0 ))) { && (notification.flags & Notification.FLAG_ONLY_ALERT_ONCE) != 0 ))
&& mSystemReady) {
// sound // sound
final boolean useDefaultSound = final boolean useDefaultSound =
(notification.defaults & Notification.DEFAULT_SOUND) != 0; (notification.defaults & Notification.DEFAULT_SOUND) != 0;
@@ -721,8 +728,7 @@ class NotificationManagerService extends INotificationManager.Stub
idOut[0] = id; idOut[0] = id;
} }
private void sendAccessibilityEventTypeNotificationChangedDoCheck(Notification notification, private void sendAccessibilityEvent(Notification notification, CharSequence packageName) {
CharSequence packageName) {
AccessibilityManager manager = AccessibilityManager.getInstance(mContext); AccessibilityManager manager = AccessibilityManager.getInstance(mContext);
if (!manager.isEnabled()) { if (!manager.isEnabled()) {
return; return;

View File

@@ -190,6 +190,7 @@ class ServerThread extends Thread {
StatusBarService statusBar = null; StatusBarService statusBar = null;
InputMethodManagerService imm = null; InputMethodManagerService imm = null;
AppWidgetService appWidget = null; AppWidgetService appWidget = null;
NotificationManagerService notification = null;
if (factoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL) { if (factoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL) {
try { try {
@@ -240,8 +241,8 @@ class ServerThread extends Thread {
try { try {
Log.i(TAG, "Starting Notification Manager."); Log.i(TAG, "Starting Notification Manager.");
ServiceManager.addService(Context.NOTIFICATION_SERVICE, notification = new NotificationManagerService(context, statusBar, hardware);
new NotificationManagerService(context, statusBar, hardware)); ServiceManager.addService(Context.NOTIFICATION_SERVICE, notification);
} catch (Throwable e) { } catch (Throwable e) {
Log.e(TAG, "Failure starting Notification Manager", 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... // It is now time to start up the app processes...
boolean safeMode = wm.detectSafeMode(); boolean safeMode = wm.detectSafeMode();
if (notification != null) {
notification.systemReady();
}
if (statusBar != null) { if (statusBar != null) {
statusBar.systemReady(); statusBar.systemReady();
} }