From 49f1a76a4412ef4e36f1f647fa7ec182e6cf9b58 Mon Sep 17 00:00:00 2001 From: Abodunrinwa Toki Date: Wed, 3 Aug 2016 20:07:15 -0700 Subject: [PATCH] FloatingActionMode: Use DisplayMetrics.getRealSize for screen size. Change-Id: I841bce64a63460452f378a8f612c386a31e88865 --- core/java/com/android/internal/view/FloatingActionMode.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/core/java/com/android/internal/view/FloatingActionMode.java b/core/java/com/android/internal/view/FloatingActionMode.java index 831c64698453..1203dd2c7217 100644 --- a/core/java/com/android/internal/view/FloatingActionMode.java +++ b/core/java/com/android/internal/view/FloatingActionMode.java @@ -17,6 +17,7 @@ package com.android.internal.view; import android.content.Context; +import android.graphics.Point; import android.graphics.Rect; import android.view.ActionMode; import android.view.Menu; @@ -26,7 +27,7 @@ import android.view.View; import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.ViewParent; -import android.util.DisplayMetrics; +import android.view.WindowManager; import com.android.internal.R; import com.android.internal.util.Preconditions; @@ -54,6 +55,7 @@ public class FloatingActionMode extends ActionMode { private final Rect mScreenRect; private final View mOriginatingView; private final int mBottomAllowance; + private final Point mDisplaySize; private final Runnable mMovingOff = new Runnable() { public void run() { @@ -103,6 +105,7 @@ public class FloatingActionMode extends ActionMode { // bottom view bound if necessary. mBottomAllowance = context.getResources() .getDimensionPixelSize(R.dimen.content_rect_bottom_clip_allowance); + mDisplaySize = new Point(); } public void setFloatingToolbar(FloatingToolbar floatingToolbar) { @@ -210,9 +213,9 @@ public class FloatingActionMode extends ActionMode { } private boolean isContentRectWithinBounds() { - DisplayMetrics metrics = mContext.getApplicationContext() - .getResources().getDisplayMetrics(); - mScreenRect.set(0, 0, metrics.widthPixels, metrics.heightPixels); + mContext.getSystemService(WindowManager.class) + .getDefaultDisplay().getRealSize(mDisplaySize); + mScreenRect.set(0, 0, mDisplaySize.x, mDisplaySize.y); return intersectsClosed(mContentRectOnScreen, mScreenRect) && intersectsClosed(mContentRectOnScreen, mViewRectOnScreen); -- 2.11.0