diff options
| author | 2013-04-01 14:37:01 +0900 | |
|---|---|---|
| committer | 2013-05-01 17:20:25 +0900 | |
| commit | c6031ab7c80b9bf8c19f3bced4797bb0bacae3f2 (patch) | |
| tree | cb390856b96e4b1ea267d35d4100ecb3be75d302 | |
| parent | ddf7a0660c456a975b12794c54fd6681e422ef29 (diff) | |
Avoid NullPointerException in getHandler()
mAttachInfo may be set to null by other threads while running
getHandler().
This fix assigns mAttachInfo to a local variable. Checking null pointer
and getting a member variable are executed through the local variable.
This local variable is constant. So NullPointerException doesn't occur
even if mAttachInfo is set to null while running getHandler().
Change-Id: I4013dfb7951bd864628868ed58f8c4f5b7cbd1d3
| -rw-r--r-- | core/java/android/view/View.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 0d2141f0071d..75b8e97a0945 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -10525,8 +10525,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * handler can be used to pump events in the UI events queue. */ public Handler getHandler() { - if (mAttachInfo != null) { - return mAttachInfo.mHandler; + final AttachInfo attachInfo = mAttachInfo; + if (attachInfo != null) { + return attachInfo.mHandler; } return null; } |