diff options
author | Abodunrinwa Toki <toki@google.com> | 2015-06-04 22:17:47 +0100 |
---|---|---|
committer | Abodunrinwa Toki <toki@google.com> | 2015-06-05 00:42:06 +0100 |
commit | 601523ad007923779d156aaa8dc229468773e48c (patch) | |
tree | b1a27ec4f2c81d148a390ad7664a40d72d268ddf /core/java/com | |
parent | 0ee780a9934f1cc9da7dd82e73907336a86b5be8 (diff) | |
download | frameworks_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.java | 13 |
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(); |