diff options
author | zachh <zachh@google.com> | 2018-03-20 10:19:16 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-20 11:05:42 -0700 |
commit | 9bc97d1d423599e1c56a59537349b0a097865557 (patch) | |
tree | 32c2dad2656bbddacf65cd5559c01281dbc4e456 /java/com/android/dialer/phonelookup | |
parent | 4633a7d3eb071bd1bf17f016386f8154d16116a3 (diff) |
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
Diffstat (limited to 'java/com/android/dialer/phonelookup')
7 files changed, 30 insertions, 0 deletions
diff --git a/java/com/android/dialer/phonelookup/PhoneLookup.java b/java/com/android/dialer/phonelookup/PhoneLookup.java index a7974ad10..016a8a854 100644 --- a/java/com/android/dialer/phonelookup/PhoneLookup.java +++ b/java/com/android/dialer/phonelookup/PhoneLookup.java @@ -85,4 +85,7 @@ public interface PhoneLookup<T> { @MainThread void registerContentObservers(Context appContext); + + @MainThread + void unregisterContentObservers(Context appContext); } diff --git a/java/com/android/dialer/phonelookup/blockednumber/DialerBlockedNumberPhoneLookup.java b/java/com/android/dialer/phonelookup/blockednumber/DialerBlockedNumberPhoneLookup.java index b6b02e135..3491070ad 100644 --- a/java/com/android/dialer/phonelookup/blockednumber/DialerBlockedNumberPhoneLookup.java +++ b/java/com/android/dialer/phonelookup/blockednumber/DialerBlockedNumberPhoneLookup.java @@ -177,4 +177,9 @@ public final class DialerBlockedNumberPhoneLookup implements PhoneLookup<DialerB true, // FilteredNumberProvider notifies on the item markDirtyObserver); } + + @Override + public void unregisterContentObservers(Context appContext) { + appContext.getContentResolver().unregisterContentObserver(markDirtyObserver); + } } diff --git a/java/com/android/dialer/phonelookup/blockednumber/SystemBlockedNumberPhoneLookup.java b/java/com/android/dialer/phonelookup/blockednumber/SystemBlockedNumberPhoneLookup.java index d791e9b9e..def1f017d 100644 --- a/java/com/android/dialer/phonelookup/blockednumber/SystemBlockedNumberPhoneLookup.java +++ b/java/com/android/dialer/phonelookup/blockednumber/SystemBlockedNumberPhoneLookup.java @@ -181,4 +181,9 @@ public class SystemBlockedNumberPhoneLookup implements PhoneLookup<SystemBlocked true, // BlockedNumbers notifies on the item markDirtyObserver); } + + @Override + public void unregisterContentObservers(Context appContext) { + appContext.getContentResolver().unregisterContentObserver(markDirtyObserver); + } } diff --git a/java/com/android/dialer/phonelookup/composite/CompositePhoneLookup.java b/java/com/android/dialer/phonelookup/composite/CompositePhoneLookup.java index 0d84a2eda..4be43dade 100644 --- a/java/com/android/dialer/phonelookup/composite/CompositePhoneLookup.java +++ b/java/com/android/dialer/phonelookup/composite/CompositePhoneLookup.java @@ -222,6 +222,14 @@ public final class CompositePhoneLookup { } } + /** Delegates to sub-lookups' {@link PhoneLookup#unregisterContentObservers(Context)}. */ + @MainThread + public void unregisterContentObservers(Context appContext) { + for (PhoneLookup phoneLookup : phoneLookups) { + phoneLookup.unregisterContentObservers(appContext); + } + } + private static String getMostRecentInfoEventName(Object classNameSource, boolean isBuilt) { return String.format( !isBuilt diff --git a/java/com/android/dialer/phonelookup/cp2/Cp2DefaultDirectoryPhoneLookup.java b/java/com/android/dialer/phonelookup/cp2/Cp2DefaultDirectoryPhoneLookup.java index a79eb19db..b023500dc 100644 --- a/java/com/android/dialer/phonelookup/cp2/Cp2DefaultDirectoryPhoneLookup.java +++ b/java/com/android/dialer/phonelookup/cp2/Cp2DefaultDirectoryPhoneLookup.java @@ -627,6 +627,9 @@ public final class Cp2DefaultDirectoryPhoneLookup implements PhoneLookup<Cp2Info // Do nothing since CP2 changes are too noisy. } + @Override + public void unregisterContentObservers(Context appContext) {} + /** * 1. get all contact ids. if the id is unset, add the number to the list of contacts to look up. * 2. reduce our list of contact ids to those that were updated after lastModified. 3. Now we have diff --git a/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java b/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java index 519ec5f82..873658b05 100644 --- a/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java +++ b/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java @@ -233,4 +233,7 @@ public final class Cp2ExtendedDirectoryPhoneLookup implements PhoneLookup<Cp2Inf // For contacts in local (but not default) directories (e.g., the local work directory), we // don't register a content observer for now. } + + @Override + public void unregisterContentObservers(Context appContext) {} } diff --git a/java/com/android/dialer/phonelookup/spam/SpamPhoneLookup.java b/java/com/android/dialer/phonelookup/spam/SpamPhoneLookup.java index 7661a15da..2a856280b 100644 --- a/java/com/android/dialer/phonelookup/spam/SpamPhoneLookup.java +++ b/java/com/android/dialer/phonelookup/spam/SpamPhoneLookup.java @@ -156,4 +156,7 @@ public final class SpamPhoneLookup implements PhoneLookup<SpamInfo> { // No content observer can be registered as Spam is not based on a content provider. // Each Spam implementation should be responsible for notifying any data changes. } + + @Override + public void unregisterContentObservers(Context appContext) {} } |