From 85e6949e388c53e4866c0b274c30f334870bf8cb Mon Sep 17 00:00:00 2001 From: weijiaxu Date: Mon, 20 Nov 2017 14:47:46 -0800 Subject: Add fast database populating button for benefit of testing. Bug: 69431528 Test: On a local device. PiperOrigin-RevId: 176420058 Change-Id: I3013800d86597b19268723377112286d2e2ceb68 --- .../dialer/databasepopulator/CallLogPopulator.java | 18 ++++++++++++++++-- .../databasepopulator/ContactsPopulator.java | 16 ++++++++++++++-- .../databasepopulator/VoicemailPopulator.java | 22 ++++++++++++++++++---- 3 files changed, 48 insertions(+), 8 deletions(-) (limited to 'java/com/android/dialer/databasepopulator') diff --git a/java/com/android/dialer/databasepopulator/CallLogPopulator.java b/java/com/android/dialer/databasepopulator/CallLogPopulator.java index 7c387ecd1..eb3328c78 100644 --- a/java/com/android/dialer/databasepopulator/CallLogPopulator.java +++ b/java/com/android/dialer/databasepopulator/CallLogPopulator.java @@ -26,9 +26,11 @@ import android.provider.CallLog.Calls; import android.support.annotation.NonNull; import android.support.annotation.WorkerThread; import com.android.dialer.common.Assert; +import com.android.dialer.databasepopulator.CallLogPopulator.CallEntry.Builder; import com.google.auto.value.AutoValue; import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import java.util.concurrent.TimeUnit; /** Populates the device database with call log entries. */ @@ -84,13 +86,20 @@ public final class CallLogPopulator { } @WorkerThread - public static void populateCallLog(@NonNull Context context, boolean isWithoutMissedCalls) { + public static void populateCallLog( + @NonNull Context context, boolean isWithoutMissedCalls, boolean fastMode) { Assert.isWorkerThread(); ArrayList operations = new ArrayList<>(); // Do this 4 times to make the call log 4 times bigger. long timeMillis = System.currentTimeMillis(); + List callLogs = new ArrayList<>(); + if (fastMode) { + callLogs.add(SIMPLE_CALL_LOG[0]); + } else { + callLogs = Arrays.asList(SIMPLE_CALL_LOG); + } for (int i = 0; i < 4; i++) { - for (CallEntry.Builder builder : SIMPLE_CALL_LOG) { + for (CallEntry.Builder builder : callLogs) { CallEntry callEntry = builder.setTimeMillis(timeMillis).build(); if (isWithoutMissedCalls && builder.build().getType() == Calls.MISSED_TYPE) { continue; @@ -110,6 +119,11 @@ public final class CallLogPopulator { } } + @WorkerThread + public static void populateCallLog(@NonNull Context context, boolean isWithoutMissedCalls) { + populateCallLog(context, isWithoutMissedCalls, false); + } + @WorkerThread public static void deleteAllCallLog(@NonNull Context context) { Assert.isWorkerThread(); diff --git a/java/com/android/dialer/databasepopulator/ContactsPopulator.java b/java/com/android/dialer/databasepopulator/ContactsPopulator.java index e93c5697a..79492e9d3 100644 --- a/java/com/android/dialer/databasepopulator/ContactsPopulator.java +++ b/java/com/android/dialer/databasepopulator/ContactsPopulator.java @@ -127,12 +127,19 @@ public final class ContactsPopulator { }; @WorkerThread - public static void populateContacts(@NonNull Context context) { + public static void populateContacts(@NonNull Context context, boolean fastMode) { Assert.isWorkerThread(); ArrayList operations = new ArrayList<>(); - for (Contact contact : SIMPLE_CONTACTS) { + List contacts = new ArrayList<>(); + if (fastMode) { + contacts.add(SIMPLE_CONTACTS[0]); + } else { + contacts = Arrays.asList(SIMPLE_CONTACTS); + } + for (Contact contact : contacts) { addContact(contact, operations); } + try { context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, operations); } catch (RemoteException | OperationApplicationException e) { @@ -140,6 +147,11 @@ public final class ContactsPopulator { } } + @WorkerThread + public static void populateContacts(@NonNull Context context) { + populateContacts(context, false); + } + @WorkerThread public static void deleteAllContacts(@NonNull Context context) { Assert.isWorkerThread(); diff --git a/java/com/android/dialer/databasepopulator/VoicemailPopulator.java b/java/com/android/dialer/databasepopulator/VoicemailPopulator.java index 9e0f45345..3e692ebcf 100644 --- a/java/com/android/dialer/databasepopulator/VoicemailPopulator.java +++ b/java/com/android/dialer/databasepopulator/VoicemailPopulator.java @@ -29,7 +29,11 @@ import android.support.annotation.WorkerThread; import android.telecom.PhoneAccountHandle; import android.telephony.TelephonyManager; import com.android.dialer.common.Assert; +import com.android.dialer.databasepopulator.VoicemailPopulator.Voicemail.Builder; import com.google.auto.value.AutoValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.concurrent.TimeUnit; /** Populates the device database with voicemail entries. */ @@ -74,14 +78,19 @@ public final class VoicemailPopulator { }; @WorkerThread - public static void populateVoicemail(@NonNull Context context) { + public static void populateVoicemail(@NonNull Context context, boolean fastMode) { Assert.isWorkerThread(); enableVoicemail(context); - + List voicemails = new ArrayList<>(); + if (fastMode) { + voicemails.add(SIMPLE_VOICEMAILS[0]); + } else { + voicemails = Arrays.asList(SIMPLE_VOICEMAILS); + } // Do this 4 times to make the voicemail database 4 times bigger. long timeMillis = System.currentTimeMillis(); for (int i = 0; i < 4; i++) { - for (Voicemail.Builder builder : SIMPLE_VOICEMAILS) { + for (Voicemail.Builder builder : voicemails) { Voicemail voicemail = builder.setTimeMillis(timeMillis).build(); context .getContentResolver() @@ -93,12 +102,17 @@ public final class VoicemailPopulator { } } + @WorkerThread + public static void populateVoicemail(@NonNull Context context) { + populateVoicemail(context, false); + } + @WorkerThread public static void deleteAllVoicemail(@NonNull Context context) { Assert.isWorkerThread(); context .getContentResolver() - .delete(Voicemails.buildSourceUri(context.getPackageName()), "", new String[] {}); + .delete(Voicemails.buildSourceUri(context.getPackageName()), null, null); } @VisibleForTesting -- cgit v1.2.3