From 9bc97d1d423599e1c56a59537349b0a097865557 Mon Sep 17 00:00:00 2001 From: zachh Date: Tue, 20 Mar 2018 10:19:16 -0700 Subject: Added unregisterContentResolvers() to CallLogDataSource and PhoneLookup. This is needed to support flag changes which should cause the call log framework to become disabled. It's not called anywhere yet. Bug: 74821995 Test: unit PiperOrigin-RevId: 189761665 Change-Id: I914c690448f03ebacd7d05c9ad082aba7bf1a4ce --- java/com/android/dialer/calllog/datasources/CallLogDataSource.java | 3 +++ .../calllog/datasources/phonelookup/PhoneLookupDataSource.java | 5 +++++ .../calllog/datasources/systemcalllog/SystemCallLogDataSource.java | 5 +++++ .../dialer/calllog/datasources/voicemail/VoicemailDataSource.java | 3 +++ 4 files changed, 16 insertions(+) (limited to 'java/com/android/dialer/calllog') diff --git a/java/com/android/dialer/calllog/datasources/CallLogDataSource.java b/java/com/android/dialer/calllog/datasources/CallLogDataSource.java index dbed1d81c..03a571675 100644 --- a/java/com/android/dialer/calllog/datasources/CallLogDataSource.java +++ b/java/com/android/dialer/calllog/datasources/CallLogDataSource.java @@ -105,4 +105,7 @@ public interface CallLogDataSource { @MainThread void registerContentObservers(Context appContext); + + @MainThread + void unregisterContentObservers(Context appContext); } diff --git a/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java b/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java index ff8c931ad..40b0090b9 100644 --- a/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java +++ b/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java @@ -294,6 +294,11 @@ public final class PhoneLookupDataSource implements CallLogDataSource { compositePhoneLookup.registerContentObservers(appContext); } + @Override + public void unregisterContentObservers(Context appContext) { + compositePhoneLookup.unregisterContentObservers(appContext); + } + private static ImmutableSet queryDistinctDialerPhoneNumbersFromAnnotatedCallLog(Context appContext) { ImmutableSet.Builder numbers = ImmutableSet.builder(); diff --git a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java index 6daa5e757..3c34fa6a5 100644 --- a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java +++ b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java @@ -119,6 +119,11 @@ public class SystemCallLogDataSource implements CallLogDataSource { .registerContentObserver(VoicemailContract.Status.CONTENT_URI, true, markDirtyObserver); } + @Override + public void unregisterContentObservers(Context appContext) { + appContext.getContentResolver().unregisterContentObserver(markDirtyObserver); + } + @Override public ListenableFuture isDirty(Context appContext) { return backgroundExecutorService.submit(() -> isDirtyInternal(appContext)); diff --git a/java/com/android/dialer/calllog/datasources/voicemail/VoicemailDataSource.java b/java/com/android/dialer/calllog/datasources/voicemail/VoicemailDataSource.java index e8dc3e1eb..86f3d47ce 100644 --- a/java/com/android/dialer/calllog/datasources/voicemail/VoicemailDataSource.java +++ b/java/com/android/dialer/calllog/datasources/voicemail/VoicemailDataSource.java @@ -108,4 +108,7 @@ public class VoicemailDataSource implements CallLogDataSource { @Override public void registerContentObservers(Context appContext) {} + + @Override + public void unregisterContentObservers(Context appContext) {} } -- cgit v1.2.3