diff options
| -rw-r--r-- | services/core/java/com/android/server/compat/CompatConfig.java | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/services/core/java/com/android/server/compat/CompatConfig.java b/services/core/java/com/android/server/compat/CompatConfig.java index 6dca00191b24..c2375351aee9 100644 --- a/services/core/java/com/android/server/compat/CompatConfig.java +++ b/services/core/java/com/android/server/compat/CompatConfig.java @@ -257,8 +257,8 @@ final class CompatConfig { addChange(c); } c.addPackageOverride(packageName, overrides, allowedState, versionCode); - invalidateCache(); } + invalidateCache(); return alreadyKnown; } @@ -379,9 +379,9 @@ final class CompatConfig { CompatChange change = mChanges.valueAt(i); removeOverrideUnsafe(change, packageName, versionCode); } - saveOverrides(); - invalidateCache(); } + saveOverrides(); + invalidateCache(); } /** @@ -626,7 +626,18 @@ final class CompatConfig { if (mOverridesFile == null) { return; } + Overrides overrides = new Overrides(); synchronized (mChanges) { + List<ChangeOverrides> changeOverridesList = overrides.getChangeOverrides(); + for (int idx = 0; idx < mChanges.size(); ++idx) { + CompatChange c = mChanges.valueAt(idx); + ChangeOverrides changeOverrides = c.saveOverrides(); + if (changeOverrides != null) { + changeOverridesList.add(changeOverrides); + } + } + } + synchronized (mOverridesFile) { // Create the file if it doesn't already exist try { mOverridesFile.createNewFile(); @@ -636,15 +647,6 @@ final class CompatConfig { } try (PrintWriter out = new PrintWriter(mOverridesFile)) { XmlWriter writer = new XmlWriter(out); - Overrides overrides = new Overrides(); - List<ChangeOverrides> changeOverridesList = overrides.getChangeOverrides(); - for (int idx = 0; idx < mChanges.size(); ++idx) { - CompatChange c = mChanges.valueAt(idx); - ChangeOverrides changeOverrides = c.saveOverrides(); - if (changeOverrides != null) { - changeOverridesList.add(changeOverrides); - } - } XmlWriter.write(writer, overrides); } catch (IOException e) { Slog.e(TAG, e.toString()); |