diff options
| author | 2016-07-14 13:02:55 +0900 | |
|---|---|---|
| committer | 2016-07-28 22:48:45 +0000 | |
| commit | ad0f7793c7574cb563f8001497a2af425ceee1b7 (patch) | |
| tree | 0564aa999ae0b86cb829c5cf6bce01d1e6fd77e4 | |
| parent | 6cecc8dc278845bc2868b28c510a18cd20e95a44 (diff) | |
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 63e24d1791b2277847d4925dc5d12857c79ac52a)
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 155d8d05b1ff..70bca1d42e7a 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -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, |