From cc8942a206ad7d6c779547c0ec84c35988a6beaa Mon Sep 17 00:00:00 2001 From: uabdullah Date: Tue, 19 Dec 2017 15:53:56 -0800 Subject: Populate voicemails in simulator Adds the logic for only adding voicemails (no call log) in the simulator menu. Also adds the logic for adding a fast voicemail, which only adds 1 voicemail. Bug: 64882313 Test: N/A PiperOrigin-RevId: 179615214 Change-Id: I5a55df44d94b6123eaed6bc56439472b1ab81151 --- .../dialer/simulator/impl/SimulatorMainMenu.java | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'java/com/android/dialer/simulator') diff --git a/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java b/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java index 6ec30f64b..c48e2836e 100644 --- a/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java +++ b/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java @@ -44,8 +44,12 @@ final class SimulatorMainMenu { "Notifications", SimulatorNotifications.getActionProvider(activity.getApplicationContext())) .addItem("Populate database", () -> populateDatabase(activity.getApplicationContext())) + .addItem("Populate voicemail", () -> populateVoicemail(activity.getApplicationContext())) .addItem( "Fast populate database", () -> fastPopulateDatabase(activity.getApplicationContext())) + .addItem( + "Fast populate voicemail database", + () -> populateVoicemailFast(activity.getApplicationContext())) .addItem("Clean database", () -> cleanDatabase(activity.getApplicationContext())) .addItem("clear preferred SIM", () -> clearPreferredSim(activity.getApplicationContext())) .addItem("Sync voicemail", () -> syncVoicemail(activity.getApplicationContext())) @@ -65,6 +69,32 @@ final class SimulatorMainMenu { .executeSerial(new PopulateDatabaseWorkerInput(context, false)); } + private static void populateVoicemail(@NonNull Context context) { + DialerExecutorComponent.get(context) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new PopulateVoicemailWorker()) + .build() + .executeSerial(new PopulateDatabaseWorkerInput(context, false)); + } + + private static void populateVoicemailFast(@NonNull Context context) { + DialerExecutorComponent.get(context) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new PopulateVoicemailWorker()) + .build() + .executeSerial(new PopulateDatabaseWorkerInput(context, true)); + } + + private static class PopulateVoicemailWorker + implements Worker { + @Nullable + @Override + public Void doInBackground(PopulateDatabaseWorkerInput input) { + VoicemailPopulator.populateVoicemail(input.context, input.fastMode); + return null; + } + } + private static void fastPopulateDatabase(@NonNull Context context) { DialerExecutorComponent.get(context) .dialerExecutorFactory() -- cgit v1.2.3