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

Commit 986483f7 authored by uabdullah's avatar uabdullah Committed by android-build-merger
Browse files

Merge "When transcription setting is enabled, retranscribe voicemails" am: 3c733418

am: ce304fc8

Change-Id: Ibf8c95dee4cf11166b9bdf037a09d7037f758fa7
parents 5462b222 ce304fc8
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -125,6 +125,11 @@ public class VoicemailClientImpl implements VoicemailClient {
  @Override
  public boolean isVoicemailTranscriptionAvailable(
      Context context, PhoneAccountHandle phoneAccountHandle) {
    if (phoneAccountHandle == null) {
      LogUtil.i(
          "VoicemailClientImpl.isVoicemailTranscriptionAvailable", "phone account handle is null");
    }

    if (!BuildCompat.isAtLeastO()) {
      LogUtil.i(
          "VoicemailClientImpl.isVoicemailTranscriptionAvailable", "not running on O or later");
@@ -198,6 +203,9 @@ public class VoicemailClientImpl implements VoicemailClient {
        "transcription must be available before enabling/disabling it");
    VisualVoicemailSettingsUtil.setVoicemailTranscriptionEnabled(
        context, phoneAccountHandle, enabled);
    if (enabled) {
      TranscriptionBackfillService.scheduleTask(context, phoneAccountHandle);
    }
  }

  @Override
+6 −2
Original line number Diff line number Diff line
@@ -23,9 +23,11 @@ import android.provider.VoicemailContract.Voicemails;
import android.support.annotation.VisibleForTesting;
import android.telecom.PhoneAccountHandle;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
import com.android.dialer.common.concurrent.DialerExecutorComponent;
import com.android.dialer.common.database.Selection;
import com.android.dialer.compat.android.provider.VoicemailCompat;
import com.android.voicemail.VoicemailComponent;
import com.android.voicemail.impl.OmtpVvmCarrierConfigHelper;
import com.android.voicemail.impl.VisualVoicemailPreferences;
@@ -130,6 +132,7 @@ public class VisualVoicemailSettingsUtil {

  public static boolean isEnabled(Context context, PhoneAccountHandle phoneAccount) {
    if (phoneAccount == null) {
      LogUtil.i("VisualVoicemailSettingsUtil.isEnabled", "phone account is null");
      return false;
    }

@@ -213,9 +216,10 @@ public class VisualVoicemailSettingsUtil {

    @Override
    public Void doInBackground(Void unused) {

      ContentValues contentValues = new ContentValues();
      contentValues.put(Voicemails.TRANSCRIPTION, "");
      contentValues.putNull(Voicemails.TRANSCRIPTION);
      contentValues.put(
          VoicemailCompat.TRANSCRIPTION_STATE, VoicemailCompat.TRANSCRIPTION_NOT_STARTED);

      Selection selection =
          Selection.builder()
+6 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.WorkerThread;
import android.support.v4.app.JobIntentService;
import android.support.v4.os.BuildCompat;
@@ -66,6 +67,10 @@ public class TranscriptionBackfillService extends JobIntentService {
  protected void onHandleWork(Intent intent) {
    LogUtil.enterBlock("TranscriptionBackfillService.onHandleWork");

    Bundle bundle = intent.getExtras();
    final PhoneAccountHandle account =
        (PhoneAccountHandle) bundle.get(TranscriptionService.EXTRA_ACCOUNT_HANDLE);

    TranscriptionDbHelper dbHelper = new TranscriptionDbHelper(this);
    List<Uri> untranscribed = dbHelper.getUntranscribedVoicemails();
    LogUtil.i(
@@ -75,7 +80,7 @@ public class TranscriptionBackfillService extends JobIntentService {
    for (Uri uri : untranscribed) {
      ThreadUtil.postOnUiThread(
          () -> {
            TranscriptionService.scheduleNewVoicemailTranscriptionJob(this, uri, null, false);
            TranscriptionService.scheduleNewVoicemailTranscriptionJob(this, uri, account, false);
          });
    }
  }
+8 −1
Original line number Diff line number Diff line
@@ -87,7 +87,14 @@ public class TranscriptionDbHelper {
    Assert.isWorkerThread();
    List<Uri> untranscribed = new ArrayList<>();
    String whereClause =
        Voicemails.TRANSCRIPTION + " is NULL AND " + VoicemailCompat.TRANSCRIPTION_STATE + "=?";
        "("
            + Voicemails.TRANSCRIPTION
            + " is NULL OR "
            + Voicemails.TRANSCRIPTION
            + " = '')"
            + " AND "
            + VoicemailCompat.TRANSCRIPTION_STATE
            + "=?";
    String[] whereArgs = {String.valueOf(VoicemailCompat.TRANSCRIPTION_NOT_STARTED)};
    try (Cursor cursor = contentResolver.query(uri, PROJECTION, whereClause, whereArgs, null)) {
      if (cursor == null) {