diff options
author | weijiaxu <weijiaxu@google.com> | 2017-11-20 14:47:46 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-11-20 17:41:45 -0800 |
commit | 85e6949e388c53e4866c0b274c30f334870bf8cb (patch) | |
tree | 3c0531dc0de34b87daeeff28948e8d5e2136d2b5 /java/com/android/dialer/databasepopulator | |
parent | 861bb9d4402c1b9ee68e9382570f0fca3783478e (diff) | |
download | android_packages_apps_Dialer-85e6949e388c53e4866c0b274c30f334870bf8cb.tar.gz android_packages_apps_Dialer-85e6949e388c53e4866c0b274c30f334870bf8cb.tar.bz2 android_packages_apps_Dialer-85e6949e388c53e4866c0b274c30f334870bf8cb.zip |
Add fast database populating button for benefit of testing.
Bug: 69431528
Test: On a local device.
PiperOrigin-RevId: 176420058
Change-Id: I3013800d86597b19268723377112286d2e2ceb68
Diffstat (limited to 'java/com/android/dialer/databasepopulator')
3 files changed, 48 insertions, 8 deletions
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<ContentProviderOperation> operations = new ArrayList<>(); // Do this 4 times to make the call log 4 times bigger. long timeMillis = System.currentTimeMillis(); + List<Builder> 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; @@ -111,6 +120,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(); try { 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<ContentProviderOperation> operations = new ArrayList<>(); - for (Contact contact : SIMPLE_CONTACTS) { + List<Contact> 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) { @@ -141,6 +148,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(); try { 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<Builder> 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() @@ -94,11 +103,16 @@ 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 |