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

Commit 26849125 authored by Jerry Chang's avatar Jerry Chang
Browse files

Limit insets adjustment of split bounds in portrait mode

I91d3a430 adjusts insets when calculating divider bar snap positions, to
avoid size-compat mode when switching unresizable apps. However,
limiting the adjustment to portrait mode would be enough since it's for
apps in landscape when they are latterboxed. This also helps align the
middle divider bar position with navigation bar in landscape mode.

Fix: 242918407
Test: switching split position of unresizable apps in landscape won't
      show size-compat mode button
Test: divider bar position aligned with navigation bar in landscape with
      the consideration of insets

Change-Id: I8722393c3f591de2b02098ec279b23c82a7daeb6
parent bca24335
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -520,11 +520,9 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
        final Rect insets = stableInsets != null ? stableInsets : getDisplayInsets(context);

        // Make split axis insets value same as the larger one to avoid bounds1 and bounds2
        // have difference after split switching for solving issues on non-resizable app case.
        if (isLandscape) {
            final int largerInsets = Math.max(insets.left, insets.right);
            insets.set(largerInsets, insets.top, largerInsets, insets.bottom);
        } else {
        // have difference for avoiding size-compat mode when switching unresizable apps in
        // landscape while they are letterboxed.
        if (!isLandscape) {
            final int largerInsets = Math.max(insets.top, insets.bottom);
            insets.set(insets.left, largerInsets, insets.right, largerInsets);
        }