summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kazuhiro Inaba <kinaba@google.com> 2016-07-14 13:02:55 +0900
committer Kazuhiro Inaba <kinaba@google.com> 2016-07-28 22:48:45 +0000
commitad0f7793c7574cb563f8001497a2af425ceee1b7 (patch)
tree0564aa999ae0b86cb829c5cf6bce01d1e6fd77e4
parent6cecc8dc278845bc2868b28c510a18cd20e95a44 (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.java8
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,