summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2018-05-31 18:49:38 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-05-31 18:49:38 +0000
commit89e1217c8fb5dbbf08e2c677ddb4e7cd29813ca1 (patch)
treea0eb8d2d2c2407d90d214ab70d3a3ce2555b1fa6
parenta78334f80cdaf6c169d69d5e4997539f614ce5bb (diff)
parentb1a13f80936891b129b5afa6a167b2aaff27f213 (diff)
Merge "Don't cause infinite loop if windows manager crashes in safe mode" into pi-dev
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 9c253fb949e1..2885b6fe29de 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -4509,7 +4509,10 @@ public class WindowManagerService extends IWindowManager.Stub
if (mSafeMode) {
Log.i(TAG_WM, "SAFE MODE ENABLED (menu=" + menuState + " s=" + sState
+ " dpad=" + dpadState + " trackball=" + trackballState + ")");
- SystemProperties.set(ShutdownThread.RO_SAFEMODE_PROPERTY, "1");
+ // May already be set if (for instance) this process has crashed
+ if (SystemProperties.getInt(ShutdownThread.RO_SAFEMODE_PROPERTY, 0) == 0) {
+ SystemProperties.set(ShutdownThread.RO_SAFEMODE_PROPERTY, "1");
+ }
} else {
Log.i(TAG_WM, "SAFE MODE not enabled");
}