summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/NotificationManagerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/NotificationManagerService.java')
-rwxr-xr-xservices/java/com/android/server/NotificationManagerService.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java
index a2bfe78..2ac2a96 100755
--- a/services/java/com/android/server/NotificationManagerService.java
+++ b/services/java/com/android/server/NotificationManagerService.java
@@ -70,6 +70,8 @@ import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.widget.Toast;
+import com.android.internal.app.ThemeUtils;
+
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
@@ -102,6 +104,7 @@ public class NotificationManagerService extends INotificationManager.Stub
private static final int DEFAULT_STREAM_TYPE = AudioManager.STREAM_NOTIFICATION;
final Context mContext;
+ Context mUiContext;
final IActivityManager mAm;
final IBinder mForegroundToken = new Binder();
@@ -422,6 +425,13 @@ public class NotificationManagerService extends INotificationManager.Stub
}
};
+ private BroadcastReceiver mThemeChangeReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ mUiContext = null;
+ }
+ };
+
private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@@ -809,6 +819,8 @@ public class NotificationManagerService extends INotificationManager.Stub
IntentFilter ledFilter = new IntentFilter(ACTION_UPDATE_LED);
mContext.registerReceiver(mIntentReceiver, ledFilter);
+ ThemeUtils.registerThemeChangeReceiver(mContext, mThemeChangeReceiver);
+
SettingsObserver observer = new SettingsObserver(mHandler);
observer.observe();
@@ -1819,7 +1831,7 @@ public class NotificationManagerService extends INotificationManager.Stub
PendingIntent pi = PendingIntent.getActivity(mContext, 0,
intent, 0);
- mAdbNotification.setLatestEventInfo(mContext, title, message, pi);
+ mAdbNotification.setLatestEventInfo(getUiContext(), title, message, pi);
mAdbNotificationShown = true;
mAdbNotificationIsUsb = !networkEnabled;
@@ -1837,6 +1849,13 @@ public class NotificationManagerService extends INotificationManager.Stub
}
}
+ private Context getUiContext() {
+ if (mUiContext == null) {
+ mUiContext = ThemeUtils.createUiContext(mContext);
+ }
+ return mUiContext != null ? mUiContext : mContext;
+ }
+
private void updateNotificationPulse() {
synchronized (mNotificationList) {
updateLightsLocked();