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 63e24d1791)
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user