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
This commit is contained in:
Narayan Kamath
2014-03-28 13:10:41 +00:00
parent 91bbb75c75
commit d1a8d9f452
2 changed files with 7 additions and 2 deletions

View File

@@ -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.
*/

View File

@@ -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"))) {