summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ben Komalo <benkomalo@google.com> 2011-09-23 15:08:24 -0700
committer Ben Komalo <benkomalo@google.com> 2011-09-23 15:08:24 -0700
commit3573d400a5940a53747425139e9f7cbe7e9fe114 (patch)
tree67a6a69da14172fd2a17ed11bfb622433ec1ba63
parentb20d378cec09da18301eb9c33bc88251beb81042 (diff)
Enter minimal boot mode when booting encrypted
Bug: 5233488 Change-Id: Iba7a41c69af2387594d2be562d587918cd17a348
-rw-r--r--services/java/com/android/server/SystemServer.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 977dd6f5d54f..cdefa001a7d6 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -65,6 +65,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";
+ private static final String ENCRYPTED_STATE = "1";
ContentResolver mContentResolver;
@@ -150,10 +151,15 @@ class ServerThread extends Thread {
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) {
+ boolean onlyCore = false;
+ if (ENCRYPTING_STATE.equals(cryptState)) {
Slog.w(TAG, "Detected encryption in progress - only parsing core apps");
+ onlyCore = true;
+ } else if (ENCRYPTED_STATE.equals(cryptState)) {
+ Slog.w(TAG, "Device encrypted - only parsing core apps");
+ onlyCore = true;
}
+
pm = PackageManagerService.main(context,
factoryTest != SystemServer.FACTORY_TEST_OFF,
onlyCore);