diff options
| author | John Reck <jreck@google.com> | 2011-11-09 09:28:11 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-11-09 09:28:11 -0800 |
| commit | 36a7f2a9adfa21ec31f00d496fef82e68931c860 (patch) | |
| tree | c66f338d69b18ecfdf7decd8ceac830bb0465311 /core/java/android/webkit/FindActionModeCallback.java | |
| parent | eae6c9972d91b9af58c3bf7ba0235c0a3e95c408 (diff) | |
| parent | d6ac727234b9be45c3df4021dc83584e9849c00a (diff) | |
| download | frameworks_base-36a7f2a9adfa21ec31f00d496fef82e68931c860.zip frameworks_base-36a7f2a9adfa21ec31f00d496fef82e68931c860.tar.gz frameworks_base-36a7f2a9adfa21ec31f00d496fef82e68931c860.tar.bz2 | |
Merge "Fix determining find on page overlap" into ics-mr1
Diffstat (limited to 'core/java/android/webkit/FindActionModeCallback.java')
| -rw-r--r-- | core/java/android/webkit/FindActionModeCallback.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/core/java/android/webkit/FindActionModeCallback.java b/core/java/android/webkit/FindActionModeCallback.java index b85fd17..fffa90b 100644 --- a/core/java/android/webkit/FindActionModeCallback.java +++ b/core/java/android/webkit/FindActionModeCallback.java @@ -18,6 +18,8 @@ package android.webkit; import android.content.Context; import android.content.res.Resources; +import android.graphics.Point; +import android.graphics.Rect; import android.text.Editable; import android.text.Selection; import android.text.Spannable; @@ -254,13 +256,18 @@ class FindActionModeCallback implements ActionMode.Callback, TextWatcher, // Does nothing. Needed to implement TextWatcher. } - public int getActionModeHeight() { + private Rect mGlobalVisibleRect = new Rect(); + private Point mGlobalVisibleOffset = new Point(); + public int getActionModeGlobalBottom() { if (mActionMode == null) { return 0; } - View parent = (View) mCustomView.getParent(); - return parent != null ? parent.getMeasuredHeight() - : mCustomView.getMeasuredHeight(); + View view = (View) mCustomView.getParent(); + if (view == null) { + view = mCustomView; + } + view.getGlobalVisibleRect(mGlobalVisibleRect, mGlobalVisibleOffset); + return mGlobalVisibleRect.bottom; } } |
