summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2012-10-05 20:06:50 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-10-05 20:06:50 -0700
commit88ae2e2abeda94f3ec1d87ffad35e7e5d716a94f (patch)
treea864ec7bd26b61ef21dccae27fda1e010415e73f /core
parent0a12b8e59ba576f7f2e90011d3fa3dc7b9f17acf (diff)
parentd9c99124d4870361c7c1e28fb78adf245eb1305a (diff)
downloadframeworks_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.java2
-rw-r--r--core/java/android/view/ViewRootImpl.java8
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) {