Merge "Do not hold AppOpsService lock while calling DeviceConfig" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-05-05 17:02:55 +00:00
committed by Android (Google) Code Review
2 changed files with 10 additions and 7 deletions

View File

@@ -179,17 +179,20 @@ final class DiscreteRegistry {
}
void systemReady() {
synchronized (mOnDiskLock) {
mDiscreteAccessDir = new File(new File(Environment.getDataSystemDirectory(), "appops"),
"discrete");
createDiscreteAccessDirLocked();
mDiscreteOps = new DiscreteOps();
}
DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_PRIVACY,
AsyncTask.THREAD_POOL_EXECUTOR, (DeviceConfig.Properties p) -> {
setDiscreteHistoryParameters(p);
});
setDiscreteHistoryParameters(DeviceConfig.getProperties(DeviceConfig.NAMESPACE_PRIVACY));
synchronized (mOnDiskLock) {
synchronized (mInMemoryLock) {
mDiscreteAccessDir = new File(
new File(Environment.getDataSystemDirectory(), "appops"),
"discrete");
createDiscreteAccessDirLocked();
mDiscreteOps = new DiscreteOps();
}
}
}
private void setDiscreteHistoryParameters(DeviceConfig.Properties p) {

View File

@@ -246,10 +246,10 @@ final class HistoricalRegistry {
+ " by which to push history on next write");
}
}
mDiscreteRegistry.systemReady();
}
}
}
mDiscreteRegistry.systemReady();
}
private boolean isPersistenceInitializedMLocked() {