From 9645b0ffda8d328fd563ae9ad611c18a44102930 Mon Sep 17 00:00:00 2001 From: Wale Ogunwale Date: Mon, 12 Sep 2016 10:49:35 -0700 Subject: [PATCH] Don't try to show crash dialog if lock screen is showing. The crash dialog doesn't show on top of the lock screen so don't try to display the crash dialog in this case so that the process can be killed right way instead of waiting for the user to interact with the crash dialog that isn't visible. Bug: 31395870 Change-Id: Ic1ce9a133ea12cee8a27690004ac3b56cf75808b --- .../java/com/android/server/am/ActivityManagerService.java | 3 ++- services/core/java/com/android/server/am/AppErrors.java | 7 +------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index ab33dbf9f80bd..aef4cd87cbdec 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -641,7 +641,8 @@ public final class ActivityManagerService extends ActivityManagerNative boolean mDoingSetFocusedActivity; public boolean canShowErrorDialogs() { - return mShowDialogs && !mSleeping && !mShuttingDown; + return mShowDialogs && !mSleeping && !mShuttingDown + && mLockScreenShown != LOCK_SCREEN_SHOWN; } private static final class PriorityState { diff --git a/services/core/java/com/android/server/am/AppErrors.java b/services/core/java/com/android/server/am/AppErrors.java index 576f2b27f111e..0c67c75dc3e8b 100644 --- a/services/core/java/com/android/server/am/AppErrors.java +++ b/services/core/java/com/android/server/am/AppErrors.java @@ -22,7 +22,6 @@ import com.android.internal.logging.MetricsProto; import com.android.internal.os.ProcessCpuTracker; import com.android.server.Watchdog; -import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityOptions; import android.app.ActivityThread; @@ -33,10 +32,7 @@ import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; -import android.content.pm.IPackageDataObserver; -import android.content.pm.PackageManager; import android.os.Binder; -import android.os.Bundle; import android.os.Message; import android.os.Process; import android.os.RemoteException; @@ -59,7 +55,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Set; -import java.util.concurrent.Semaphore; import static com.android.server.Watchdog.NATIVE_STACKS_OF_INTEREST; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_ANR; @@ -359,7 +354,7 @@ class AppErrors { return; } - Message msg = Message.obtain(); + final Message msg = Message.obtain(); msg.what = ActivityManagerService.SHOW_ERROR_UI_MSG; task = data.task;