Loading services/java/com/android/server/NotificationManagerService.java +39 −9 Original line number Diff line number Diff line Loading @@ -96,7 +96,11 @@ class NotificationManagerService extends INotificationManager.Stub private NotificationRecord mVibrateNotification; private Vibrator mVibrator = new Vibrator(); // adb // for enabling and disabling notification pulse behavior private boolean mScreenOn = true; private boolean mNotificationPulseEnabled; // for adb connected notifications private boolean mUsbConnected; private boolean mAdbEnabled = false; private boolean mAdbNotificationShown = false; Loading Loading @@ -333,6 +337,12 @@ class NotificationManagerService extends INotificationManager.Stub return; } cancelAllNotificationsInt(pkgName, 0, 0); } else if (action.equals(Intent.ACTION_SCREEN_ON)) { mScreenOn = true; updateNotificationPulse(); } else if (action.equals(Intent.ACTION_SCREEN_OFF)) { mScreenOn = false; updateNotificationPulse(); } } }; Loading @@ -346,6 +356,8 @@ class NotificationManagerService extends INotificationManager.Stub ContentResolver resolver = mContext.getContentResolver(); resolver.registerContentObserver(Settings.Secure.getUriFor( Settings.Secure.ADB_ENABLED), false, this); resolver.registerContentObserver(Settings.System.getUriFor( Settings.System.NOTIFICATION_LIGHT_PULSE), false, this); update(); } Loading @@ -355,12 +367,20 @@ class NotificationManagerService extends INotificationManager.Stub public void update() { ContentResolver resolver = mContext.getContentResolver(); mAdbEnabled = Settings.Secure.getInt(resolver, boolean adbEnabled = Settings.Secure.getInt(resolver, Settings.Secure.ADB_ENABLED, 0) != 0; if (mAdbEnabled != adbEnabled) { mAdbEnabled = adbEnabled; updateAdbNotification(); } boolean pulseEnabled = Settings.System.getInt(resolver, Settings.System.NOTIFICATION_LIGHT_PULSE, 0) != 0; if (mNotificationPulseEnabled != pulseEnabled) { mNotificationPulseEnabled = pulseEnabled; updateNotificationPulse(); } } } private final SettingsObserver mSettingsObserver; NotificationManagerService(Context context, StatusBarService statusBar, HardwareService hardware) Loading Loading @@ -392,10 +412,12 @@ class NotificationManagerService extends INotificationManager.Stub filter.addAction(Intent.ACTION_UMS_DISCONNECTED); filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addAction(Intent.ACTION_PACKAGE_RESTARTED); filter.addAction(Intent.ACTION_SCREEN_ON); filter.addAction(Intent.ACTION_SCREEN_OFF); mContext.registerReceiver(mIntentReceiver, filter); mSettingsObserver = new SettingsObserver(mHandler); mSettingsObserver.observe(); SettingsObserver observer = new SettingsObserver(mHandler); observer.observe(); } void systemReady() { Loading Loading @@ -1002,7 +1024,9 @@ class NotificationManagerService extends INotificationManager.Stub mLedNotification = mLights.get(n-1); } } if (mLedNotification == null) { // we only flash if screen is off and persistent pulsing is enabled if (mLedNotification == null || mScreenOn || !mNotificationPulseEnabled) { mHardware.setLightOff_UNCHECKED(HardwareService.LIGHT_ID_NOTIFICATIONS); } else { mHardware.setLightFlashing_UNCHECKED( Loading Loading @@ -1096,6 +1120,12 @@ class NotificationManagerService extends INotificationManager.Stub } } private void updateNotificationPulse() { synchronized (mNotificationList) { updateLightsLocked(); } } // ====================================================================== @Override protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { Loading Loading
services/java/com/android/server/NotificationManagerService.java +39 −9 Original line number Diff line number Diff line Loading @@ -96,7 +96,11 @@ class NotificationManagerService extends INotificationManager.Stub private NotificationRecord mVibrateNotification; private Vibrator mVibrator = new Vibrator(); // adb // for enabling and disabling notification pulse behavior private boolean mScreenOn = true; private boolean mNotificationPulseEnabled; // for adb connected notifications private boolean mUsbConnected; private boolean mAdbEnabled = false; private boolean mAdbNotificationShown = false; Loading Loading @@ -333,6 +337,12 @@ class NotificationManagerService extends INotificationManager.Stub return; } cancelAllNotificationsInt(pkgName, 0, 0); } else if (action.equals(Intent.ACTION_SCREEN_ON)) { mScreenOn = true; updateNotificationPulse(); } else if (action.equals(Intent.ACTION_SCREEN_OFF)) { mScreenOn = false; updateNotificationPulse(); } } }; Loading @@ -346,6 +356,8 @@ class NotificationManagerService extends INotificationManager.Stub ContentResolver resolver = mContext.getContentResolver(); resolver.registerContentObserver(Settings.Secure.getUriFor( Settings.Secure.ADB_ENABLED), false, this); resolver.registerContentObserver(Settings.System.getUriFor( Settings.System.NOTIFICATION_LIGHT_PULSE), false, this); update(); } Loading @@ -355,12 +367,20 @@ class NotificationManagerService extends INotificationManager.Stub public void update() { ContentResolver resolver = mContext.getContentResolver(); mAdbEnabled = Settings.Secure.getInt(resolver, boolean adbEnabled = Settings.Secure.getInt(resolver, Settings.Secure.ADB_ENABLED, 0) != 0; if (mAdbEnabled != adbEnabled) { mAdbEnabled = adbEnabled; updateAdbNotification(); } boolean pulseEnabled = Settings.System.getInt(resolver, Settings.System.NOTIFICATION_LIGHT_PULSE, 0) != 0; if (mNotificationPulseEnabled != pulseEnabled) { mNotificationPulseEnabled = pulseEnabled; updateNotificationPulse(); } } } private final SettingsObserver mSettingsObserver; NotificationManagerService(Context context, StatusBarService statusBar, HardwareService hardware) Loading Loading @@ -392,10 +412,12 @@ class NotificationManagerService extends INotificationManager.Stub filter.addAction(Intent.ACTION_UMS_DISCONNECTED); filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addAction(Intent.ACTION_PACKAGE_RESTARTED); filter.addAction(Intent.ACTION_SCREEN_ON); filter.addAction(Intent.ACTION_SCREEN_OFF); mContext.registerReceiver(mIntentReceiver, filter); mSettingsObserver = new SettingsObserver(mHandler); mSettingsObserver.observe(); SettingsObserver observer = new SettingsObserver(mHandler); observer.observe(); } void systemReady() { Loading Loading @@ -1002,7 +1024,9 @@ class NotificationManagerService extends INotificationManager.Stub mLedNotification = mLights.get(n-1); } } if (mLedNotification == null) { // we only flash if screen is off and persistent pulsing is enabled if (mLedNotification == null || mScreenOn || !mNotificationPulseEnabled) { mHardware.setLightOff_UNCHECKED(HardwareService.LIGHT_ID_NOTIFICATIONS); } else { mHardware.setLightFlashing_UNCHECKED( Loading Loading @@ -1096,6 +1120,12 @@ class NotificationManagerService extends INotificationManager.Stub } } private void updateNotificationPulse() { synchronized (mNotificationList) { updateLightsLocked(); } } // ====================================================================== @Override protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { Loading