From 2482c0fc58034e01efb7ce7e67408e248f028c95 Mon Sep 17 00:00:00 2001 From: zachh Date: Tue, 20 Mar 2018 17:08:52 -0700 Subject: Added "clearData" to CallLogDataSource and PhoneLookup interfaces. This is necessary to disable the call log framework via flags. This isn't yet called anywhere. Bug: 74821995 Test: unit PiperOrigin-RevId: 189838957 Change-Id: I926c02c41151528eabc208c874acbfe7897a2f93 --- .../phonelookup/PhoneLookupDataSource.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'java/com/android/dialer/calllog/datasources/phonelookup') diff --git a/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java b/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java index 40b0090b9..615a457e3 100644 --- a/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java +++ b/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java @@ -40,6 +40,7 @@ import com.android.dialer.common.concurrent.Annotations.LightweightExecutor; import com.android.dialer.phonelookup.PhoneLookup; import com.android.dialer.phonelookup.PhoneLookupInfo; import com.android.dialer.phonelookup.composite.CompositePhoneLookup; +import com.android.dialer.phonelookup.database.PhoneLookupHistoryDatabaseHelper; import com.android.dialer.phonelookup.database.contract.PhoneLookupHistoryContract; import com.android.dialer.phonelookup.database.contract.PhoneLookupHistoryContract.PhoneLookupHistory; import com.google.common.collect.ImmutableMap; @@ -48,6 +49,7 @@ import com.google.common.collect.Maps; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListeningExecutorService; +import com.google.common.util.concurrent.MoreExecutors; import com.google.protobuf.InvalidProtocolBufferException; import java.util.ArrayList; import java.util.Arrays; @@ -85,14 +87,18 @@ public final class PhoneLookupDataSource implements CallLogDataSource { */ private final Set phoneLookupHistoryRowsToDelete = new ArraySet<>(); + private final PhoneLookupHistoryDatabaseHelper phoneLookupHistoryDatabaseHelper; + @Inject PhoneLookupDataSource( CompositePhoneLookup compositePhoneLookup, @BackgroundExecutor ListeningExecutorService backgroundExecutorService, - @LightweightExecutor ListeningExecutorService lightweightExecutorService) { + @LightweightExecutor ListeningExecutorService lightweightExecutorService, + PhoneLookupHistoryDatabaseHelper phoneLookupHistoryDatabaseHelper) { this.compositePhoneLookup = compositePhoneLookup; this.backgroundExecutorService = backgroundExecutorService; this.lightweightExecutorService = lightweightExecutorService; + this.phoneLookupHistoryDatabaseHelper = phoneLookupHistoryDatabaseHelper; } @Override @@ -299,6 +305,17 @@ public final class PhoneLookupDataSource implements CallLogDataSource { compositePhoneLookup.unregisterContentObservers(appContext); } + @Override + public ListenableFuture clearData() { + ListenableFuture clearDataFuture = compositePhoneLookup.clearData(); + ListenableFuture deleteDatabaseFuture = phoneLookupHistoryDatabaseHelper.delete(); + + return Futures.transform( + Futures.allAsList(clearDataFuture, deleteDatabaseFuture), + unused -> null, + MoreExecutors.directExecutor()); + } + private static ImmutableSet queryDistinctDialerPhoneNumbersFromAnnotatedCallLog(Context appContext) { ImmutableSet.Builder numbers = ImmutableSet.builder(); -- cgit v1.2.3