Merge "NoMan: Allow SysUI to register as listener" into lmp-preview-dev
diff --git a/services/core/java/com/android/server/notification/ManagedServices.java b/services/core/java/com/android/server/notification/ManagedServices.java
index 584145f..b94ea62 100644
--- a/services/core/java/com/android/server/notification/ManagedServices.java
+++ b/services/core/java/com/android/server/notification/ManagedServices.java
@@ -175,7 +175,10 @@
public void registerService(IInterface service, ComponentName component, int userid) {
checkNotNull(service);
- registerServiceImpl(service, component, userid);
+ ManagedServiceInfo info = registerServiceImpl(service, component, userid);
+ if (info != null) {
+ onServiceAdded(info);
+ }
}
/**
@@ -464,7 +467,7 @@
}
}
- private void registerServiceImpl(final IInterface service,
+ private ManagedServiceInfo registerServiceImpl(final IInterface service,
final ComponentName component, final int userid) {
synchronized (mMutex) {
try {
@@ -472,10 +475,12 @@
true /*isSystem*/, null, Build.VERSION_CODES.L);
service.asBinder().linkToDeath(info, 0);
mServices.add(info);
+ return info;
} catch (RemoteException e) {
// already dead
}
}
+ return null;
}
/**
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index b9a69ab..8641746 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -1264,7 +1264,7 @@
@Override
public void registerListener(final INotificationListener listener,
final ComponentName component, final int userid) {
- checkCallerIsSystem();
+ enforceSystemOrSystemUI("INotificationManager.registerListener");
mListeners.registerService(listener, component, userid);
}