summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Fyodor Kupolov <fkupolov@google.com> 2017-07-06 18:07:04 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-07-06 18:07:04 +0000
commit09b6988e27a7cf394ec4077f58da2ee19b5c958c (patch)
treecb3ff9d18b0394588d152f6dd7d3756c8f3a9cf3
parentb171a46d193db3eee0ad837aa94c47d7752587a6 (diff)
parent2df4e144a913b705c50bde929c75744b251967d9 (diff)
Merge "Fix ContentObserver unregister issue"
-rw-r--r--core/java/android/database/ContentObserver.java10
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);
}
}