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

Commit 0d1a7441 authored by Vali Calinescu's avatar Vali Calinescu
Browse files

Check the current runtime orientation in updateCompatDisplayInsets

Right now we are checking the static runtime orientation from ActivityInfo in updateCompatDisplayInsets. This can be obsolete, so we need to start checking the current one from the most recent requested configuration.

Fix: 264276741
Test: atest WmTests:ActivityRecordTests
Test: atest WmTests:SizeCompatTests

Change-Id: I0ef411c4eb67f539352d8dbf521a6b9672b47fcc
parent 961c53cb
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -8008,9 +8008,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        // The smallest screen width is the short side of screen bounds. Because the bounds
        // and density won't be changed, smallestScreenWidthDp is also fixed.
        overrideConfig.smallestScreenWidthDp = fullConfig.smallestScreenWidthDp;
        // TODO(b/264276741): Check whether the runtime orietnation request is fixed rather than
        // the manifest orientation which may be obsolete.
        if (info.isFixedOrientation()) {
        if (ActivityInfo.isFixedOrientation(getOverrideOrientation())) {
            // lock rotation too. When in size-compat, onConfigurationChanged will watch for and
            // apply runtime rotation changes.
            overrideConfig.windowConfiguration.setRotation(
@@ -8181,7 +8179,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
    /**
     * @return The orientation to use to understand if reachability is enabled.
     */
    @ActivityInfo.ScreenOrientation
    @Configuration.Orientation
    int getOrientationForReachability() {
        return mLetterboxUiController.hasInheritedLetterboxBehavior()
                ? mLetterboxUiController.getInheritedOrientation()
+2 −2
Original line number Diff line number Diff line
@@ -1436,7 +1436,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
     *         {@link Configuration#ORIENTATION_PORTRAIT},
     *         {@link Configuration#ORIENTATION_UNDEFINED}).
     */
    @ScreenOrientation
    @Configuration.Orientation
    int getRequestedConfigurationOrientation() {
        return getRequestedConfigurationOrientation(false /* forDisplay */);
    }
@@ -1454,7 +1454,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
     *         {@link Configuration#ORIENTATION_PORTRAIT},
     *         {@link Configuration#ORIENTATION_UNDEFINED}).
     */
    @ScreenOrientation
    @Configuration.Orientation
    int getRequestedConfigurationOrientation(boolean forDisplay) {
        int requestedOrientation = getOverrideOrientation();
        final RootDisplayArea root = getRootDisplayArea();