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

Commit ad0f7793 authored by Kazuhiro Inaba's avatar Kazuhiro Inaba
Browse files

Cap minimum visibilty of floating windows by the real size.

Without the cap, say, a 40dp window cannot snap to the left edge,
and one CTS is failing due to this in freeform mode.

BUG=30037893
TEST=run cts --class android.widget.cts.PopupWindowTest \
      --method testUpdateDimensionAndAlignAnchorViewWithOffsets

Change-Id: I474ca4ce519bba39d3e16ec8620b1176a3c52834
(cherry picked from commit 63e24d17)
parent 6cecc8dc
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -829,10 +829,10 @@ final class WindowState implements WindowManagerPolicy.WindowState {
            final int height = Math.min(mFrame.height(), mContentFrame.height());
            final int width = Math.min(mContentFrame.width(), mFrame.width());
            final DisplayMetrics displayMetrics = getDisplayContent().getDisplayMetrics();
            final int minVisibleHeight = WindowManagerService.dipToPixel(
                    MINIMUM_VISIBLE_HEIGHT_IN_DP, displayMetrics);
            final int minVisibleWidth = WindowManagerService.dipToPixel(
                    MINIMUM_VISIBLE_WIDTH_IN_DP, displayMetrics);
            final int minVisibleHeight = Math.min(height, WindowManagerService.dipToPixel(
                    MINIMUM_VISIBLE_HEIGHT_IN_DP, displayMetrics));
            final int minVisibleWidth = Math.min(width, WindowManagerService.dipToPixel(
                    MINIMUM_VISIBLE_WIDTH_IN_DP, displayMetrics));
            final int top = Math.max(mContentFrame.top,
                    Math.min(mFrame.top, mContentFrame.bottom - minVisibleHeight));
            final int left = Math.max(mContentFrame.left + minVisibleWidth - width,