summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calllog/datasources/phonelookup
diff options
context:
space:
mode:
authorzachh <zachh@google.com>2018-03-20 17:08:52 -0700
committerCopybara-Service <copybara-piper@google.com>2018-03-20 17:09:39 -0700
commit2482c0fc58034e01efb7ce7e67408e248f028c95 (patch)
tree64e3aa663d2a36568df7a3d35d5322d24398e706 /java/com/android/dialer/calllog/datasources/phonelookup
parent6f067c91169ab9d4c24e43c039ef902700a7087f (diff)
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
Diffstat (limited to 'java/com/android/dialer/calllog/datasources/phonelookup')
-rw-r--r--java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java19
1 files changed, 18 insertions, 1 deletions
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<String> 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<Void> clearData() {
+ ListenableFuture<Void> clearDataFuture = compositePhoneLookup.clearData();
+ ListenableFuture<Void> deleteDatabaseFuture = phoneLookupHistoryDatabaseHelper.delete();
+
+ return Futures.transform(
+ Futures.allAsList(clearDataFuture, deleteDatabaseFuture),
+ unused -> null,
+ MoreExecutors.directExecutor());
+ }
+
private static ImmutableSet<DialerPhoneNumber>
queryDistinctDialerPhoneNumbersFromAnnotatedCallLog(Context appContext) {
ImmutableSet.Builder<DialerPhoneNumber> numbers = ImmutableSet.builder();