diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2012-10-05 20:06:50 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-10-05 20:06:50 -0700 |
commit | 88ae2e2abeda94f3ec1d87ffad35e7e5d716a94f (patch) | |
tree | a864ec7bd26b61ef21dccae27fda1e010415e73f /core | |
parent | 0a12b8e59ba576f7f2e90011d3fa3dc7b9f17acf (diff) | |
parent | d9c99124d4870361c7c1e28fb78adf245eb1305a (diff) | |
download | frameworks_base-88ae2e2abeda94f3ec1d87ffad35e7e5d716a94f.zip frameworks_base-88ae2e2abeda94f3ec1d87ffad35e7e5d716a94f.tar.gz frameworks_base-88ae2e2abeda94f3ec1d87ffad35e7e5d716a94f.tar.bz2 |
am d9c99124: Merge "Incorrect temporary detach of accessibility focused view may lead to a crash." into jb-mr1-dev
* commit 'd9c99124d4870361c7c1e28fb78adf245eb1305a':
Incorrect temporary detach of accessibility focused view may lead to a crash.
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/view/ViewGroup.java | 2 | ||||
-rw-r--r-- | core/java/android/view/ViewRootImpl.java | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 726fa28..db1c00a 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -3912,7 +3912,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * @see #removeDetachedView(View, boolean) */ protected void detachViewFromParent(View child) { - child.clearAccessibilityFocus(); removeFromArray(indexOfChild(child)); } @@ -3934,7 +3933,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * @see #removeDetachedView(View, boolean) */ protected void detachViewFromParent(int index) { - getChildAt(index).clearAccessibilityFocus(); removeFromArray(index); } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index a5b6a30..df4bb99 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -2324,7 +2324,13 @@ public final class ViewRootImpl implements ViewParent, mAccessibilityFocusedHost.getDrawingRect(bounds); if (mView instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) mView; - viewGroup.offsetDescendantRectToMyCoords(mAccessibilityFocusedHost, bounds); + try { + viewGroup.offsetDescendantRectToMyCoords(mAccessibilityFocusedHost, bounds); + } catch (IllegalArgumentException iae) { + Log.e(TAG, "Temporary detached view that was neither removed not reattached: " + + mAccessibilityFocusedHost); + return; + } } } else { if (mAccessibilityFocusedVirtualView == null) { |