diff options
| -rw-r--r-- | core/java/android/app/ActivityTaskManager.java | 14 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityTaskManagerService.java | 2 |
2 files changed, 12 insertions, 4 deletions
diff --git a/core/java/android/app/ActivityTaskManager.java b/core/java/android/app/ActivityTaskManager.java index 1cc63da3db0a..0f31529451fb 100644 --- a/core/java/android/app/ActivityTaskManager.java +++ b/core/java/android/app/ActivityTaskManager.java @@ -433,13 +433,21 @@ public class ActivityTaskManager { } } - /** Returns whether the current UI mode supports error dialogs (ANR, crash, etc). */ - public static boolean currentUiModeSupportsErrorDialogs(@NonNull Context context) { - final Configuration config = context.getResources().getConfiguration(); + /** + * @return whether the UI mode of the given config supports error dialogs (ANR, crash, etc). + * @hide + */ + public static boolean currentUiModeSupportsErrorDialogs(@NonNull Configuration config) { int modeType = config.uiMode & Configuration.UI_MODE_TYPE_MASK; return (modeType != Configuration.UI_MODE_TYPE_CAR && !(modeType == Configuration.UI_MODE_TYPE_WATCH && Build.IS_USER) && modeType != Configuration.UI_MODE_TYPE_TELEVISION && modeType != Configuration.UI_MODE_TYPE_VR_HEADSET); } + + /** @return whether the current UI mode supports error dialogs (ANR, crash, etc). */ + public static boolean currentUiModeSupportsErrorDialogs(@NonNull Context context) { + final Configuration config = context.getResources().getConfiguration(); + return currentUiModeSupportsErrorDialogs(config); + } } diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index b695f5ad1a17..cbd2b3358239 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -5413,7 +5413,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { final boolean hideDialogsSet = Settings.Global.getInt(mContext.getContentResolver(), HIDE_ERROR_DIALOGS, 0) != 0; mShowDialogs = inputMethodExists - && ActivityTaskManager.currentUiModeSupportsErrorDialogs(mContext) + && ActivityTaskManager.currentUiModeSupportsErrorDialogs(config) && !hideDialogsSet; } |