Clean up ADB commands for letterbox and display API sandboxing.

Changes that introduced these commands: ag/13754186 and ag/14161637 (one of many changes).

Fix: 219505867
Test: atest WmTests
Change-Id: I4164bb6bf1b9f8b5eb6ee8fdea083a08102512f1
Merged-In: Ibe60793b381e61d56f57f8d2309754eedc84bddf
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 2975a95..fe5a07df 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -6228,6 +6228,7 @@
     /**
      * Sets if Display APIs should be sandboxed to the activity window bounds.
      */
+    @VisibleForTesting
     void setSandboxDisplayApis(boolean sandboxDisplayApis) {
         mSandboxDisplayApis = sandboxDisplayApis;
     }
diff --git a/services/core/java/com/android/server/wm/LetterboxConfiguration.java b/services/core/java/com/android/server/wm/LetterboxConfiguration.java
index ad2767c..d02ad99 100644
--- a/services/core/java/com/android/server/wm/LetterboxConfiguration.java
+++ b/services/core/java/com/android/server/wm/LetterboxConfiguration.java
@@ -22,6 +22,7 @@
 import android.graphics.Color;
 
 import com.android.internal.R;
+import com.android.internal.annotations.VisibleForTesting;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -156,6 +157,7 @@
      * com.android.internal.R.dimen.config_fixedOrientationLetterboxAspectRatio} will be ignored and
      * the framework implementation will be used to determine the aspect ratio.
      */
+    @VisibleForTesting
     void setFixedOrientationLetterboxAspectRatio(float aspectRatio) {
         mFixedOrientationLetterboxAspectRatio = aspectRatio;
     }
@@ -164,6 +166,7 @@
      * Resets the aspect ratio of letterbox for fixed orientation to {@link
      * com.android.internal.R.dimen.config_fixedOrientationLetterboxAspectRatio}.
      */
+    @VisibleForTesting
     void resetFixedOrientationLetterboxAspectRatio() {
         mFixedOrientationLetterboxAspectRatio = mContext.getResources().getFloat(
                 com.android.internal.R.dimen.config_fixedOrientationLetterboxAspectRatio);
@@ -177,25 +180,6 @@
     }
 
     /**
-     * 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.
      */
     boolean isLetterboxActivityCornersRounded() {
@@ -226,34 +210,6 @@
         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
      * com.android.internal.R.integer.config_letterboxBackgroundType} or over via ADB command.
@@ -263,19 +219,6 @@
         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}. */
     static String letterboxBackgroundTypeToString(
             @LetterboxBackgroundType int backgroundType) {
@@ -305,27 +248,6 @@
     }
 
     /**
-     * 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.
      */
     float getLetterboxBackgroundWallpaperDarkScrimAlpha() {
@@ -333,28 +255,6 @@
     }
 
     /**
-     * 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
      * mLetterboxBackgroundType}.
      */
@@ -381,6 +281,7 @@
      * com.android.internal.R.dimen.config_letterboxHorizontalPositionMultiplier} are ignored and
      * central position (0.5) is used.
      */
+    @VisibleForTesting
     void setLetterboxHorizontalPositionMultiplier(float multiplier) {
         mLetterboxHorizontalPositionMultiplier = multiplier;
     }
@@ -389,6 +290,7 @@
      * Resets horizontal position of a center of the letterboxed app window to {@link
      * com.android.internal.R.dimen.config_letterboxHorizontalPositionMultiplier}.
      */
