Merge "Synchronize access of mSubscriptions" am: d065220a54
am: 8434b4cf1b
* commit '8434b4cf1b0c78cc371bab445edeb2d0992b571e':
Synchronize access of mSubscriptions
Change-Id: I95c81631a171257594adc0af47e0a436d560d20e
This commit is contained in:
@@ -72,14 +72,17 @@ public class ZenModeConditions implements ConditionProviders.Callback {
|
||||
evaluateRule(automaticRule, current, processSubscriptions);
|
||||
updateSnoozing(automaticRule);
|
||||
}
|
||||
final int N = mSubscriptions.size();
|
||||
for (int i = N - 1; i >= 0; i--) {
|
||||
final Uri id = mSubscriptions.keyAt(i);
|
||||
final ComponentName component = mSubscriptions.valueAt(i);
|
||||
if (processSubscriptions) {
|
||||
if (!current.contains(id)) {
|
||||
mConditionProviders.unsubscribeIfNecessary(component, id);
|
||||
mSubscriptions.removeAt(i);
|
||||
|
||||
synchronized (mSubscriptions) {
|
||||
final int N = mSubscriptions.size();
|
||||
for (int i = N - 1; i >= 0; i--) {
|
||||
final Uri id = mSubscriptions.keyAt(i);
|
||||
final ComponentName component = mSubscriptions.valueAt(i);
|
||||
if (processSubscriptions) {
|
||||
if (!current.contains(id)) {
|
||||
mConditionProviders.unsubscribeIfNecessary(component, id);
|
||||
mSubscriptions.removeAt(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -145,7 +148,9 @@ public class ZenModeConditions implements ConditionProviders.Callback {
|
||||
}
|
||||
if (processSubscriptions) {
|
||||
if (mConditionProviders.subscribeIfNecessary(rule.component, rule.conditionId)) {
|
||||
mSubscriptions.put(rule.conditionId, rule.component);
|
||||
synchronized (mSubscriptions) {
|
||||
mSubscriptions.put(rule.conditionId, rule.component);
|
||||
}
|
||||
} else {
|
||||
if (DEBUG) Log.d(TAG, "zmc failed to subscribe");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user