Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a092855 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Separate string config for ignore_orientation_request" into main

parents 4f8a4c44 35c25257
Loading
Loading
Loading
Loading
+25 −9
Original line number Diff line number Diff line
@@ -42,12 +42,23 @@ final class WindowManagerConstants {
     * <ul>
     * <li>false: applies to no apps (default)</li>
     * <li>true: applies to all apps</li>
     * <li>large: applies to all apps but only on large screens</li>
     * </ul>
     */
    private static final String KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST =
            "ignore_activity_orientation_request";

    /**
     * The orientation of activity will be always "unspecified" except for game apps.
     * <p>Possible values:
     * <ul>
     * <li>none: applies to no apps (default)</li>
     * <li>all: applies to all apps ({@see #KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST})</li>
     * <li>large: applies to all apps but only on large screens</li>
     * </ul>
     */
    private static final String KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST_SCREENS =
            "ignore_activity_orientation_request_screens";

    /** The packages that ignore {@link #KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST}. */
    private static final String KEY_OPT_OUT_IGNORE_ACTIVITY_ORIENTATION_REQUEST_LIST =
            "opt_out_ignore_activity_orientation_request_list";
@@ -155,6 +166,7 @@ final class WindowManagerConstants {
                        updateSystemGestureExclusionLogDebounceMillis();
                        break;
                    case KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST:
                    case KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST_SCREENS:
                        updateIgnoreActivityOrientationRequest();
                        break;
                    case KEY_OPT_OUT_IGNORE_ACTIVITY_ORIENTATION_REQUEST_LIST:
@@ -186,12 +198,16 @@ final class WindowManagerConstants {
    }

    private void updateIgnoreActivityOrientationRequest() {
        final String value = mDeviceConfig.getProperty(
        boolean allScreens = mDeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_WINDOW_MANAGER,
                KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST, false);
        String whichScreens = mDeviceConfig.getProperty(
                DeviceConfig.NAMESPACE_WINDOW_MANAGER,
                KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST);
        mIgnoreActivityOrientationRequestSmallScreen = Boolean.parseBoolean(value);
        mIgnoreActivityOrientationRequestLargeScreen = mIgnoreActivityOrientationRequestSmallScreen
                || ("large".equals(value));
                KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST_SCREENS);
        allScreens |= ("all".equalsIgnoreCase(whichScreens));
        boolean largeScreens = allScreens || ("large".equalsIgnoreCase(whichScreens));
        mIgnoreActivityOrientationRequestSmallScreen = allScreens;
        mIgnoreActivityOrientationRequestLargeScreen = largeScreens;
    }

    private void updateOptOutIgnoreActivityOrientationRequestList() {
@@ -221,9 +237,9 @@ final class WindowManagerConstants {
        pw.print("="); pw.println(mSystemGestureExclusionLimitDp);
        pw.print("  "); pw.print(KEY_SYSTEM_GESTURES_EXCLUDED_BY_PRE_Q_STICKY_IMMERSIVE);
        pw.print("="); pw.println(mSystemGestureExcludedByPreQStickyImmersive);
        pw.print("  "); pw.print(KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST);
        pw.print("="); pw.println(mIgnoreActivityOrientationRequestSmallScreen ? "true"
                : mIgnoreActivityOrientationRequestLargeScreen ? "large" : "false");
        pw.print("  "); pw.print(KEY_IGNORE_ACTIVITY_ORIENTATION_REQUEST_SCREENS);
        pw.print("="); pw.println(mIgnoreActivityOrientationRequestSmallScreen ? "all"
                : mIgnoreActivityOrientationRequestLargeScreen ? "large" : "none");
        if (mOptOutIgnoreActivityOrientationRequestPackages != null) {
            pw.print("  "); pw.print(KEY_OPT_OUT_IGNORE_ACTIVITY_ORIENTATION_REQUEST_LIST);
            pw.print("="); pw.println(mOptOutIgnoreActivityOrientationRequestPackages);