summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTetsutoki Shiozawa <tetsutoki.x.shiozawa@sonymobile.com>2015-11-25 23:02:36 +0900
committerakihiro miura <akihiro.miura@sony.com>2018-03-07 17:26:37 +0900
commita83500e548584005e35a7836b7362333460c8c99 (patch)
tree52392037356d0e2b900d15b70a42c103d1ba9a74
parent1c81aa6375acfeec0a996170fae4849eb57121f5 (diff)
downloadbase-a83500e548584005e35a7836b7362333460c8c99.tar.gz
Store package restriction settings at shutdown
Symptom: Disabled package was re-enabled by restarting a device. Root cause: PMS postpones storing the package restriction settings in 10 seconds by design. When a package gets disabled right before shutdown, PMS fails to store the last changes. Solution: Store package restriction settings at shutdown. BUG: 73447744 Change-Id: I4fe76c1f003e51653304cfaeaa5129d84803ce1e
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 900e18873193..d1abd6366776 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -10206,6 +10206,17 @@ public class PackageManagerService extends IPackageManager.Stub
mPackageUsage.writeNow(mPackages);
mCompilerStats.writeNow();
mDexManager.writePackageDexUsageNow();
+
+ // This is the last chance to write out pending restriction settings
+ synchronized (mPackages) {
+ if (mHandler.hasMessages(WRITE_PACKAGE_RESTRICTIONS)) {
+ mHandler.removeMessages(WRITE_PACKAGE_RESTRICTIONS);
+ for (int userId : mDirtyUsers) {
+ mSettings.writePackageRestrictionsLPr(userId);
+ }
+ mDirtyUsers.clear();
+ }
+ }
}
@Override