NoMan: Don't unbind system listeners

Listeners registered via INotificationMananger.registerListener()
must not be unbound by NoMan because it won't be able to re-bind
them later.

Bug: 15131411
Change-Id: Ic5088252c86e7c32c522ba1606f123cefde3720d
This commit is contained in:
Christoph Studer
2014-05-23 13:15:54 +02:00
parent 7d7090d666
commit 5d423844f2

View File

@@ -259,13 +259,17 @@ abstract public class ManagedServices {
userIds[i]));
}
ManagedServiceInfo[] toRemove = new ManagedServiceInfo[mServices.size()];
ArrayList<ManagedServiceInfo> toRemove = new ArrayList<ManagedServiceInfo>();
final SparseArray<ArrayList<ComponentName>> toAdd
= new SparseArray<ArrayList<ComponentName>>();
synchronized (mMutex) {
// unbind and remove all existing services
toRemove = mServices.toArray(toRemove);
// Unbind automatically bound services, retain system services.
for (ManagedServiceInfo service : mServices) {
if (!service.isSystem) {
toRemove.add(service);
}
}
final ArraySet<ComponentName> newEnabled = new ArraySet<ComponentName>();
final ArraySet<String> newPackages = new ArraySet<String>();