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
diff --git a/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java b/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java
index 6ec30f6..c48e283 100644
--- a/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java
+++ b/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java
@@ -44,8 +44,12 @@
"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 @@
.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<PopulateDatabaseWorkerInput, Void> {
+ @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()