Merge "Add currentUiModeSupportsErrorDialogs() into ActivityTaskManager." into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6b74050d48
@@ -126,6 +126,7 @@ package android.app {
|
|||||||
|
|
||||||
public class ActivityTaskManager {
|
public class ActivityTaskManager {
|
||||||
method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void clearLaunchParamsForPackages(java.util.List<java.lang.String>);
|
method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void clearLaunchParamsForPackages(java.util.List<java.lang.String>);
|
||||||
|
method public static boolean currentUiModeSupportsErrorDialogs(@NonNull android.content.Context);
|
||||||
method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public String listAllStacks();
|
method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public String listAllStacks();
|
||||||
method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void moveTaskToStack(int, int, boolean);
|
method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void moveTaskToStack(int, int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public boolean moveTopActivityToPinnedStack(int, android.graphics.Rect);
|
method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public boolean moveTopActivityToPinnedStack(int, android.graphics.Rect);
|
||||||
|
|||||||
@@ -23,8 +23,10 @@ import android.annotation.TestApi;
|
|||||||
import android.compat.annotation.UnsupportedAppUsage;
|
import android.compat.annotation.UnsupportedAppUsage;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
@@ -430,4 +432,14 @@ public class ActivityTaskManager {
|
|||||||
throw e.rethrowFromSystemServer();
|
throw e.rethrowFromSystemServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 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();
|
||||||
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5400,14 +5400,11 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
|
|||||||
final boolean inputMethodExists = !(config.keyboard == Configuration.KEYBOARD_NOKEYS
|
final boolean inputMethodExists = !(config.keyboard == Configuration.KEYBOARD_NOKEYS
|
||||||
&& config.touchscreen == Configuration.TOUCHSCREEN_NOTOUCH
|
&& config.touchscreen == Configuration.TOUCHSCREEN_NOTOUCH
|
||||||
&& config.navigation == Configuration.NAVIGATION_NONAV);
|
&& config.navigation == Configuration.NAVIGATION_NONAV);
|
||||||
int modeType = config.uiMode & Configuration.UI_MODE_TYPE_MASK;
|
|
||||||
final boolean uiModeSupportsDialogs = (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);
|
|
||||||
final boolean hideDialogsSet = Settings.Global.getInt(mContext.getContentResolver(),
|
final boolean hideDialogsSet = Settings.Global.getInt(mContext.getContentResolver(),
|
||||||
HIDE_ERROR_DIALOGS, 0) != 0;
|
HIDE_ERROR_DIALOGS, 0) != 0;
|
||||||
mShowDialogs = inputMethodExists && uiModeSupportsDialogs && !hideDialogsSet;
|
mShowDialogs = inputMethodExists
|
||||||
|
&& ActivityTaskManager.currentUiModeSupportsErrorDialogs(mContext)
|
||||||
|
&& !hideDialogsSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateFontScaleIfNeeded(@UserIdInt int userId) {
|
private void updateFontScaleIfNeeded(@UserIdInt int userId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user