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

Commit c6b94774 authored by Diego Vela's avatar Diego Vela Committed by Android Build Coastguard Worker
Browse files

Report folding features to letterboxed apps.

Folding features were filtered out from letterboxed apps because we
assumed that letterboxed apps did not want to optimize. We have found
apps do want to support folding features but may also request fixed
orientation for their experience. We are removing the filter so that
letterboxed apps will get folding feature information.

Bug: 262900133
Test: Manual - open the samples and check if folding features report.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:3e428597423552cd806a9658c763ed3f7ffcbc2c)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:58855b37c9ba3cdf6e4885fd1ece41ffb4626a03)
Merged-In: I427f0bc23f00d245c5093c75f13c9e533209362e
Change-Id: I427f0bc23f00d245c5093c75f13c9e533209362e
parent 549ad934
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -381,24 +381,15 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent {
            final Rect taskBounds = taskConfig.windowConfiguration.getBounds();
            final WindowManager windowManager = Objects.requireNonNull(
                    context.getSystemService(WindowManager.class));
            final Rect currentBounds = windowManager.getCurrentWindowMetrics().getBounds();
            final Rect maxBounds = windowManager.getMaximumWindowMetrics().getBounds();
            boolean isTaskExpanded = maxBounds.equals(taskBounds);
            boolean isActivityExpanded = maxBounds.equals(currentBounds);
            /*
             * We need to proxy being in full screen because when a user enters PiP and exits PiP
             * the task windowingMode will report multi-window/pinned until the transition is
             * finished in WM Shell.
             * maxBounds == taskWindowBounds is a proxy check to verify the window is full screen
             * For tasks that are letterboxed, we use currentBounds == maxBounds to filter these
             * out.
             */
            // TODO(b/262900133) remove currentBounds check when letterboxed apps report bounds.
            // currently we don't want to report to letterboxed apps since they do not update the
            // window bounds when the Activity is moved.  An inaccurate fold will be reported so
            // we skip.
            return isTaskExpanded && (isActivityExpanded
                    || mTaskFragmentOrganizer.isActivityEmbedded(activityToken));
            return isTaskExpanded;
        } else {
            // TODO(b/242674941): use task windowing mode for window context that associates with
            //  activity.