Merge "Lock access to managed services." into oc-dev am: 8ac1452288
am: 7e0a00e387
Change-Id: Ibe3e760716ff2ccfbb1432bbe431de33348d8cb0
diff --git a/services/core/java/com/android/server/notification/ConditionProviders.java b/services/core/java/com/android/server/notification/ConditionProviders.java
index 2fab288..c28fb67 100644
--- a/services/core/java/com/android/server/notification/ConditionProviders.java
+++ b/services/core/java/com/android/server/notification/ConditionProviders.java
@@ -251,7 +251,7 @@
public IConditionProvider findConditionProvider(ComponentName component) {
if (component == null) return null;
- for (ManagedServiceInfo service : mServices) {
+ for (ManagedServiceInfo service : getServices()) {
if (component.equals(service.component)) {
return provider(service);
}
diff --git a/services/core/java/com/android/server/notification/ManagedServices.java b/services/core/java/com/android/server/notification/ManagedServices.java
index 182a710..ddbafc5 100644
--- a/services/core/java/com/android/server/notification/ManagedServices.java
+++ b/services/core/java/com/android/server/notification/ManagedServices.java
@@ -93,7 +93,7 @@
// contains connections to all connected services, including app services
// and system services
- protected final ArrayList<ManagedServiceInfo> mServices = new ArrayList<ManagedServiceInfo>();
+ private final ArrayList<ManagedServiceInfo> mServices = new ArrayList<ManagedServiceInfo>();
// things that will be put into mServices as soon as they're ready
private final ArrayList<String> mServicesBinding = new ArrayList<String>();
// lists the component names of all enabled (and therefore potentially connected)
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index f9dff3e..f334ba4 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -4783,7 +4783,7 @@
// There should be only one, but it's a list, so while we enforce
// singularity elsewhere, we keep it general here, to avoid surprises.
- for (final ManagedServiceInfo info : NotificationAssistants.this.mServices) {
+ for (final ManagedServiceInfo info : NotificationAssistants.this.getServices()) {
boolean sbnVisible = isVisibleToListener(sbn, info);
if (!sbnVisible) {
continue;
@@ -4819,7 +4819,7 @@
public void notifyAssistantSnoozedLocked(final StatusBarNotification sbn,
final String snoozeCriterionId) {
TrimCache trimCache = new TrimCache(sbn);
- for (final ManagedServiceInfo info : mServices) {
+ for (final ManagedServiceInfo info : getServices()) {
final StatusBarNotification sbnToPost = trimCache.ForListener(info);
mHandler.post(new Runnable() {
@Override
@@ -4840,7 +4840,7 @@
}
public boolean isEnabled() {
- return !mServices.isEmpty();
+ return !getServices().isEmpty();
}
}
@@ -4920,7 +4920,7 @@
// Lazily initialized snapshots of the notification.
TrimCache trimCache = new TrimCache(sbn);
- for (final ManagedServiceInfo info : mServices) {
+ for (final ManagedServiceInfo info : getServices()) {
boolean sbnVisible = isVisibleToListener(sbn, info);
boolean oldSbnVisible = oldSbn != null ? isVisibleToListener(oldSbn, info) : false;
// This notification hasn't been and still isn't visible -> ignore.
@@ -4959,7 +4959,7 @@
// NOTE: this copy is lightweight: it doesn't include heavyweight parts of the
// notification
final StatusBarNotification sbnLight = sbn.cloneLight();
- for (final ManagedServiceInfo info : mServices) {
+ for (final ManagedServiceInfo info : getServices()) {
if (!isVisibleToListener(sbn, info)) {
continue;
}
@@ -4977,7 +4977,7 @@
* asynchronously notify all listeners about a reordering of notifications
*/
public void notifyRankingUpdateLocked() {
- for (final ManagedServiceInfo serviceInfo : mServices) {
+ for (final ManagedServiceInfo serviceInfo : getServices()) {
if (!serviceInfo.isEnabledForCurrentProfiles()) {
continue;
}
@@ -4992,7 +4992,7 @@
}
public void notifyListenerHintsChangedLocked(final int hints) {
- for (final ManagedServiceInfo serviceInfo : mServices) {
+ for (final ManagedServiceInfo serviceInfo : getServices()) {
if (!serviceInfo.isEnabledForCurrentProfiles()) {
continue;
}
@@ -5006,7 +5006,7 @@
}
public void notifyInterruptionFilterChanged(final int interruptionFilter) {
- for (final ManagedServiceInfo serviceInfo : mServices) {
+ for (final ManagedServiceInfo serviceInfo : getServices()) {
if (!serviceInfo.isEnabledForCurrentProfiles()) {
continue;
}
@@ -5145,7 +5145,7 @@
}
// TODO: clean up locking object later
synchronized (mNotificationLock) {
- for (final ManagedServiceInfo serviceInfo : mServices) {
+ for (final ManagedServiceInfo serviceInfo : getServices()) {
if (packageName.equals(serviceInfo.component.getPackageName())) {
return true;
}