summaryrefslogtreecommitdiffstats
path: root/core/java/com
diff options
context:
space:
mode:
authorAbodunrinwa Toki <toki@google.com>2015-06-04 22:17:47 +0100
committerAbodunrinwa Toki <toki@google.com>2015-06-05 00:42:06 +0100
commit601523ad007923779d156aaa8dc229468773e48c (patch)
treeb1a27ec4f2c81d148a390ad7664a40d72d268ddf /core/java/com
parent0ee780a9934f1cc9da7dd82e73907336a86b5be8 (diff)
downloadframeworks_base-601523ad007923779d156aaa8dc229468773e48c.zip
frameworks_base-601523ad007923779d156aaa8dc229468773e48c.tar.gz
frameworks_base-601523ad007923779d156aaa8dc229468773e48c.tar.bz2
TextView: Make sure the contentRect is within visibile bounds.
Bug: 21620604 Change-Id: Idd0d891e423316b2ebacf883fd3cbfff9ef69743
Diffstat (limited to 'core/java/com')
-rw-r--r--core/java/com/android/internal/view/FloatingActionMode.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/core/java/com/android/internal/view/FloatingActionMode.java b/core/java/com/android/internal/view/FloatingActionMode.java
index 93d2a1d..89cac4c 100644
--- a/core/java/com/android/internal/view/FloatingActionMode.java
+++ b/core/java/com/android/internal/view/FloatingActionMode.java
@@ -127,11 +127,16 @@ public class FloatingActionMode extends ActionMode {
private void repositionToolbar() {
checkToolbarInitialized();
+
+ mContentRectOnWindow.set(mContentRect);
+ mContentRectOnWindow.offset(mViewPosition[0], mViewPosition[1]);
+ // Make sure that content rect is not out of the view's visible bounds.
mContentRectOnWindow.set(
- mContentRect.left + mViewPosition[0],
- mContentRect.top + mViewPosition[1],
- mContentRect.right + mViewPosition[0],
- mContentRect.bottom + mViewPosition[1]);
+ Math.max(mContentRectOnWindow.left, mViewRect.left),
+ Math.max(mContentRectOnWindow.top, mViewRect.top),
+ Math.min(mContentRectOnWindow.right, mViewRect.right),
+ Math.min(mContentRectOnWindow.bottom, mViewRect.bottom));
+
if (!mContentRectOnWindow.equals(mPreviousContentRectOnWindow)) {
if (!mPreviousContentRectOnWindow.isEmpty()) {
notifyContentRectMoving();