+    @VisibleForTesting
     void resetLetterboxHorizontalPositionMultiplier() {
         mLetterboxHorizontalPositionMultiplier = mContext.getResources().getFloat(
                 com.android.internal.R.dimen.config_letterboxHorizontalPositionMultiplier);
@@ -406,6 +308,7 @@
      * Overrides whether reachability repositioning is allowed for letterboxed fullscreen apps in
      * landscape device orientation.
      */
+    @VisibleForTesting
     void setIsReachabilityEnabled(boolean enabled) {
         mIsReachabilityEnabled = enabled;
     }
@@ -414,6 +317,7 @@
      * Resets whether reachability repositioning is allowed for letterboxed fullscreen apps in
      * landscape device orientation to {@link R.bool.config_letterboxIsReachabilityEnabled}.
      */
+    @VisibleForTesting
     void resetIsReachabilityEnabled() {
         mIsReachabilityEnabled = mContext.getResources().getBoolean(
                 R.bool.config_letterboxIsReachabilityEnabled);
@@ -429,22 +333,6 @@
         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
     private static int readLetterboxReachabilityPositionFromConfig(Context context) {
         int position = context.getResources().getInteger(
@@ -516,17 +404,8 @@
     /**
      * Overrides whether education is allowed for letterboxed fullscreen apps.
      */
+    @VisibleForTesting
     void setIsEducationEnabled(boolean 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);
-    }
-
 }
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 363c0eb..2be8802 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -5702,25 +5702,6 @@
         }
     }
 
-    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. */
     private boolean applyForcedPropertiesForDefaultDisplay() {
         boolean changed = false;
diff --git a/services/core/java/com/android/server/wm/WindowManagerShellCommand.java b/services/core/java/com/android/server/wm/WindowManagerShellCommand.java
index 5a2f28f..34c9348 100644
--- a/services/core/java/com/android/server/wm/WindowManagerShellCommand.java
+++ b/services/core/java/com/android/server/wm/WindowManagerShellCommand.java
@@ -19,16 +19,6 @@
 import static android.os.Build.IS_USER;
 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.Rect;
 import android.os.ParcelFileDescriptor;
@@ -46,8 +36,6 @@
 import com.android.internal.protolog.ProtoLogImpl;
 import com.android.server.LocalServices;
 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.PrintWriter;
@@ -70,12 +58,10 @@
 
     // Internal service impl -- must perform security checks before touching.
     private final WindowManagerService mInternal;
-    private final LetterboxConfiguration mLetterboxConfiguration;
 
     public WindowManagerShellCommand(WindowManagerService service) {
         mInterface = service;
         mInternal = service;
-        mLetterboxConfiguration = service.mLetterboxConfiguration;
     }
 
     @Override
@@ -127,14 +113,6 @@
                     return runGetIgnoreOrientationRequest(pw);
                 case "dump-visible-window-views":
                     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":
                     return runSetMultiWindowConfig();
                 case "get-multi-window-config":
@@ -353,37 +331,6 @@
         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 {
         mInterface.dismissKeyguard(null /* callback */, null /* message */);
         return 0;
@@ -606,347 +553,6 @@
         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() {
         if (peekNextArg() == null) {
             getErrPrintWriter().println("Error: No arguments provided.");
@@ -1021,50 +627,6 @@
         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 {
         int displayId = getDisplayId(getNextArg());
 
@@ -1089,12 +651,6 @@
         // set-ignore-orientation-request
         mInterface.setIgnoreOrientationRequest(displayId, false /* ignoreOrientationRequest */);
 
-        // set-letterbox-style
-        resetLetterboxStyle();
-
-        // set-sandbox-display-apis
-        mInternal.setSandboxDisplayApis(displayId, /* sandboxDisplayApis= */ true);
-
         // set-multi-window-config
         runResetMultiWindowConfig();
 
@@ -1129,12 +685,7 @@
         pw.println("  set-ignore-orientation-request [-d DISPLAY_ID] [true|1|false|0]");
         pw.println("  get-ignore-orientation-request [-d DISPLAY_ID] ");
         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);
 
         pw.println("  reset [-d DISPLAY_ID]");
@@ -1147,63 +698,6 @@
         }
     }
 
-    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) {
         pw.println("  set-multi-window-config");
         pw.println("    Sets options to determine if activity should be shown in multi window:");