Merge "Ensure mShowDialogs gets updated as part of global config update" into rvc-dev

This commit is contained in:
Nikolas Havrikov
2020-06-19 17:49:34 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 4 deletions

View File

@@ -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);
}
}

View File

@@ -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;
}