diff options
| author | 2017-07-06 18:07:04 +0000 | |
|---|---|---|
| committer | 2017-07-06 18:07:04 +0000 | |
| commit | 09b6988e27a7cf394ec4077f58da2ee19b5c958c (patch) | |
| tree | cb3ff9d18b0394588d152f6dd7d3756c8f3a9cf3 | |
| parent | b171a46d193db3eee0ad837aa94c47d7752587a6 (diff) | |
| parent | 2df4e144a913b705c50bde929c75744b251967d9 (diff) | |
Merge "Fix ContentObserver unregister issue"
| -rw-r--r-- | core/java/android/database/ContentObserver.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/database/ContentObserver.java b/core/java/android/database/ContentObserver.java index 5f01e300bf42..4795e979f644 100644 --- a/core/java/android/database/ContentObserver.java +++ b/core/java/android/database/ContentObserver.java @@ -193,6 +193,11 @@ public abstract class ContentObserver { */ private void dispatchChange(boolean selfChange, Uri uri, int userId) { if (mHandler == null) { + synchronized (mLock) { + if (mTransport == null) { + return; + } + } onChange(selfChange, uri, userId); } else { mHandler.post(new NotificationRunnable(selfChange, uri, userId)); @@ -213,6 +218,11 @@ public abstract class ContentObserver { @Override public void run() { + synchronized (mLock) { + if (mTransport == null) { + return; + } + } ContentObserver.this.onChange(mSelfChange, mUri, mUserId); } } |