summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/SystemServer.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 7e28c4f..977dd6f 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -64,6 +64,7 @@ import java.util.TimerTask;
class ServerThread extends Thread {
private static final String TAG = "SystemServer";
+ private static final String ENCRYPTING_STATE = "trigger_restart_min_framework";
ContentResolver mContentResolver;
@@ -147,9 +148,15 @@ class ServerThread extends Thread {
AttributeCache.init(context);
Slog.i(TAG, "Package Manager");
+ // Only run "core" apps if we're encrypting the device.
+ String cryptState = SystemProperties.get("vold.decrypt");
+ boolean onlyCore = ENCRYPTING_STATE.equals(cryptState);
+ if (onlyCore) {
+ Slog.w(TAG, "Detected encryption in progress - only parsing core apps");
+ }
pm = PackageManagerService.main(context,
factoryTest != SystemServer.FACTORY_TEST_OFF,
- false);
+ onlyCore);
ActivityManagerService.setSystemProcess();