Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc8942a2 authored by uabdullah's avatar uabdullah Committed by Copybara-Service
Browse files

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
parent a98e9d5b
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -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<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()