summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2011-10-28 14:20:52 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-10-28 14:20:52 -0700
commitc00d2ddcc343b7bcdce30925df90523bb7371f83 (patch)
tree3e671c98bf4af2e9c471f85ca0830b67be8898ad /core
parent220d2b0aa126fbe09dee9e7e9afa1999521cf5d2 (diff)
parentaf5b4f471df108ffbe1c3861d18b2141710d7bf8 (diff)
downloadframeworks_base-c00d2ddcc343b7bcdce30925df90523bb7371f83.zip
frameworks_base-c00d2ddcc343b7bcdce30925df90523bb7371f83.tar.gz
frameworks_base-c00d2ddcc343b7bcdce30925df90523bb7371f83.tar.bz2
Merge "Fixing a memory leak in accessibility enteraction APIs." into ics-mr1
Diffstat (limited to 'core')
-rw-r--r--core/java/android/view/ViewRootImpl.java26
1 files changed, 15 insertions, 11 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index a36aecb..24423c3 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -4473,19 +4473,20 @@ public final class ViewRootImpl extends Handler implements ViewParent,
* AccessibilityManagerService to the latter can interact with
* the view hierarchy in this ViewAncestor.
*/
- final class AccessibilityInteractionConnection
+ static final class AccessibilityInteractionConnection
extends IAccessibilityInteractionConnection.Stub {
- private final WeakReference<ViewRootImpl> mViewAncestor;
+ private final WeakReference<ViewRootImpl> mRootImpl;
AccessibilityInteractionConnection(ViewRootImpl viewAncestor) {
- mViewAncestor = new WeakReference<ViewRootImpl>(viewAncestor);
+ mRootImpl = new WeakReference<ViewRootImpl>(viewAncestor);
}
public void findAccessibilityNodeInfoByAccessibilityId(int accessibilityId,
int interactionId, IAccessibilityInteractionConnectionCallback callback,
int interrogatingPid, long interrogatingTid) {
- if (mViewAncestor.get() != null) {
- getAccessibilityInteractionController()
+ ViewRootImpl viewRootImpl = mRootImpl.get();
+ if (viewRootImpl != null) {
+ viewRootImpl.getAccessibilityInteractionController()
.findAccessibilityNodeInfoByAccessibilityIdClientThread(accessibilityId,
interactionId, callback, interrogatingPid, interrogatingTid);
}
@@ -4494,8 +4495,9 @@ public final class ViewRootImpl extends Handler implements ViewParent,
public void performAccessibilityAction(int accessibilityId, int action,
int interactionId, IAccessibilityInteractionConnectionCallback callback,
int interogatingPid, long interrogatingTid) {
- if (mViewAncestor.get() != null) {
- getAccessibilityInteractionController()
+ ViewRootImpl viewRootImpl = mRootImpl.get();
+ if (viewRootImpl != null) {
+ viewRootImpl.getAccessibilityInteractionController()
.performAccessibilityActionClientThread(accessibilityId, action, interactionId,
callback, interogatingPid, interrogatingTid);
}
@@ -4504,8 +4506,9 @@ public final class ViewRootImpl extends Handler implements ViewParent,
public void findAccessibilityNodeInfoByViewId(int viewId,
int interactionId, IAccessibilityInteractionConnectionCallback callback,
int interrogatingPid, long interrogatingTid) {
- if (mViewAncestor.get() != null) {
- getAccessibilityInteractionController()
+ ViewRootImpl viewRootImpl = mRootImpl.get();
+ if (viewRootImpl != null) {
+ viewRootImpl.getAccessibilityInteractionController()
.findAccessibilityNodeInfoByViewIdClientThread(viewId, interactionId, callback,
interrogatingPid, interrogatingTid);
}
@@ -4514,8 +4517,9 @@ public final class ViewRootImpl extends Handler implements ViewParent,
public void findAccessibilityNodeInfosByViewText(String text, int accessibilityId,
int interactionId, IAccessibilityInteractionConnectionCallback callback,
int interrogatingPid, long interrogatingTid) {
- if (mViewAncestor.get() != null) {
- getAccessibilityInteractionController()
+ ViewRootImpl viewRootImpl = mRootImpl.get();
+ if (viewRootImpl != null) {
+ viewRootImpl.getAccessibilityInteractionController()
.findAccessibilityNodeInfosByViewTextClientThread(text, accessibilityId,
interactionId, callback, interrogatingPid, interrogatingTid);
}