From d1a8d9f45288e1e8aadfc543fab7087c2eec2f30 Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Fri, 28 Mar 2014 13:10:41 +0000 Subject: [PATCH] Don't make isSafeMode a field on the Zygote class. This field is written and read exclusively by the system server, and should therefore belong to the SystemServer class. Change-Id: I2708a9a45c0c9cd1a6f563e8cc5844bd8c424bf7 --- services/java/com/android/server/SystemServer.java | 7 ++++++- .../java/com/android/server/am/ActivityManagerService.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index d895137a8d12f..f2269727dd590 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -824,7 +824,7 @@ class ServerThread { if (safeMode) { ActivityManagerService.self().enterSafeMode(); // Post the safe mode state in the Zygote class - Zygote.systemInSafeMode = true; + SystemServer.inSafeMode = true; // Disable the JIT for the system_server process VMRuntime.getRuntime().disableJitCompilation(); } else { @@ -1117,6 +1117,11 @@ public class SystemServer { // give any timezone code room without going into negative time. private static final long EARLIEST_SUPPORTED_TIME = 86400 * 1000; + /** + * When set, all subsequent apps will be launched in safe mode. + */ + public static boolean inSafeMode; + /** * Called to initialize native system services. */ diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 97696a5d8fbfc..4258a1b19e96d 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -2768,7 +2768,7 @@ public final class ActivityManagerService extends ActivityManagerNative // Run the app in safe mode if its manifest requests so or the // system is booted in safe mode. if ((app.info.flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0 || - Zygote.systemInSafeMode == true) { + SystemServer.inSafeMode == true) { debugFlags |= Zygote.DEBUG_ENABLE_SAFEMODE; } if ("1".equals(SystemProperties.get("debug.checkjni"))) {