Merge "Clean up ADB commands for letterbox and display API sandboxing." into tm-dev am: 4b33be9fbd am: f5fc70b4c4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18281173 Change-Id: I93b8bd018ce40d58c0611adbed81cf158475ff4a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -6228,6 +6228,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
|
|||||||
/**
|
/**
|
||||||
* Sets if Display APIs should be sandboxed to the activity window bounds.
|
* Sets if Display APIs should be sandboxed to the activity window bounds.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void setSandboxDisplayApis(boolean sandboxDisplayApis) {
|
void setSandboxDisplayApis(boolean sandboxDisplayApis) {
|
||||||
mSandboxDisplayApis = sandboxDisplayApis;
|
mSandboxDisplayApis = sandboxDisplayApis;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import android.content.Context;
|
|||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
|
||||||
import com.android.internal.R;
|
import com.android.internal.R;
|
||||||
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
@@ -156,6 +157,7 @@ final class LetterboxConfiguration {
|
|||||||
* com.android.internal.R.dimen.config_fixedOrientationLetterboxAspectRatio} will be ignored and
|
* com.android.internal.R.dimen.config_fixedOrientationLetterboxAspectRatio} will be ignored and
|
||||||
* the framework implementation will be used to determine the aspect ratio.
|
* the framework implementation will be used to determine the aspect ratio.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void setFixedOrientationLetterboxAspectRatio(float aspectRatio) {
|
void setFixedOrientationLetterboxAspectRatio(float aspectRatio) {
|
||||||
mFixedOrientationLetterboxAspectRatio = aspectRatio;
|
mFixedOrientationLetterboxAspectRatio = aspectRatio;
|
||||||
}
|
}
|
||||||
@@ -164,6 +166,7 @@ final class LetterboxConfiguration {
|
|||||||
* Resets the aspect ratio of letterbox for fixed orientation to {@link
|
* Resets the aspect ratio of letterbox for fixed orientation to {@link
|
||||||
* com.android.internal.R.dimen.config_fixedOrientationLetterboxAspectRatio}.
|
* com.android.internal.R.dimen.config_fixedOrientationLetterboxAspectRatio}.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void resetFixedOrientationLetterboxAspectRatio() {
|
void resetFixedOrientationLetterboxAspectRatio() {
|
||||||
mFixedOrientationLetterboxAspectRatio = mContext.getResources().getFloat(
|
mFixedOrientationLetterboxAspectRatio = mContext.getResources().getFloat(
|
||||||
com.android.internal.R.dimen.config_fixedOrientationLetterboxAspectRatio);
|
com.android.internal.R.dimen.config_fixedOrientationLetterboxAspectRatio);
|
||||||
@@ -176,25 +179,6 @@ final class LetterboxConfiguration {
|
|||||||
return mFixedOrientationLetterboxAspectRatio;
|
return mFixedOrientationLetterboxAspectRatio;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Overrides corners raidus for activities presented in the letterbox mode. If given value < 0,
|
|
||||||
* both it and a value of {@link
|
|
||||||
* com.android.internal.R.integer.config_letterboxActivityCornersRadius} will be ignored and
|
|
||||||
* corners of the activity won't be rounded.
|
|
||||||
*/
|
|
||||||
void setLetterboxActivityCornersRadius(int cornersRadius) {
|
|
||||||
mLetterboxActivityCornersRadius = cornersRadius;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets corners raidus for activities presented in the letterbox mode to {@link
|
|
||||||
* com.android.internal.R.integer.config_letterboxActivityCornersRadius}.
|
|
||||||
*/
|
|
||||||
void resetLetterboxActivityCornersRadius() {
|
|
||||||
mLetterboxActivityCornersRadius = mContext.getResources().getInteger(
|
|
||||||
com.android.internal.R.integer.config_letterboxActivityCornersRadius);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether corners of letterboxed activities are rounded.
|
* Whether corners of letterboxed activities are rounded.
|
||||||
*/
|
*/
|
||||||
@@ -226,34 +210,6 @@ final class LetterboxConfiguration {
|
|||||||
return Color.valueOf(mContext.getResources().getColor(colorId));
|
return Color.valueOf(mContext.getResources().getColor(colorId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets color of letterbox background which is used when {@link
|
|
||||||
* #getLetterboxBackgroundType()} is {@link #LETTERBOX_BACKGROUND_SOLID_COLOR} or as
|
|
||||||
* fallback for other backfround types.
|
|
||||||
*/
|
|
||||||
void setLetterboxBackgroundColor(Color color) {
|
|
||||||
mLetterboxBackgroundColorOverride = color;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets color ID of letterbox background which is used when {@link
|
|
||||||
* #getLetterboxBackgroundType()} is {@link #LETTERBOX_BACKGROUND_SOLID_COLOR} or as
|
|
||||||
* fallback for other backfround types.
|
|
||||||
*/
|
|
||||||
void setLetterboxBackgroundColorResourceId(int colorId) {
|
|
||||||
mLetterboxBackgroundColorResourceIdOverride = colorId;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets color of letterbox background to {@link
|
|
||||||
* com.android.internal.R.color.config_letterboxBackgroundColor}.
|
|
||||||
*/
|
|
||||||
void resetLetterboxBackgroundColor() {
|
|
||||||
mLetterboxBackgroundColorOverride = null;
|
|
||||||
mLetterboxBackgroundColorResourceIdOverride = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets {@link LetterboxBackgroundType} specified in {@link
|
* Gets {@link LetterboxBackgroundType} specified in {@link
|
||||||
* com.android.internal.R.integer.config_letterboxBackgroundType} or over via ADB command.
|
* com.android.internal.R.integer.config_letterboxBackgroundType} or over via ADB command.
|
||||||
@@ -263,19 +219,6 @@ final class LetterboxConfiguration {
|
|||||||
return mLetterboxBackgroundType;
|
return mLetterboxBackgroundType;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Sets letterbox background type. */
|
|
||||||
void setLetterboxBackgroundType(@LetterboxBackgroundType int backgroundType) {
|
|
||||||
mLetterboxBackgroundType = backgroundType;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets cletterbox background type to {@link
|
|
||||||
* com.android.internal.R.integer.config_letterboxBackgroundType}.
|
|
||||||
*/
|
|
||||||
void resetLetterboxBackgroundType() {
|
|
||||||
mLetterboxBackgroundType = readLetterboxBackgroundTypeFromConfig(mContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Returns a string representing the given {@link LetterboxBackgroundType}. */
|
/** Returns a string representing the given {@link LetterboxBackgroundType}. */
|
||||||
static String letterboxBackgroundTypeToString(
|
static String letterboxBackgroundTypeToString(
|
||||||
@LetterboxBackgroundType int backgroundType) {
|
@LetterboxBackgroundType int backgroundType) {
|
||||||
@@ -304,27 +247,6 @@ final class LetterboxConfiguration {
|
|||||||
? backgroundType : LETTERBOX_BACKGROUND_SOLID_COLOR;
|
? backgroundType : LETTERBOX_BACKGROUND_SOLID_COLOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Overrides alpha of a black scrim shown over wallpaper for {@link
|
|
||||||
* #LETTERBOX_BACKGROUND_WALLPAPER} option in {@link mLetterboxBackgroundType}.
|
|
||||||
*
|
|
||||||
* <p>If given value is < 0 or >= 1, both it and a value of {@link
|
|
||||||
* com.android.internal.R.dimen.config_letterboxBackgroundWallaperDarkScrimAlpha} are ignored
|
|
||||||
* and 0.0 (transparent) is instead.
|
|
||||||
*/
|
|
||||||
void setLetterboxBackgroundWallpaperDarkScrimAlpha(float alpha) {
|
|
||||||
mLetterboxBackgroundWallpaperDarkScrimAlpha = alpha;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets alpha of a black scrim shown over wallpaper letterbox background to {@link
|
|
||||||
* com.android.internal.R.dimen.config_letterboxBackgroundWallaperDarkScrimAlpha}.
|
|
||||||
*/
|
|
||||||
void resetLetterboxBackgroundWallpaperDarkScrimAlpha() {
|
|
||||||
mLetterboxBackgroundWallpaperDarkScrimAlpha = mContext.getResources().getFloat(
|
|
||||||
com.android.internal.R.dimen.config_letterboxBackgroundWallaperDarkScrimAlpha);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets alpha of a black scrim shown over wallpaper letterbox background.
|
* Gets alpha of a black scrim shown over wallpaper letterbox background.
|
||||||
*/
|
*/
|
||||||
@@ -332,28 +254,6 @@ final class LetterboxConfiguration {
|
|||||||
return mLetterboxBackgroundWallpaperDarkScrimAlpha;
|
return mLetterboxBackgroundWallpaperDarkScrimAlpha;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Overrides blur radius for {@link #LETTERBOX_BACKGROUND_WALLPAPER} option in
|
|
||||||
* {@link mLetterboxBackgroundType}.
|
|
||||||
*
|
|
||||||
* <p> If given value <= 0, both it and a value of {@link
|
|
||||||
* com.android.internal.R.dimen.config_letterboxBackgroundWallpaperBlurRadius} are ignored
|
|
||||||
* and 0 is used instead.
|
|
||||||
*/
|
|
||||||
void setLetterboxBackgroundWallpaperBlurRadius(int radius) {
|
|
||||||
mLetterboxBackgroundWallpaperBlurRadius = radius;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets blur raidus for {@link #LETTERBOX_BACKGROUND_WALLPAPER} option in {@link
|
|
||||||
* mLetterboxBackgroundType} to {@link
|
|
||||||
* com.android.internal.R.dimen.config_letterboxBackgroundWallpaperBlurRadius}.
|
|
||||||
*/
|
|
||||||
void resetLetterboxBackgroundWallpaperBlurRadius() {
|
|
||||||
mLetterboxBackgroundWallpaperBlurRadius = mContext.getResources().getDimensionPixelSize(
|
|
||||||
com.android.internal.R.dimen.config_letterboxBackgroundWallpaperBlurRadius);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets blur raidus for {@link #LETTERBOX_BACKGROUND_WALLPAPER} option in {@link
|
* Gets blur raidus for {@link #LETTERBOX_BACKGROUND_WALLPAPER} option in {@link
|
||||||
* mLetterboxBackgroundType}.
|
* mLetterboxBackgroundType}.
|
||||||
@@ -381,6 +281,7 @@ final class LetterboxConfiguration {
|
|||||||
* com.android.internal.R.dimen.config_letterboxHorizontalPositionMultiplier} are ignored and
|
* com.android.internal.R.dimen.config_letterboxHorizontalPositionMultiplier} are ignored and
|
||||||
* central position (0.5) is used.
|
* central position (0.5) is used.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void setLetterboxHorizontalPositionMultiplier(float multiplier) {
|
void setLetterboxHorizontalPositionMultiplier(float multiplier) {
|
||||||
mLetterboxHorizontalPositionMultiplier = multiplier;
|
mLetterboxHorizontalPositionMultiplier = multiplier;
|
||||||
}
|
}
|
||||||
@@ -389,6 +290,7 @@ final class LetterboxConfiguration {
|
|||||||
* Resets horizontal position of a center of the letterboxed app window to {@link
|
* Resets horizontal position of a center of the letterboxed app window to {@link
|
||||||
* com.android.internal.R.dimen.config_letterboxHorizontalPositionMultiplier}.
|
* com.android.internal.R.dimen.config_letterboxHorizontalPositionMultiplier}.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void resetLetterboxHorizontalPositionMultiplier() {
|
void resetLetterboxHorizontalPositionMultiplier() {
|
||||||
mLetterboxHorizontalPositionMultiplier = mContext.getResources().getFloat(
|
mLetterboxHorizontalPositionMultiplier = mContext.getResources().getFloat(
|
||||||
com.android.internal.R.dimen.config_letterboxHorizontalPositionMultiplier);
|
com.android.internal.R.dimen.config_letterboxHorizontalPositionMultiplier);
|
||||||
@@ -406,6 +308,7 @@ final class LetterboxConfiguration {
|
|||||||
* Overrides whether reachability repositioning is allowed for letterboxed fullscreen apps in
|
* Overrides whether reachability repositioning is allowed for letterboxed fullscreen apps in
|
||||||
* landscape device orientation.
|
* landscape device orientation.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void setIsReachabilityEnabled(boolean enabled) {
|
void setIsReachabilityEnabled(boolean enabled) {
|
||||||
mIsReachabilityEnabled = enabled;
|
mIsReachabilityEnabled = enabled;
|
||||||
}
|
}
|
||||||
@@ -414,6 +317,7 @@ final class LetterboxConfiguration {
|
|||||||
* Resets whether reachability repositioning is allowed for letterboxed fullscreen apps in
|
* Resets whether reachability repositioning is allowed for letterboxed fullscreen apps in
|
||||||
* landscape device orientation to {@link R.bool.config_letterboxIsReachabilityEnabled}.
|
* landscape device orientation to {@link R.bool.config_letterboxIsReachabilityEnabled}.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void resetIsReachabilityEnabled() {
|
void resetIsReachabilityEnabled() {
|
||||||
mIsReachabilityEnabled = mContext.getResources().getBoolean(
|
mIsReachabilityEnabled = mContext.getResources().getBoolean(
|
||||||
R.bool.config_letterboxIsReachabilityEnabled);
|
R.bool.config_letterboxIsReachabilityEnabled);
|
||||||
@@ -429,22 +333,6 @@ final class LetterboxConfiguration {
|
|||||||
return mDefaultPositionForReachability;
|
return mDefaultPositionForReachability;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Overrides default horizonal position of the letterboxed app window when reachability
|
|
||||||
* is enabled.
|
|
||||||
*/
|
|
||||||
void setDefaultPositionForReachability(@LetterboxReachabilityPosition int position) {
|
|
||||||
mDefaultPositionForReachability = position;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets default horizontal position of the letterboxed app window when reachability is
|
|
||||||
* enabled to {@link R.integer.config_letterboxDefaultPositionForReachability}.
|
|
||||||
*/
|
|
||||||
void resetDefaultPositionForReachability() {
|
|
||||||
mDefaultPositionForReachability = readLetterboxReachabilityPositionFromConfig(mContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
@LetterboxReachabilityPosition
|
@LetterboxReachabilityPosition
|
||||||
private static int readLetterboxReachabilityPositionFromConfig(Context context) {
|
private static int readLetterboxReachabilityPositionFromConfig(Context context) {
|
||||||
int position = context.getResources().getInteger(
|
int position = context.getResources().getInteger(
|
||||||
@@ -516,17 +404,8 @@ final class LetterboxConfiguration {
|
|||||||
/**
|
/**
|
||||||
* Overrides whether education is allowed for letterboxed fullscreen apps.
|
* Overrides whether education is allowed for letterboxed fullscreen apps.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void setIsEducationEnabled(boolean enabled) {
|
void setIsEducationEnabled(boolean enabled) {
|
||||||
mIsEducationEnabled = enabled;
|
mIsEducationEnabled = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets whether education is allowed for letterboxed fullscreen apps to
|
|
||||||
* {@link R.bool.config_letterboxIsEducationEnabled}.
|
|
||||||
*/
|
|
||||||
void resetIsEducationEnabled() {
|
|
||||||
mIsEducationEnabled = mContext.getResources().getBoolean(
|
|
||||||
R.bool.config_letterboxIsEducationEnabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5704,25 +5704,6 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setSandboxDisplayApis(int displayId, boolean sandboxDisplayApis) {
|
|
||||||
if (mContext.checkCallingOrSelfPermission(WRITE_SECURE_SETTINGS)
|
|
||||||
!= PackageManager.PERMISSION_GRANTED) {
|
|
||||||
throw new SecurityException("Must hold permission " + WRITE_SECURE_SETTINGS);
|
|
||||||
}
|
|
||||||
|
|
||||||
final long ident = Binder.clearCallingIdentity();
|
|
||||||
try {
|
|
||||||
synchronized (mGlobalLock) {
|
|
||||||
final DisplayContent displayContent = mRoot.getDisplayContent(displayId);
|
|
||||||
if (displayContent != null) {
|
|
||||||
displayContent.setSandboxDisplayApis(sandboxDisplayApis);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
Binder.restoreCallingIdentity(ident);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** The global settings only apply to default display. */
|
/** The global settings only apply to default display. */
|
||||||
private boolean applyForcedPropertiesForDefaultDisplay() {
|
private boolean applyForcedPropertiesForDefaultDisplay() {
|
||||||
boolean changed = false;
|
boolean changed = false;
|
||||||
|
|||||||
@@ -19,16 +19,6 @@ package com.android.server.wm;
|
|||||||
import static android.os.Build.IS_USER;
|
import static android.os.Build.IS_USER;
|
||||||
import static android.view.CrossWindowBlurListeners.CROSS_WINDOW_BLUR_SUPPORTED;
|
import static android.view.CrossWindowBlurListeners.CROSS_WINDOW_BLUR_SUPPORTED;
|
||||||
|
|
||||||
import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_BACKGROUND_APP_COLOR_BACKGROUND;
|
|
||||||
import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_BACKGROUND_APP_COLOR_BACKGROUND_FLOATING;
|
|
||||||
import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_BACKGROUND_SOLID_COLOR;
|
|
||||||
import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_BACKGROUND_WALLPAPER;
|
|
||||||
import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_REACHABILITY_POSITION_CENTER;
|
|
||||||
import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_REACHABILITY_POSITION_LEFT;
|
|
||||||
import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_REACHABILITY_POSITION_RIGHT;
|
|
||||||
|
|
||||||
import android.content.res.Resources.NotFoundException;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.Point;
|
import android.graphics.Point;
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
@@ -46,8 +36,6 @@ import com.android.internal.os.ByteTransferPipe;
|
|||||||
import com.android.internal.protolog.ProtoLogImpl;
|
import com.android.internal.protolog.ProtoLogImpl;
|
||||||
import com.android.server.LocalServices;
|
import com.android.server.LocalServices;
|
||||||
import com.android.server.statusbar.StatusBarManagerInternal;
|
import com.android.server.statusbar.StatusBarManagerInternal;
|
||||||
import com.android.server.wm.LetterboxConfiguration.LetterboxBackgroundType;
|
|
||||||
import com.android.server.wm.LetterboxConfiguration.LetterboxReachabilityPosition;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@@ -70,12 +58,10 @@ public class WindowManagerShellCommand extends ShellCommand {
|
|||||||
|
|
||||||
// Internal service impl -- must perform security checks before touching.
|
// Internal service impl -- must perform security checks before touching.
|
||||||
private final WindowManagerService mInternal;
|
private final WindowManagerService mInternal;
|
||||||
private final LetterboxConfiguration mLetterboxConfiguration;
|
|
||||||
|
|
||||||
public WindowManagerShellCommand(WindowManagerService service) {
|
public WindowManagerShellCommand(WindowManagerService service) {
|
||||||
mInterface = service;
|
mInterface = service;
|
||||||
mInternal = service;
|
mInternal = service;
|
||||||
mLetterboxConfiguration = service.mLetterboxConfiguration;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -127,14 +113,6 @@ public class WindowManagerShellCommand extends ShellCommand {
|
|||||||
return runGetIgnoreOrientationRequest(pw);
|
return runGetIgnoreOrientationRequest(pw);
|
||||||
case "dump-visible-window-views":
|
case "dump-visible-window-views":
|
||||||
return runDumpVisibleWindowViews(pw);
|
return runDumpVisibleWindowViews(pw);
|
||||||
case "set-letterbox-style":
|
|
||||||
return runSetLetterboxStyle(pw);
|
|
||||||
case "get-letterbox-style":
|
|
||||||
return runGetLetterboxStyle(pw);
|
|
||||||
case "reset-letterbox-style":
|
|
||||||
return runResetLetterboxStyle(pw);
|
|
||||||
case "set-sandbox-display-apis":
|
|
||||||
return runSandboxDisplayApis(pw);
|
|
||||||
case "set-multi-window-config":
|
case "set-multi-window-config":
|
||||||
return runSetMultiWindowConfig();
|
return runSetMultiWindowConfig();
|
||||||
case "get-multi-window-config":
|
case "get-multi-window-config":
|
||||||
@@ -353,37 +331,6 @@ public class WindowManagerShellCommand extends ShellCommand {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Override display size and metrics to reflect the DisplayArea of the calling activity.
|
|
||||||
*/
|
|
||||||
private int runSandboxDisplayApis(PrintWriter pw) throws RemoteException {
|
|
||||||
int displayId = Display.DEFAULT_DISPLAY;
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
if ("-d".equals(arg)) {
|
|
||||||
displayId = Integer.parseInt(getNextArgRequired());
|
|
||||||
arg = getNextArgRequired();
|
|
||||||
}
|
|
||||||
|
|
||||||
final boolean sandboxDisplayApis;
|
|
||||||
switch (arg) {
|
|
||||||
case "true":
|
|
||||||
case "1":
|
|
||||||
sandboxDisplayApis = true;
|
|
||||||
break;
|
|
||||||
case "false":
|
|
||||||
case "0":
|
|
||||||
sandboxDisplayApis = false;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
getErrPrintWriter().println("Error: expecting true, 1, false, 0, but we "
|
|
||||||
+ "get " + arg);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
mInternal.setSandboxDisplayApis(displayId, sandboxDisplayApis);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runDismissKeyguard(PrintWriter pw) throws RemoteException {
|
private int runDismissKeyguard(PrintWriter pw) throws RemoteException {
|
||||||
mInterface.dismissKeyguard(null /* callback */, null /* message */);
|
mInterface.dismissKeyguard(null /* callback */, null /* message */);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -606,347 +553,6 @@ public class WindowManagerShellCommand extends ShellCommand {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int runSetFixedOrientationLetterboxAspectRatio(PrintWriter pw) throws RemoteException {
|
|
||||||
final float aspectRatio;
|
|
||||||
try {
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
aspectRatio = Float.parseFloat(arg);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
getErrPrintWriter().println("Error: bad aspect ratio format " + e);
|
|
||||||
return -1;
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: aspect ratio should be provided as an argument " + e);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setFixedOrientationLetterboxAspectRatio(aspectRatio);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxActivityCornersRadius(PrintWriter pw) throws RemoteException {
|
|
||||||
final int cornersRadius;
|
|
||||||
try {
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
cornersRadius = Integer.parseInt(arg);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
getErrPrintWriter().println("Error: bad corners radius format " + e);
|
|
||||||
return -1;
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: corners radius should be provided as an argument " + e);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setLetterboxActivityCornersRadius(cornersRadius);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxBackgroundType(PrintWriter pw) throws RemoteException {
|
|
||||||
@LetterboxBackgroundType final int backgroundType;
|
|
||||||
try {
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
switch (arg) {
|
|
||||||
case "solid_color":
|
|
||||||
backgroundType = LETTERBOX_BACKGROUND_SOLID_COLOR;
|
|
||||||
break;
|
|
||||||
case "app_color_background":
|
|
||||||
backgroundType = LETTERBOX_BACKGROUND_APP_COLOR_BACKGROUND;
|
|
||||||
break;
|
|
||||||
case "app_color_background_floating":
|
|
||||||
backgroundType = LETTERBOX_BACKGROUND_APP_COLOR_BACKGROUND_FLOATING;
|
|
||||||
break;
|
|
||||||
case "wallpaper":
|
|
||||||
backgroundType = LETTERBOX_BACKGROUND_WALLPAPER;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: 'solid_color', 'app_color_background' or "
|
|
||||||
+ "'wallpaper' should be provided as an argument");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: 'solid_color', 'app_color_background' or "
|
|
||||||
+ "'wallpaper' should be provided as an argument" + e);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setLetterboxBackgroundType(backgroundType);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxBackgroundColorResource(PrintWriter pw) throws RemoteException {
|
|
||||||
final int colorId;
|
|
||||||
try {
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
colorId = mInternal.mContext.getResources()
|
|
||||||
.getIdentifier(arg, "color", "com.android.internal");
|
|
||||||
} catch (NotFoundException e) {
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: color in '@android:color/resource_name' format should be provided as "
|
|
||||||
+ "an argument " + e);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setLetterboxBackgroundColorResourceId(colorId);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxBackgroundColor(PrintWriter pw) throws RemoteException {
|
|
||||||
final Color color;
|
|
||||||
try {
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
color = Color.valueOf(Color.parseColor(arg));
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: color in #RRGGBB format should be provided as "
|
|
||||||
+ "an argument " + e);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setLetterboxBackgroundColor(color);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxBackgroundWallpaperBlurRadius(PrintWriter pw)
|
|
||||||
throws RemoteException {
|
|
||||||
final int radius;
|
|
||||||
try {
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
radius = Integer.parseInt(arg);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
getErrPrintWriter().println("Error: blur radius format " + e);
|
|
||||||
return -1;
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: blur radius should be provided as an argument " + e);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setLetterboxBackgroundWallpaperBlurRadius(radius);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxBackgroundWallpaperDarkScrimAlpha(PrintWriter pw)
|
|
||||||
throws RemoteException {
|
|
||||||
final float alpha;
|
|
||||||
try {
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
alpha = Float.parseFloat(arg);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
getErrPrintWriter().println("Error: bad alpha format " + e);
|
|
||||||
return -1;
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: alpha should be provided as an argument " + e);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setLetterboxBackgroundWallpaperDarkScrimAlpha(alpha);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxHorizontalPositionMultiplier(PrintWriter pw) throws RemoteException {
|
|
||||||
final float multiplier;
|
|
||||||
try {
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
multiplier = Float.parseFloat(arg);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
getErrPrintWriter().println("Error: bad multiplier format " + e);
|
|
||||||
return -1;
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: multiplier should be provided as an argument " + e);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setLetterboxHorizontalPositionMultiplier(multiplier);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxIsReachabilityEnabled(PrintWriter pw) throws RemoteException {
|
|
||||||
String arg = getNextArg();
|
|
||||||
final boolean enabled;
|
|
||||||
switch (arg) {
|
|
||||||
case "true":
|
|
||||||
case "1":
|
|
||||||
enabled = true;
|
|
||||||
break;
|
|
||||||
case "false":
|
|
||||||
case "0":
|
|
||||||
enabled = false;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
getErrPrintWriter().println("Error: expected true, 1, false, 0, but got " + arg);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setIsReachabilityEnabled(enabled);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxDefaultPositionForReachability(PrintWriter pw)
|
|
||||||
throws RemoteException {
|
|
||||||
@LetterboxReachabilityPosition final int position;
|
|
||||||
try {
|
|
||||||
String arg = getNextArgRequired();
|
|
||||||
switch (arg) {
|
|
||||||
case "left":
|
|
||||||
position = LETTERBOX_REACHABILITY_POSITION_LEFT;
|
|
||||||
break;
|
|
||||||
case "center":
|
|
||||||
position = LETTERBOX_REACHABILITY_POSITION_CENTER;
|
|
||||||
break;
|
|
||||||
case "right":
|
|
||||||
position = LETTERBOX_REACHABILITY_POSITION_RIGHT;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: 'left', 'center' or 'right' are expected as an argument");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: 'left', 'center' or 'right' are expected as an argument" + e);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setDefaultPositionForReachability(position);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxIsEducationEnabled(PrintWriter pw) throws RemoteException {
|
|
||||||
String arg = getNextArg();
|
|
||||||
final boolean enabled;
|
|
||||||
switch (arg) {
|
|
||||||
case "true":
|
|
||||||
case "1":
|
|
||||||
enabled = true;
|
|
||||||
break;
|
|
||||||
case "false":
|
|
||||||
case "0":
|
|
||||||
enabled = false;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
getErrPrintWriter().println("Error: expected true, 1, false, 0, but got " + arg);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.setIsEducationEnabled(enabled);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetLetterboxStyle(PrintWriter pw) throws RemoteException {
|
|
||||||
if (peekNextArg() == null) {
|
|
||||||
getErrPrintWriter().println("Error: No arguments provided.");
|
|
||||||
}
|
|
||||||
while (peekNextArg() != null) {
|
|
||||||
String arg = getNextArg();
|
|
||||||
switch (arg) {
|
|
||||||
case "--aspectRatio":
|
|
||||||
runSetFixedOrientationLetterboxAspectRatio(pw);
|
|
||||||
break;
|
|
||||||
case "--cornerRadius":
|
|
||||||
runSetLetterboxActivityCornersRadius(pw);
|
|
||||||
break;
|
|
||||||
case "--backgroundType":
|
|
||||||
runSetLetterboxBackgroundType(pw);
|
|
||||||
break;
|
|
||||||
case "--backgroundColor":
|
|
||||||
runSetLetterboxBackgroundColor(pw);
|
|
||||||
break;
|
|
||||||
case "--backgroundColorResource":
|
|
||||||
runSetLetterboxBackgroundColorResource(pw);
|
|
||||||
break;
|
|
||||||
case "--wallpaperBlurRadius":
|
|
||||||
runSetLetterboxBackgroundWallpaperBlurRadius(pw);
|
|
||||||
break;
|
|
||||||
case "--wallpaperDarkScrimAlpha":
|
|
||||||
runSetLetterboxBackgroundWallpaperDarkScrimAlpha(pw);
|
|
||||||
break;
|
|
||||||
case "--horizontalPositionMultiplier":
|
|
||||||
runSetLetterboxHorizontalPositionMultiplier(pw);
|
|
||||||
break;
|
|
||||||
case "--isReachabilityEnabled":
|
|
||||||
runSetLetterboxIsReachabilityEnabled(pw);
|
|
||||||
break;
|
|
||||||
case "--defaultPositionForReachability":
|
|
||||||
runSetLetterboxDefaultPositionForReachability(pw);
|
|
||||||
break;
|
|
||||||
case "--isEducationEnabled":
|
|
||||||
runSetLetterboxIsEducationEnabled(pw);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: Unrecognized letterbox style option: " + arg);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runResetLetterboxStyle(PrintWriter pw) throws RemoteException {
|
|
||||||
if (peekNextArg() == null) {
|
|
||||||
resetLetterboxStyle();
|
|
||||||
}
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
while (peekNextArg() != null) {
|
|
||||||
String arg = getNextArg();
|
|
||||||
switch (arg) {
|
|
||||||
case "aspectRatio":
|
|
||||||
mLetterboxConfiguration.resetFixedOrientationLetterboxAspectRatio();
|
|
||||||
break;
|
|
||||||
case "cornerRadius":
|
|
||||||
mLetterboxConfiguration.resetLetterboxActivityCornersRadius();
|
|
||||||
break;
|
|
||||||
case "backgroundType":
|
|
||||||
mLetterboxConfiguration.resetLetterboxBackgroundType();
|
|
||||||
break;
|
|
||||||
case "backgroundColor":
|
|
||||||
mLetterboxConfiguration.resetLetterboxBackgroundColor();
|
|
||||||
break;
|
|
||||||
case "wallpaperBlurRadius":
|
|
||||||
mLetterboxConfiguration.resetLetterboxBackgroundWallpaperBlurRadius();
|
|
||||||
break;
|
|
||||||
case "wallpaperDarkScrimAlpha":
|
|
||||||
mLetterboxConfiguration.resetLetterboxBackgroundWallpaperDarkScrimAlpha();
|
|
||||||
break;
|
|
||||||
case "horizontalPositionMultiplier":
|
|
||||||
mLetterboxConfiguration.resetLetterboxHorizontalPositionMultiplier();
|
|
||||||
break;
|
|
||||||
case "isReachabilityEnabled":
|
|
||||||
mLetterboxConfiguration.getIsReachabilityEnabled();
|
|
||||||
break;
|
|
||||||
case "defaultPositionForReachability":
|
|
||||||
mLetterboxConfiguration.getDefaultPositionForReachability();
|
|
||||||
break;
|
|
||||||
case "isEducationEnabled":
|
|
||||||
mLetterboxConfiguration.getIsEducationEnabled();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
getErrPrintWriter().println(
|
|
||||||
"Error: Unrecognized letterbox style option: " + arg);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runSetMultiWindowConfig() {
|
private int runSetMultiWindowConfig() {
|
||||||
if (peekNextArg() == null) {
|
if (peekNextArg() == null) {
|
||||||
getErrPrintWriter().println("Error: No arguments provided.");
|
getErrPrintWriter().println("Error: No arguments provided.");
|
||||||
@@ -1021,50 +627,6 @@ public class WindowManagerShellCommand extends ShellCommand {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resetLetterboxStyle() {
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
mLetterboxConfiguration.resetFixedOrientationLetterboxAspectRatio();
|
|
||||||
mLetterboxConfiguration.resetLetterboxActivityCornersRadius();
|
|
||||||
mLetterboxConfiguration.resetLetterboxBackgroundType();
|
|
||||||
mLetterboxConfiguration.resetLetterboxBackgroundColor();
|
|
||||||
mLetterboxConfiguration.resetLetterboxBackgroundWallpaperBlurRadius();
|
|
||||||
mLetterboxConfiguration.resetLetterboxBackgroundWallpaperDarkScrimAlpha();
|
|
||||||
mLetterboxConfiguration.resetLetterboxHorizontalPositionMultiplier();
|
|
||||||
mLetterboxConfiguration.resetIsReachabilityEnabled();
|
|
||||||
mLetterboxConfiguration.resetDefaultPositionForReachability();
|
|
||||||
mLetterboxConfiguration.resetIsEducationEnabled();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runGetLetterboxStyle(PrintWriter pw) throws RemoteException {
|
|
||||||
synchronized (mInternal.mGlobalLock) {
|
|
||||||
pw.println("Corner radius: "
|
|
||||||
+ mLetterboxConfiguration.getLetterboxActivityCornersRadius());
|
|
||||||
pw.println("Horizontal position multiplier: "
|
|
||||||
+ mLetterboxConfiguration.getLetterboxHorizontalPositionMultiplier());
|
|
||||||
pw.println("Aspect ratio: "
|
|
||||||
+ mLetterboxConfiguration.getFixedOrientationLetterboxAspectRatio());
|
|
||||||
pw.println("Is reachability enabled: "
|
|
||||||
+ mLetterboxConfiguration.getIsReachabilityEnabled());
|
|
||||||
pw.println("Default position for reachability: "
|
|
||||||
+ LetterboxConfiguration.letterboxReachabilityPositionToString(
|
|
||||||
mLetterboxConfiguration.getDefaultPositionForReachability()));
|
|
||||||
pw.println("Is education enabled: "
|
|
||||||
+ mLetterboxConfiguration.getIsEducationEnabled());
|
|
||||||
|
|
||||||
pw.println("Background type: "
|
|
||||||
+ LetterboxConfiguration.letterboxBackgroundTypeToString(
|
|
||||||
mLetterboxConfiguration.getLetterboxBackgroundType()));
|
|
||||||
pw.println(" Background color: " + Integer.toHexString(
|
|
||||||
mLetterboxConfiguration.getLetterboxBackgroundColor().toArgb()));
|
|
||||||
pw.println(" Wallpaper blur radius: "
|
|
||||||
+ mLetterboxConfiguration.getLetterboxBackgroundWallpaperBlurRadius());
|
|
||||||
pw.println(" Wallpaper dark scrim alpha: "
|
|
||||||
+ mLetterboxConfiguration.getLetterboxBackgroundWallpaperDarkScrimAlpha());
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int runReset(PrintWriter pw) throws RemoteException {
|
private int runReset(PrintWriter pw) throws RemoteException {
|
||||||
int displayId = getDisplayId(getNextArg());
|
int displayId = getDisplayId(getNextArg());
|
||||||
|
|
||||||
@@ -1089,12 +651,6 @@ public class WindowManagerShellCommand extends ShellCommand {
|
|||||||
// set-ignore-orientation-request
|
// set-ignore-orientation-request
|
||||||
mInterface.setIgnoreOrientationRequest(displayId, false /* ignoreOrientationRequest */);
|
mInterface.setIgnoreOrientationRequest(displayId, false /* ignoreOrientationRequest */);
|
||||||
|
|
||||||
// set-letterbox-style
|
|
||||||
resetLetterboxStyle();
|
|
||||||
|
|
||||||
// set-sandbox-display-apis
|
|
||||||
mInternal.setSandboxDisplayApis(displayId, /* sandboxDisplayApis= */ true);
|
|
||||||
|
|
||||||
// set-multi-window-config
|
// set-multi-window-config
|
||||||
runResetMultiWindowConfig();
|
runResetMultiWindowConfig();
|
||||||
|
|
||||||
@@ -1129,12 +685,7 @@ public class WindowManagerShellCommand extends ShellCommand {
|
|||||||
pw.println(" set-ignore-orientation-request [-d DISPLAY_ID] [true|1|false|0]");
|
pw.println(" set-ignore-orientation-request [-d DISPLAY_ID] [true|1|false|0]");
|
||||||
pw.println(" get-ignore-orientation-request [-d DISPLAY_ID] ");
|
pw.println(" get-ignore-orientation-request [-d DISPLAY_ID] ");
|
||||||
pw.println(" If app requested orientation should be ignored.");
|
pw.println(" If app requested orientation should be ignored.");
|
||||||
pw.println(" set-sandbox-display-apis [true|1|false|0]");
|
|
||||||
pw.println(" Sets override of Display APIs getRealSize / getRealMetrics to reflect ");
|
|
||||||
pw.println(" DisplayArea of the activity, or the window bounds if in letterbox or");
|
|
||||||
pw.println(" Size Compat Mode.");
|
|
||||||
|
|
||||||
printLetterboxHelp(pw);
|
|
||||||
printMultiWindowConfigHelp(pw);
|
printMultiWindowConfigHelp(pw);
|
||||||
|
|
||||||
pw.println(" reset [-d DISPLAY_ID]");
|
pw.println(" reset [-d DISPLAY_ID]");
|
||||||
@@ -1147,63 +698,6 @@ public class WindowManagerShellCommand extends ShellCommand {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void printLetterboxHelp(PrintWriter pw) {
|
|
||||||
pw.println(" set-letterbox-style");
|
|
||||||
pw.println(" Sets letterbox style using the following options:");
|
|
||||||
pw.println(" --aspectRatio aspectRatio");
|
|
||||||
pw.println(" Aspect ratio of letterbox for fixed orientation. If aspectRatio <= "
|
|
||||||
+ LetterboxConfiguration.MIN_FIXED_ORIENTATION_LETTERBOX_ASPECT_RATIO);
|
|
||||||
pw.println(" both it and R.dimen.config_fixedOrientationLetterboxAspectRatio will");
|
|
||||||
pw.println(" be ignored and framework implementation will determine aspect ratio.");
|
|
||||||
pw.println(" --cornerRadius radius");
|
|
||||||
pw.println(" Corners radius for activities in the letterbox mode. If radius < 0,");
|
|
||||||
pw.println(" both it and R.integer.config_letterboxActivityCornersRadius will be");
|
|
||||||
pw.println(" ignored and corners of the activity won't be rounded.");
|
|
||||||
pw.println(" --backgroundType [reset|solid_color|app_color_background");
|
|
||||||
pw.println(" |app_color_background_floating|wallpaper]");
|
|
||||||
pw.println(" Type of background used in the letterbox mode.");
|
|
||||||
pw.println(" --backgroundColor color");
|
|
||||||
pw.println(" Color of letterbox which is be used when letterbox background type");
|
|
||||||
pw.println(" is 'solid-color'. Use (set)get-letterbox-style to check and control");
|
|
||||||
pw.println(" letterbox background type. See Color#parseColor for allowed color");
|
|
||||||
pw.println(" formats (#RRGGBB and some colors by name, e.g. magenta or olive).");
|
|
||||||
pw.println(" --backgroundColorResource resource_name");
|
|
||||||
pw.println(" Color resource name of letterbox background which is used when");
|
|
||||||
pw.println(" background type is 'solid-color'. Use (set)get-letterbox-style to");
|
|
||||||
pw.println(" check and control background type. Parameter is a color resource");
|
|
||||||
pw.println(" name, for example, @android:color/system_accent2_50.");
|
|
||||||
pw.println(" --wallpaperBlurRadius radius");
|
|
||||||
pw.println(" Blur radius for 'wallpaper' letterbox background. If radius <= 0");
|
|
||||||
pw.println(" both it and R.dimen.config_letterboxBackgroundWallpaperBlurRadius");
|
|
||||||
pw.println(" are ignored and 0 is used.");
|
|
||||||
pw.println(" --wallpaperDarkScrimAlpha alpha");
|
|
||||||
pw.println(" Alpha of a black translucent scrim shown over 'wallpaper'");
|
|
||||||
pw.println(" letterbox background. If alpha < 0 or >= 1 both it and");
|
|
||||||
pw.println(" R.dimen.config_letterboxBackgroundWallaperDarkScrimAlpha are ignored");
|
|
||||||
pw.println(" and 0.0 (transparent) is used instead.");
|
|
||||||
pw.println(" --horizontalPositionMultiplier multiplier");
|
|
||||||
pw.println(" Horizontal position of app window center. If multiplier < 0 or > 1,");
|
|
||||||
pw.println(" both it and R.dimen.config_letterboxHorizontalPositionMultiplier");
|
|
||||||
pw.println(" are ignored and central position (0.5) is used.");
|
|
||||||
pw.println(" --isReachabilityEnabled [true|1|false|0]");
|
|
||||||
pw.println(" Whether reachability repositioning is allowed for letterboxed");
|
|
||||||
pw.println(" fullscreen apps in landscape device orientation.");
|
|
||||||
pw.println(" --defaultPositionForReachability [left|center|right]");
|
|
||||||
pw.println(" Default horizontal position of app window when reachability is.");
|
|
||||||
pw.println(" enabled.");
|
|
||||||
pw.println(" --isEducationEnabled [true|1|false|0]");
|
|
||||||
pw.println(" Whether education is allowed for letterboxed fullscreen apps.");
|
|
||||||
pw.println(" reset-letterbox-style [aspectRatio|cornerRadius|backgroundType");
|
|
||||||
pw.println(" |backgroundColor|wallpaperBlurRadius|wallpaperDarkScrimAlpha");
|
|
||||||
pw.println(" |horizontalPositionMultiplier|isReachabilityEnabled");
|
|
||||||
pw.println(" isEducationEnabled||defaultPositionMultiplierForReachability]");
|
|
||||||
pw.println(" Resets overrides to default values for specified properties separated");
|
|
||||||
pw.println(" by space, e.g. 'reset-letterbox-style aspectRatio cornerRadius'.");
|
|
||||||
pw.println(" If no arguments provided, all values will be reset.");
|
|
||||||
pw.println(" get-letterbox-style");
|
|
||||||
pw.println(" Prints letterbox style configuration.");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void printMultiWindowConfigHelp(PrintWriter pw) {
|
private void printMultiWindowConfigHelp(PrintWriter pw) {
|
||||||
pw.println(" set-multi-window-config");
|
pw.println(" set-multi-window-config");
|
||||||
pw.println(" Sets options to determine if activity should be shown in multi window:");
|
pw.println(" Sets options to determine if activity should be shown in multi window:");
|
||||||
|
|||||||
Reference in New Issue
Block a user