Update Dialer to V10 RC16

This release was created following the instructions at:
go/dialer-aosp-release

Subsequent dialer releases will follow as O bugs are
fixed, until we reach our final RC.

Version: 10
Candidate: RC16
Branch: dialer-android_release_branch/153304843.1
dialer-android/dialer-android_20170416.00/dialer-android_20170416.00_RC16

This release contains the following bug fixes since RC00:
Bug: 37324705 35304403 36067503 35304446 33203808 37280992
37346084 35766990 37481880 37424493 36470282 37347691
37519015 37168472 35805360 37545472 27704934 36515614
35766990 37577470 34739750 35801628 36788693 35264204
36708536 37628370 36904650 37314436 37642171 37530847
37637799 37666625 37548549 37648036 37636412 37323529
37630507 35919141 37198343 37548572 36178218 37640315
37663896 37720467 37275944 37710497 31634477 37744796
37348506 37744796 37568534 37672424 34872683 34873026
37681461 34873295 37748373 37526812 37618638 37663896
37536088 37727455 37165687 36651204 36900708 37323529
36902926 37256480 37328353 37432034 37436952 34093562
37720889 37321935 37780300 37781115 37755902 36588206
34258266 37290464 37698062 37618638 37473004 37432034
37918676 37870494 37722091

Test: make, on device
Change-Id: I99e1a484ccd578c1f8a13e7a6a4b4952f0791297
diff --git a/java/com/android/voicemail/impl/ActivationTask.java b/java/com/android/voicemail/impl/ActivationTask.java
index b0ad3ba..91e3695 100644
--- a/java/com/android/voicemail/impl/ActivationTask.java
+++ b/java/com/android/voicemail/impl/ActivationTask.java
@@ -31,6 +31,7 @@
 import android.telephony.TelephonyManager;
 import com.android.dialer.logging.DialerImpression;
 import com.android.dialer.proguard.UsedByReflection;
+import com.android.voicemail.VoicemailClient;
 import com.android.voicemail.impl.protocol.VisualVoicemailProtocol;
 import com.android.voicemail.impl.scheduling.BaseTask;
 import com.android.voicemail.impl.scheduling.RetryPolicy;
@@ -105,7 +106,7 @@
     if (messageData != null) {
       intent.putExtra(EXTRA_MESSAGE_DATA_BUNDLE, messageData);
     }
-    context.startService(intent);
+    context.sendBroadcast(intent);
   }
 
   @Override
@@ -136,6 +137,8 @@
       return;
     }
 
+    PreOMigrationHandler.migrate(getContext(), phoneAccountHandle);
+
     if (!VisualVoicemailSettingsUtil.isEnabled(getContext(), phoneAccountHandle)) {
       VvmLog.i(TAG, "VVM is disabled");
       return;
@@ -163,6 +166,7 @@
 
     if (VvmAccountManager.isAccountActivated(getContext(), phoneAccountHandle)) {
       VvmLog.i(TAG, "Account is already activated");
+      onSuccess(getContext(), phoneAccountHandle);
       return;
     }
     helper.handleEvent(
@@ -222,7 +226,7 @@
             + message.getReturnCode());
     if (message.getProvisioningStatus().equals(OmtpConstants.SUBSCRIBER_READY)) {
       VvmLog.d(TAG, "subscriber ready, no activation required");
-      updateSource(getContext(), phoneAccountHandle, status, message);
+      updateSource(getContext(), phoneAccountHandle, message);
     } else {
       if (helper.supportsProvisioning()) {
         VvmLog.i(TAG, "Subscriber not ready, start provisioning");
@@ -232,7 +236,7 @@
         VvmLog.i(TAG, "Subscriber new but provisioning is not supported");
         // Ignore the non-ready state and attempt to use the provided info as is.
         // This is probably caused by not completing the new user tutorial.
-        updateSource(getContext(), phoneAccountHandle, status, message);
+        updateSource(getContext(), phoneAccountHandle, message);
       } else {
         VvmLog.i(TAG, "Subscriber not ready but provisioning is not supported");
         helper.handleEvent(status, OmtpEvents.CONFIG_SERVICE_NOT_AVAILABLE);
@@ -242,25 +246,38 @@
         getContext(), DialerImpression.Type.VVM_ACTIVATION_COMPLETED);
   }
 
-  public static void updateSource(
-      Context context,
-      PhoneAccountHandle phone,
-      VoicemailStatus.Editor status,
-      StatusMessage message) {
+  private static void updateSource(
+      Context context, PhoneAccountHandle phone, StatusMessage message) {
 
     if (OmtpConstants.SUCCESS.equals(message.getReturnCode())) {
-      OmtpVvmCarrierConfigHelper helper = new OmtpVvmCarrierConfigHelper(context, phone);
-      helper.handleEvent(status, OmtpEvents.CONFIG_REQUEST_STATUS_SUCCESS);
-
       // Save the IMAP credentials in preferences so they are persistent and can be retrieved.
       VvmAccountManager.addAccount(context, phone, message);
-
-      SyncTask.start(context, phone, OmtpVvmSyncService.SYNC_FULL_SYNC);
+      onSuccess(context, phone);
     } else {
       VvmLog.e(TAG, "Visual voicemail not available for subscriber.");
     }
   }
 
+  private static void onSuccess(Context context, PhoneAccountHandle phoneAccountHandle) {
+    OmtpVvmCarrierConfigHelper helper = new OmtpVvmCarrierConfigHelper(context, phoneAccountHandle);
+    helper.handleEvent(
+        VoicemailStatus.edit(context, phoneAccountHandle),
+        OmtpEvents.CONFIG_REQUEST_STATUS_SUCCESS);
+    clearLegacyVoicemailNotification(context, phoneAccountHandle);
+    SyncTask.start(context, phoneAccountHandle, OmtpVvmSyncService.SYNC_FULL_SYNC);
+  }
+
+  /** Sends a broadcast to the dialer UI to clear legacy voicemail notifications if any. */
+  private static void clearLegacyVoicemailNotification(
+      Context context, PhoneAccountHandle phoneAccountHandle) {
+    Intent intent = new Intent(VoicemailClient.ACTION_SHOW_LEGACY_VOICEMAIL);
+    intent.setPackage(context.getPackageName());
+    intent.putExtra(TelephonyManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
+    // Setting voicemail message count to zero will clear the notification.
+    intent.putExtra(TelephonyManager.EXTRA_NOTIFICATION_COUNT, 0);
+    context.sendBroadcast(intent);
+  }
+
   private static boolean hasSignal(Context context, PhoneAccountHandle phoneAccountHandle) {
     TelephonyManager telephonyManager =
         context
diff --git a/java/com/android/voicemail/impl/AndroidManifest.xml b/java/com/android/voicemail/impl/AndroidManifest.xml
index 47a4b2d..8c0d67f 100644
--- a/java/com/android/voicemail/impl/AndroidManifest.xml
+++ b/java/com/android/voicemail/impl/AndroidManifest.xml
@@ -31,7 +31,8 @@
 
     <receiver
       android:name="com.android.voicemail.impl.sms.OmtpMessageReceiver"
-      android:exported="false">
+      android:exported="false"
+      android:directBootAware="true">
       <intent-filter>
         <action android:name="com.android.vociemailomtp.sms.sms_received"/>
       </intent-filter>
@@ -40,7 +41,7 @@
     <receiver android:name="com.android.voicemail.impl.VoicemailClientReceiver"
       android:exported="false">
       <intent-filter>
-        <action android:name="com.android.voicemailomtp.VoicemailClient.ACTION_UPLOAD"/>
+        <action android:name="com.android.voicemail.VoicemailClient.ACTION_UPLOAD"/>
       </intent-filter>
     </receiver>
 
@@ -76,8 +77,8 @@
       </intent-filter>
     </receiver>
 
-    <service
-      android:name="com.android.voicemail.impl.scheduling.TaskSchedulerService"
+    <receiver
+      android:name="com.android.voicemail.impl.scheduling.TaskReceiver"
       android:exported="false"/>
 
     <service
@@ -90,12 +91,15 @@
         android:permission="android.permission.BIND_JOB_SERVICE"
         android:exported="false"/>
 
-    <receiver android:name="com.android.voicemail.impl.OmtpReceiver"
-      android:exported="true">
+    <service
+        android:name="com.android.voicemail.impl.OmtpService"
+        android:permission="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
+        android:exported="true"
+        android:directBootAware="true">
       <intent-filter>
-        <action android:name="com.android.phone.vvm.ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT" />
+        <action android:name="android.telephony.VisualVoicemailService"/>
       </intent-filter>
-    </receiver>
+    </service>
 
     <activity
       android:name="com.android.voicemail.impl.settings.VoicemailChangePinActivity"
@@ -109,14 +113,5 @@
         <action android:name="android.intent.action.BOOT_COMPLETED" />
       </intent-filter>
     </receiver>
-
-    <receiver android:name="com.android.voicemail.impl.VvmPackageInstallReceiver">
-      <intent-filter>
-        <!-- New O broadcast, can be received in background. Only applies to installation and not
-           updates -->
-        <action android:name="android.intent.action.PACKAGE_FIRST_ADDED" />
-        <data android:scheme="package"/>
-      </intent-filter>
-    </receiver>
   </application>
 </manifest>
diff --git a/java/com/android/voicemail/impl/OmtpService.java b/java/com/android/voicemail/impl/OmtpService.java
new file mode 100644
index 0000000..ad24e12
--- /dev/null
+++ b/java/com/android/voicemail/impl/OmtpService.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.voicemail.impl;
+
+import android.annotation.TargetApi;
+import android.content.Intent;
+import android.os.Build.VERSION_CODES;
+import android.os.UserManager;
+import android.telecom.PhoneAccountHandle;
+import android.telephony.VisualVoicemailService;
+import android.telephony.VisualVoicemailSms;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
+import com.android.voicemail.VoicemailComponent;
+import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
+import com.android.voicemail.impl.sync.VvmAccountManager;
+
+/** Implements {@link VisualVoicemailService} to receive visual voicemail events */
+@TargetApi(VERSION_CODES.O)
+public class OmtpService extends VisualVoicemailService {
+
+  private static final String TAG = "VvmOmtpService";
+
+  public static final String ACTION_SMS_RECEIVED = "com.android.vociemailomtp.sms.sms_received";
+
+  public static final String EXTRA_VOICEMAIL_SMS = "extra_voicemail_sms";
+
+  @Override
+  public void onCellServiceConnected(
+      VisualVoicemailTask task, final PhoneAccountHandle phoneAccountHandle) {
+    VvmLog.i(TAG, "onCellServiceConnected");
+    if (!isModuleEnabled()) {
+      VvmLog.e(TAG, "onCellServiceConnected received when module is disabled");
+      task.finish();
+      return;
+    }
+
+    if (!isUserUnlocked()) {
+      VvmLog.i(TAG, "onCellServiceConnected: user locked");
+      task.finish();
+      return;
+    }
+
+    if (!isServiceEnabled(phoneAccountHandle)) {
+      task.finish();
+      return;
+    }
+
+    Logger.get(this).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
+    ActivationTask.start(OmtpService.this, phoneAccountHandle, null);
+    task.finish();
+  }
+
+  @Override
+  public void onSmsReceived(VisualVoicemailTask task, final VisualVoicemailSms sms) {
+    VvmLog.i(TAG, "onSmsReceived");
+    if (!isModuleEnabled()) {
+      VvmLog.e(TAG, "onSmsReceived received when module is disabled");
+      task.finish();
+      return;
+    }
+
+    VvmPackageInstallHandler.scanNewPackages(this);
+
+    if (!isServiceEnabled(sms.getPhoneAccountHandle())) {
+      task.finish();
+      return;
+    }
+
+    // isUserUnlocked() is not checked. OmtpMessageReceiver will handle the locked case.
+
+    Logger.get(this).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
+    Intent intent = new Intent(ACTION_SMS_RECEIVED);
+    intent.setPackage(getPackageName());
+    intent.putExtra(EXTRA_VOICEMAIL_SMS, sms);
+    sendBroadcast(intent);
+    task.finish();
+  }
+
+  @Override
+  public void onSimRemoved(
+      final VisualVoicemailTask task, final PhoneAccountHandle phoneAccountHandle) {
+    VvmLog.i(TAG, "onSimRemoved");
+    if (!isModuleEnabled()) {
+      VvmLog.e(TAG, "onSimRemoved called when module is disabled");
+      task.finish();
+      return;
+    }
+
+    if (!isUserUnlocked()) {
+      VvmLog.i(TAG, "onSimRemoved: user locked");
+      task.finish();
+      return;
+    }
+
+    Logger.get(this).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
+    VvmAccountManager.removeAccount(this, phoneAccountHandle);
+    task.finish();
+  }
+
+  @Override
+  public void onStopped(VisualVoicemailTask task) {
+    VvmLog.i(TAG, "onStopped");
+    if (!isModuleEnabled()) {
+      VvmLog.e(TAG, "onStopped called when module is disabled");
+      task.finish();
+      return;
+    }
+    if (!isUserUnlocked()) {
+      VvmLog.i(TAG, "onStopped: user locked");
+      task.finish();
+      return;
+    }
+    Logger.get(this).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
+  }
+
+  private boolean isModuleEnabled() {
+    return VoicemailComponent.get(this).getVoicemailClient().isVoicemailModuleEnabled();
+  }
+
+  private boolean isServiceEnabled(PhoneAccountHandle phoneAccountHandle) {
+    OmtpVvmCarrierConfigHelper config = new OmtpVvmCarrierConfigHelper(this, phoneAccountHandle);
+    if (!config.isValid()) {
+      VvmLog.i(TAG, "VVM not supported on " + phoneAccountHandle);
+      return false;
+    }
+    if (!VisualVoicemailSettingsUtil.isEnabled(this, phoneAccountHandle)
+        && !config.isLegacyModeEnabled()) {
+      VvmLog.i(TAG, "VVM is disabled");
+      return false;
+    }
+    return true;
+  }
+
+  private boolean isUserUnlocked() {
+    UserManager userManager = getSystemService(UserManager.class);
+    return userManager.isUserUnlocked();
+  }
+}
diff --git a/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java b/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java
index 2f1df09..04b3e73 100644
--- a/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java
+++ b/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java
@@ -26,7 +26,6 @@
 import android.telecom.PhoneAccountHandle;
 import android.telephony.CarrierConfigManager;
 import android.telephony.TelephonyManager;
-import android.telephony.VisualVoicemailService;
 import android.telephony.VisualVoicemailSmsFilterSettings;
 import android.text.TextUtils;
 import android.util.ArraySet;
@@ -234,9 +233,7 @@
     return (String) getValue(KEY_VVM_DESTINATION_NUMBER_STRING);
   }
 
-  /**
-   * @return Port to start a SSL IMAP connection directly.
-   */
+  /** @return Port to start a SSL IMAP connection directly. */
   public int getSslPort() {
     Assert.checkArgument(isValid());
     return (int) getValue(KEY_VVM_SSL_PORT_NUMBER_INT, 0);
@@ -328,7 +325,7 @@
 
   public void activateSmsFilter() {
     Assert.checkArgument(isValid());
-    VisualVoicemailService.setSmsFilterSettings(
+    TelephonyMangerCompat.setVisualVoicemailSmsFilterSettings(
         mContext,
         getPhoneAccountHandle(),
         new VisualVoicemailSmsFilterSettings.Builder().setClientPrefix(getClientPrefix()).build());
@@ -339,7 +336,8 @@
     VvmLog.i(TAG, "startDeactivation");
     if (!isLegacyModeEnabled()) {
       // SMS should still be filtered in legacy mode
-      VisualVoicemailService.setSmsFilterSettings(mContext, getPhoneAccountHandle(), null);
+      TelephonyMangerCompat.setVisualVoicemailSmsFilterSettings(
+          mContext, getPhoneAccountHandle(), null);
       VvmLog.i(TAG, "filter disabled");
     }
     if (mProtocol != null) {
diff --git a/java/com/android/voicemail/impl/PreOMigrationHandler.java b/java/com/android/voicemail/impl/PreOMigrationHandler.java
new file mode 100644
index 0000000..6dc2dee
--- /dev/null
+++ b/java/com/android/voicemail/impl/PreOMigrationHandler.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.voicemail.impl;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.support.annotation.WorkerThread;
+import android.telecom.PhoneAccountHandle;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
+import com.android.voicemail.impl.settings.VoicemailChangePinActivity;
+import java.lang.reflect.Method;
+
+/** Handles migration of data from the visual voicemail client in telephony before O. */
+public final class PreOMigrationHandler {
+
+  // Hidden system APIs to access pre O VVM data
+  // Bundle getVisualVoicemailSettings()
+  private static final String METHOD_GET_VISUAL_VOICEMAIL_SETTINGS = "getVisualVoicemailSettings";
+
+  /**
+   * Key in bundle returned by {@link #METHOD_GET_VISUAL_VOICEMAIL_SETTINGS}, indicating whether
+   * visual voicemail was enabled or disabled by the user. If the user never explicitly changed this
+   * setting, this key will not exist.
+   */
+  private static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL =
+      "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
+
+  /**
+   * Key in bundle returned by {@link #METHOD_GET_VISUAL_VOICEMAIL_SETTINGS}, indicating the
+   * voicemail access PIN scrambled during the auto provisioning process. The user is expected to
+   * reset their PIN if this value is not {@code null}.
+   */
+  private static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING =
+      "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
+
+  private static final String PRE_O_MIGRATION_FINISHED = "pre_o_migration_finished";
+
+  @WorkerThread
+  public static void migrate(Context context, PhoneAccountHandle phoneAccountHandle) {
+    Assert.isNotMainThread();
+    VisualVoicemailPreferences preferences =
+        new VisualVoicemailPreferences(context, phoneAccountHandle);
+    if (preferences.getBoolean(PRE_O_MIGRATION_FINISHED, false)) {
+      VvmLog.i("PreOMigrationHandler", phoneAccountHandle + " already migrated");
+      return;
+    }
+    VvmLog.i("PreOMigrationHandler", "migrating " + phoneAccountHandle);
+    migrateSettings(context, phoneAccountHandle);
+
+    preferences.edit().putBoolean(PRE_O_MIGRATION_FINISHED, true).apply();
+  }
+
+  private static void migrateSettings(Context context, PhoneAccountHandle phoneAccountHandle) {
+    VvmLog.i("PreOMigrationHandler.migrateSettings", "migrating settings");
+    TelephonyManager telephonyManager =
+        context
+            .getSystemService(TelephonyManager.class)
+            .createForPhoneAccountHandle(phoneAccountHandle);
+    if (telephonyManager == null) {
+      VvmLog.e("PreOMigrationHandler.migrateSettings", "invalid PhoneAccountHandle");
+      return;
+    }
+    Bundle legacySettings;
+    try {
+      Method method = TelephonyManager.class.getMethod(METHOD_GET_VISUAL_VOICEMAIL_SETTINGS);
+      legacySettings = (Bundle) method.invoke(telephonyManager);
+    } catch (ReflectiveOperationException | ClassCastException e) {
+      VvmLog.i("PreOMigrationHandler.migrateSettings", "unable to retrieve settings from system");
+      return;
+    }
+
+    if (legacySettings.containsKey(EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL)) {
+      boolean enabled = legacySettings.getBoolean(EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL);
+      VvmLog.i("PreOMigrationHandler.migrateSettings", "setting VVM enabled to " + enabled);
+      VisualVoicemailSettingsUtil.setEnabled(context, phoneAccountHandle, enabled);
+    }
+
+    if (legacySettings.containsKey(EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING)) {
+      String scrambledPin = legacySettings.getString(EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING);
+      if (!TextUtils.isEmpty(scrambledPin)) {
+        VvmLog.i("PreOMigrationHandler.migrateSettings", "migrating scrambled PIN");
+        VoicemailChangePinActivity.setDefaultOldPIN(context, phoneAccountHandle, scrambledPin);
+      }
+    }
+  }
+}
diff --git a/java/com/android/voicemail/impl/StatusCheckTask.java b/java/com/android/voicemail/impl/StatusCheckTask.java
index 7699e98..e59eb3b 100644
--- a/java/com/android/voicemail/impl/StatusCheckTask.java
+++ b/java/com/android/voicemail/impl/StatusCheckTask.java
@@ -51,7 +51,7 @@
 
   public static void start(Context context, PhoneAccountHandle phoneAccountHandle) {
     Intent intent = BaseTask.createIntent(context, StatusCheckTask.class, phoneAccountHandle);
-    context.startService(intent);
+    context.sendBroadcast(intent);
   }
 
   @Override
diff --git a/java/com/android/voicemail/impl/TelephonyMangerCompat.java b/java/com/android/voicemail/impl/TelephonyMangerCompat.java
index 353cd69..404b4d6 100644
--- a/java/com/android/voicemail/impl/TelephonyMangerCompat.java
+++ b/java/com/android/voicemail/impl/TelephonyMangerCompat.java
@@ -16,24 +16,36 @@
 
 package com.android.voicemail.impl;
 
+import android.app.PendingIntent;
+import android.content.Context;
 import android.telecom.PhoneAccountHandle;
 import android.telephony.TelephonyManager;
+import android.telephony.VisualVoicemailService;
+import android.telephony.VisualVoicemailSmsFilterSettings;
+import com.android.dialer.common.LogUtil;
 import java.lang.reflect.Method;
 
 /** Handles {@link TelephonyManager} API changes in experimental SDK */
 public class TelephonyMangerCompat {
-
-  private static final String GET_VISUAL_VOICEMAIL_PACKGE_NAME = "getVisualVoicemailPackageName";
-
-  /**
-   * Changed from getVisualVoicemailPackageName(PhoneAccountHandle) to
-   * getVisualVoicemailPackageName()
-   */
-  public static String getVisualVoicemailPackageName(TelephonyManager telephonyManager) {
+  /** Moved from VisualVoicemailService to TelephonyManager */
+  public static String sendVisualVoicemailSms(
+      Context context,
+      PhoneAccountHandle phoneAccountHandle,
+      String number,
+      int port,
+      String text,
+      PendingIntent sentIntent) {
     try {
-      Method method = TelephonyManager.class.getMethod(GET_VISUAL_VOICEMAIL_PACKGE_NAME);
+      Method method =
+          TelephonyManager.class.getMethod(
+              "sendVisualVoicemailSms", String.class, int.class, String.class, PendingIntent.class);
       try {
-        return (String) method.invoke(telephonyManager);
+        LogUtil.i("TelephonyMangerCompat.sendVisualVoicemailSms", "using TelephonyManager");
+        TelephonyManager telephonyManager =
+            context
+                .getSystemService(TelephonyManager.class)
+                .createForPhoneAccountHandle(phoneAccountHandle);
+        return (String) method.invoke(telephonyManager, number, port, text, sentIntent);
       } catch (ReflectiveOperationException e) {
         throw new RuntimeException(e);
       }
@@ -42,15 +54,61 @@
     }
 
     try {
+      LogUtil.i("TelephonyMangerCompat.sendVisualVoicemailSms", "using VisualVoicemailService");
+      Method method =
+          VisualVoicemailService.class.getMethod(
+              "sendVisualVoicemailSms",
+              Context.class,
+              PhoneAccountHandle.class,
+              String.class,
+              short.class,
+              String.class,
+              PendingIntent.class);
+      return (String)
+          method.invoke(null, context, phoneAccountHandle, number, (short) port, text, sentIntent);
+
+    } catch (ReflectiveOperationException e) {
+      throw new RuntimeException(e);
+    }
+  }
+
+  /** Moved from VisualVoicemailService to TelephonyManager */
+  public static String setVisualVoicemailSmsFilterSettings(
+      Context context,
+      PhoneAccountHandle phoneAccountHandle,
+      VisualVoicemailSmsFilterSettings settings) {
+    try {
       Method method =
           TelephonyManager.class.getMethod(
-              GET_VISUAL_VOICEMAIL_PACKGE_NAME, PhoneAccountHandle.class);
+              "setVisualVoicemailSmsFilterSettings", VisualVoicemailSmsFilterSettings.class);
       try {
-        return (String) method.invoke(telephonyManager, (Object) null);
+        LogUtil.i(
+            "TelephonyMangerCompat.setVisualVoicemailSmsFilterSettings", "using TelephonyManager");
+        TelephonyManager telephonyManager =
+            context
+                .getSystemService(TelephonyManager.class)
+                .createForPhoneAccountHandle(phoneAccountHandle);
+        return (String) method.invoke(telephonyManager, settings);
       } catch (ReflectiveOperationException e) {
         throw new RuntimeException(e);
       }
     } catch (NoSuchMethodException e) {
+      // Do nothing, try the next version.
+    }
+
+    try {
+      LogUtil.i(
+          "TelephonyMangerCompat.setVisualVoicemailSmsFilterSettings",
+          "using VisualVoicemailService");
+      Method method =
+          VisualVoicemailService.class.getMethod(
+              "setSmsFilterSettings",
+              Context.class,
+              PhoneAccountHandle.class,
+              VisualVoicemailSmsFilterSettings.class);
+      return (String) method.invoke(null, context, phoneAccountHandle, settings);
+
+    } catch (ReflectiveOperationException e) {
       throw new RuntimeException(e);
     }
   }
diff --git a/java/com/android/voicemail/impl/VoicemailClientImpl.java b/java/com/android/voicemail/impl/VoicemailClientImpl.java
index 7747b24..83c0523 100644
--- a/java/com/android/voicemail/impl/VoicemailClientImpl.java
+++ b/java/com/android/voicemail/impl/VoicemailClientImpl.java
@@ -130,8 +130,8 @@
   @Override
   public void appendOmtpVoicemailSelectionClause(
       Context context, StringBuilder where, List<String> selectionArgs) {
-    TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
-    String omtpSource = TelephonyMangerCompat.getVisualVoicemailPackageName(telephonyManager);
+    String omtpSource =
+        context.getSystemService(TelephonyManager.class).getVisualVoicemailPackageName();
     if (where.length() != 0) {
       where.append(" AND ");
     }
@@ -162,8 +162,8 @@
   @Override
   public void appendOmtpVoicemailStatusSelectionClause(
       Context context, StringBuilder where, List<String> selectionArgs) {
-    TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
-    String omtpSource = TelephonyMangerCompat.getVisualVoicemailPackageName(telephonyManager);
+    String omtpSource =
+        context.getSystemService(TelephonyManager.class).getVisualVoicemailPackageName();
     if (where.length() != 0) {
       where.append(" AND ");
     }
diff --git a/java/com/android/voicemail/impl/VvmPackageInstallHandler.java b/java/com/android/voicemail/impl/VvmPackageInstallHandler.java
new file mode 100644
index 0000000..8d1fb22
--- /dev/null
+++ b/java/com/android/voicemail/impl/VvmPackageInstallHandler.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.voicemail.impl;
+
+import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.pm.ChangedPackages;
+import android.os.Build.VERSION_CODES;
+import android.preference.PreferenceManager;
+import android.provider.Settings.Global;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.TelecomManager;
+import android.util.ArraySet;
+import com.android.dialer.common.PackageUtils;
+import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
+import java.util.Set;
+
+/**
+ * When a new package is installed, check if it matches any of the vvm carrier apps of the currently
+ * enabled dialer VVM sources. The dialer VVM client will be disabled upon carrier VVM app
+ * installation, unless it was explicitly enabled by the user.
+ *
+ * <p>The ACTION_PACKAGE_ADDED broadcast can no longer be received. (see
+ * https://developer.android.com/preview/features/background.html#broadcasts) New apps are scanned
+ * when a VVM SMS is received instead, as it can be a result of the carrier VVM app trying to run
+ * activation.
+ */
+@SuppressLint("AndroidApiChecker") // forEach
+@TargetApi(VERSION_CODES.O)
+public final class VvmPackageInstallHandler {
+
+  private static final String LAST_BOOT_COUNT =
+      "com.android.voicemail.impl.VvmPackageInstallHandler.LAST_BOOT_COUNT";
+
+  private static final String CHANGED_PACKAGES_SEQUENCE_NUMBER =
+      "com.android.voicemail.impl.VvmPackageInstallHandler.CHANGED_PACKAGES_SEQUENCE_NUMBER";
+
+  private static final String INSTALLED_CARRIER_PACKAGES =
+      "com.android.voicemail.impl.VvmPackageInstallHandler.INSTALLED_CARRIER_PACKAGES";
+
+  /**
+   * Perform a scan of all changed apps since the last invocation to see if the carrier VVM app is
+   * installed.
+   */
+  public static void scanNewPackages(Context context) {
+    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+    int sequenceNumber = sharedPreferences.getInt(CHANGED_PACKAGES_SEQUENCE_NUMBER, 0);
+    int lastBootCount = sharedPreferences.getInt(LAST_BOOT_COUNT, 0);
+    int bootCount = Global.getInt(context.getContentResolver(), Global.BOOT_COUNT, 0);
+    if (lastBootCount != bootCount) {
+      VvmLog.i(
+          "VvmPackageInstallHandler.scanNewPackages", "reboot detected, resetting sequence number");
+      sequenceNumber = 0;
+      sharedPreferences.edit().putInt(LAST_BOOT_COUNT, bootCount).apply();
+    }
+
+    ChangedPackages changedPackages =
+        context.getPackageManager().getChangedPackages(sequenceNumber);
+    if (changedPackages == null) {
+      VvmLog.i("VvmPackageInstallHandler.scanNewPackages", "no package has changed");
+      return;
+    }
+    sharedPreferences
+        .edit()
+        .putInt(CHANGED_PACKAGES_SEQUENCE_NUMBER, changedPackages.getSequenceNumber())
+        .apply();
+
+    Set<String> installedPackages =
+        sharedPreferences.getStringSet(INSTALLED_CARRIER_PACKAGES, new ArraySet<>());
+
+    Set<String> monitoredPackage = getMonitoredPackages(context);
+    installedPackages.removeIf((packageName) -> !monitoredPackage.contains(packageName));
+
+    for (String packageName : changedPackages.getPackageNames()) {
+      if (!monitoredPackage.contains(packageName)) {
+        continue;
+      }
+      if (PackageUtils.isPackageEnabled(packageName, context)) {
+        if (!installedPackages.contains(packageName)) {
+          VvmLog.i("VvmPackageInstallHandler.scanNewPackages", "new package found: " + packageName);
+          installedPackages.add(packageName);
+          handlePackageInstalled(context, packageName);
+        }
+      } else {
+        installedPackages.remove(packageName);
+      }
+    }
+    sharedPreferences.edit().putStringSet(INSTALLED_CARRIER_PACKAGES, installedPackages).apply();
+  }
+
+  private static Set<String> getMonitoredPackages(Context context) {
+    Set<String> result = new ArraySet<>();
+    context
+        .getSystemService(TelecomManager.class)
+        .getCallCapablePhoneAccounts()
+        .forEach(
+            (phoneAccountHandle -> {
+              OmtpVvmCarrierConfigHelper carrierConfigHelper =
+                  new OmtpVvmCarrierConfigHelper(context, phoneAccountHandle);
+              if (!carrierConfigHelper.isValid()) {
+                return;
+              }
+              if (carrierConfigHelper.getCarrierVvmPackageNames() == null) {
+                return;
+              }
+              result.addAll(carrierConfigHelper.getCarrierVvmPackageNames());
+            }));
+
+    return result;
+  };
+
+  /**
+   * Iterates through all phone account and disable VVM on a account if {@code packageName} is
+   * listed as a carrier VVM package.
+   */
+  private static void handlePackageInstalled(Context context, String packageName) {
+    // This get called every time an app is installed and will be noisy. Don't log until the app
+    // is identified as a carrier VVM app.
+    for (PhoneAccountHandle phoneAccount :
+        context.getSystemService(TelecomManager.class).getCallCapablePhoneAccounts()) {
+      OmtpVvmCarrierConfigHelper carrierConfigHelper =
+          new OmtpVvmCarrierConfigHelper(context, phoneAccount);
+      if (!carrierConfigHelper.isValid()) {
+        continue;
+      }
+      if (carrierConfigHelper.getCarrierVvmPackageNames() == null) {
+        continue;
+      }
+      if (!carrierConfigHelper.getCarrierVvmPackageNames().contains(packageName)) {
+        continue;
+      }
+
+      VvmLog.i("VvmPackageInstallHandler.handlePackageInstalled", "Carrier app installed");
+      if (VisualVoicemailSettingsUtil.isEnabledUserSet(context, phoneAccount)) {
+        // Skip the check if this voicemail source's setting is overridden by the user.
+        VvmLog.i(
+            "VvmPackageInstallHandler.handlePackageInstalled",
+            "VVM enabled by user, not disabling");
+        continue;
+      }
+
+      // Force deactivate the client. The user can re-enable it in the settings.
+      // There is no need to update the settings for deactivation. At this point, if the
+      // default value is used it should be false because a carrier package is present.
+      VvmLog.i(
+          "VvmPackageInstallHandler.handlePackageInstalled",
+          "Carrier VVM package installed, disabling system VVM client");
+      VisualVoicemailSettingsUtil.setEnabled(context, phoneAccount, false);
+    }
+  }
+}
diff --git a/java/com/android/voicemail/impl/imap/ImapHelper.java b/java/com/android/voicemail/impl/imap/ImapHelper.java
index 6aa4158..f1bc8b2 100644
--- a/java/com/android/voicemail/impl/imap/ImapHelper.java
+++ b/java/com/android/voicemail/impl/imap/ImapHelper.java
@@ -19,7 +19,7 @@
 import android.net.ConnectivityManager;
 import android.net.Network;
 import android.net.NetworkInfo;
-import android.provider.VoicemailContract;
+import android.support.annotation.Nullable;
 import android.telecom.PhoneAccountHandle;
 import android.util.Base64;
 import com.android.voicemail.impl.OmtpConstants;
@@ -44,6 +44,7 @@
 import com.android.voicemail.impl.mail.internet.MimeMessage;
 import com.android.voicemail.impl.mail.store.ImapConnection;
 import com.android.voicemail.impl.mail.store.ImapFolder;
+import com.android.voicemail.impl.mail.store.ImapFolder.Quota;
 import com.android.voicemail.impl.mail.store.ImapStore;
 import com.android.voicemail.impl.mail.store.imap.ImapConstants;
 import com.android.voicemail.impl.mail.store.imap.ImapResponse;
@@ -73,11 +74,6 @@
   private final Editor mStatus;
 
   VisualVoicemailPreferences mPrefs;
-  private static final String PREF_KEY_QUOTA_OCCUPIED = "quota_occupied_";
-  private static final String PREF_KEY_QUOTA_TOTAL = "quota_total_";
-
-  private int mQuotaOccupied;
-  private int mQuotaTotal;
 
   private final OmtpVvmCarrierConfigHelper mConfig;
 
@@ -90,10 +86,7 @@
   }
 
   public ImapHelper(
-      Context context,
-      PhoneAccountHandle phoneAccount,
-      Network network,
-      Editor status)
+      Context context, PhoneAccountHandle phoneAccount, Network network, Editor status)
       throws InitializingException {
     this(
         context,
@@ -139,10 +132,6 @@
       LogUtils.w(TAG, "Could not parse port number");
       throw new InitializingException("cannot initialize ImapHelper:" + e.toString());
     }
-
-    mQuotaOccupied =
-        mPrefs.getInt(PREF_KEY_QUOTA_OCCUPIED, VoicemailContract.Status.QUOTA_UNAVAILABLE);
-    mQuotaTotal = mPrefs.getInt(PREF_KEY_QUOTA_TOTAL, VoicemailContract.Status.QUOTA_UNAVAILABLE);
   }
 
   @Override
@@ -475,12 +464,22 @@
     }
   }
 
-  public int getOccuupiedQuota() {
-    return mQuotaOccupied;
-  }
-
-  public int getTotalQuota() {
-    return mQuotaTotal;
+  @Nullable
+  public Quota getQuota() {
+    try {
+      mFolder = openImapFolder(ImapFolder.MODE_READ_ONLY);
+      if (mFolder == null) {
+        // This means we were unable to successfully open the folder.
+        LogUtils.e(TAG, "Unable to open folder");
+        return null;
+      }
+      return mFolder.getQuota();
+    } catch (MessagingException e) {
+      LogUtils.e(TAG, e, "Messaging Exception");
+      return null;
+    } finally {
+      closeImapFolder();
+    }
   }
 
   private void updateQuota(ImapFolder folder) throws MessagingException {
@@ -489,21 +488,19 @@
 
   private void setQuota(ImapFolder.Quota quota) {
     if (quota == null) {
+      LogUtils.i(TAG, "quota was null");
       return;
     }
-    if (quota.occupied == mQuotaOccupied && quota.total == mQuotaTotal) {
-      VvmLog.v(TAG, "Quota hasn't changed");
-      return;
-    }
-    mQuotaOccupied = quota.occupied;
-    mQuotaTotal = quota.total;
-    VoicemailStatus.edit(mContext, mPhoneAccount).setQuota(mQuotaOccupied, mQuotaTotal).apply();
-    mPrefs
-        .edit()
-        .putInt(PREF_KEY_QUOTA_OCCUPIED, mQuotaOccupied)
-        .putInt(PREF_KEY_QUOTA_TOTAL, mQuotaTotal)
-        .apply();
-    VvmLog.v(TAG, "Quota changed to " + mQuotaOccupied + "/" + mQuotaTotal);
+
+    LogUtils.i(
+        TAG,
+        "Updating Voicemail status table with"
+            + " quota occupied: "
+            + quota.occupied
+            + " new quota total:"
+            + quota.total);
+    VoicemailStatus.edit(mContext, mPhoneAccount).setQuota(quota.occupied, quota.total).apply();
+    LogUtils.i(TAG, "Updated quota occupied and total");
   }
 
   /**
diff --git a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java
index c8a74c8..1cdbbfb 100644
--- a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java
+++ b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java
@@ -17,10 +17,13 @@
 package com.android.voicemail.impl.protocol;
 
 import android.annotation.TargetApi;
+import android.content.Context;
 import android.net.Network;
 import android.os.Build;
 import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.VisibleForTesting;
 import android.support.annotation.WorkerThread;
 import android.telecom.PhoneAccountHandle;
 import android.telephony.TelephonyManager;
@@ -28,6 +31,7 @@
 import android.text.Spanned;
 import android.text.style.URLSpan;
 import android.util.ArrayMap;
+import com.android.dialer.common.ConfigProviderBindings;
 import com.android.voicemail.impl.ActivationTask;
 import com.android.voicemail.impl.Assert;
 import com.android.voicemail.impl.OmtpEvents;
@@ -49,6 +53,8 @@
 import java.net.CookieManager;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Random;
@@ -57,6 +63,8 @@
 import java.util.concurrent.TimeoutException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.json.JSONArray;
+import org.json.JSONException;
 
 /**
  * Class to subscribe to basic VVM3 visual voicemail, for example, Verizon. Subscription is required
@@ -111,7 +119,15 @@
   private static final String SPG_LANGUAGE_PARAM = "SPG_LANGUAGE_PARAM";
   private static final String SPG_LANGUAGE_EN = "ENGLISH";
 
-  private static final String BASIC_SUBSCRIBE_LINK_TEXT = "Subscribe to Basic Visual Voice Mail";
+  @VisibleForTesting
+  static final String VVM3_SUBSCRIBE_LINK_PATTERNS_JSON_ARRAY =
+      "vvm3_subscribe_link_pattern_json_array";
+
+  private static final String VVM3_SUBSCRIBE_LINK_DEFAULT_PATTERNS =
+      "["
+          + "\"(?i)Subscribe to Basic Visual Voice Mail\","
+          + "\"(?i)Subscribe to Basic Visual Voicemail\""
+          + "]";
 
   private static final int REQUEST_TIMEOUT_SECONDS = 30;
 
@@ -125,7 +141,8 @@
 
   private RequestQueue mRequestQueue;
 
-  private static class ProvisioningException extends Exception {
+  @VisibleForTesting
+  static class ProvisioningException extends Exception {
 
     public ProvisioningException(String message) {
       super(message);
@@ -188,7 +205,8 @@
     try {
       String gatewayUrl = getSelfProvisioningGateway();
       String selfProvisionResponse = getSelfProvisionResponse(gatewayUrl);
-      String subscribeLink = findSubscribeLink(selfProvisionResponse);
+      String subscribeLink =
+          findSubscribeLink(getSubscribeLinkPatterns(mHelper.getContext()), selfProvisionResponse);
       clickSubscribeLink(subscribeLink);
     } catch (ProvisioningException e) {
       VvmLog.e(TAG, e.toString());
@@ -291,14 +309,40 @@
     }
   }
 
-  private String findSubscribeLink(String response) throws ProvisioningException {
+  @VisibleForTesting
+  static List<Pattern> getSubscribeLinkPatterns(Context context) {
+    String patternsJsonString =
+        ConfigProviderBindings.get(context)
+            .getString(
+                VVM3_SUBSCRIBE_LINK_PATTERNS_JSON_ARRAY, VVM3_SUBSCRIBE_LINK_DEFAULT_PATTERNS);
+    List<Pattern> patterns = new ArrayList<>();
+    try {
+      JSONArray patternsArray = new JSONArray(patternsJsonString);
+      for (int i = 0; i < patternsArray.length(); i++) {
+        patterns.add(Pattern.compile(patternsArray.getString(i)));
+      }
+    } catch (JSONException e) {
+      throw new IllegalArgumentException("Unable to parse patterns" + e);
+    }
+    return patterns;
+  }
+
+  @VisibleForTesting
+  static String findSubscribeLink(@NonNull List<Pattern> patterns, String response)
+      throws ProvisioningException {
+    if (patterns.isEmpty()) {
+      throw new IllegalArgumentException("empty patterns");
+    }
     Spanned doc = Html.fromHtml(response, Html.FROM_HTML_MODE_LEGACY);
     URLSpan[] spans = doc.getSpans(0, doc.length(), URLSpan.class);
     StringBuilder fulltext = new StringBuilder();
+
     for (URLSpan span : spans) {
       String text = doc.subSequence(doc.getSpanStart(span), doc.getSpanEnd(span)).toString();
-      if (BASIC_SUBSCRIBE_LINK_TEXT.equals(text)) {
-        return span.getURL();
+      for (Pattern pattern : patterns) {
+        if (pattern.matcher(text).matches()) {
+          return span.getURL();
+        }
       }
       fulltext.append(text);
     }
diff --git a/java/com/android/voicemail/impl/res/values-af/strings.xml b/java/com/android/voicemail/impl/res/values-af/strings.xml
index 7126321..a845534 100644
--- a/java/com/android/voicemail/impl/res/values-af/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-af/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Stemboodskap (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Stemboodskap"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibreer"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibreer"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Klank"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Gevorderde instellings"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuele stemboodskap"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra rugsteun en berging"</string>
diff --git a/java/com/android/voicemail/impl/res/values-am/strings.xml b/java/com/android/voicemail/impl/res/values-am/strings.xml
index d350bbd..2f0719a 100644
--- a/java/com/android/voicemail/impl/res/values-am/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-am/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"የድምፅ መልዕክት (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"የድምፅ መልዕክት"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"ንዘር"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"ንዘር"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ድምፅ"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"የላቁ ቅንብሮች"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ምስላዊ የድምፅ መልዕክት"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ተጨማሪ ምትኬ እና ማከማቻ"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ar/strings.xml b/java/com/android/voicemail/impl/res/values-ar/strings.xml
index 679dcce..f46ebe1 100644
--- a/java/com/android/voicemail/impl/res/values-ar/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ar/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"البريد الصوتي (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"البريد الصوتي"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"اهتزاز"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"اهتزاز"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"صوت"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"الإعدادات المتقدمة"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"بريد صوتي مرئي"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"نسخة احتياطية وسعة تخزين إضافية"</string>
diff --git a/java/com/android/voicemail/impl/res/values-az/strings.xml b/java/com/android/voicemail/impl/res/values-az/strings.xml
index 87b4c06..ebb85dc 100644
--- a/java/com/android/voicemail/impl/res/values-az/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-az/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Səsli e-poçt (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Səsli e-poçt"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrasiya"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrasiya"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Səs"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Qabaqcıl Ayarlar"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Görünən Səsli e-poçt"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Əlavə yedəkləmə və yaddaş"</string>
diff --git a/java/com/android/voicemail/impl/res/values-b+sr+Latn/strings.xml b/java/com/android/voicemail/impl/res/values-b+sr+Latn/strings.xml
index 1939130..4129430 100644
--- a/java/com/android/voicemail/impl/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-b+sr+Latn/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Govorna pošta (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Govorna pošta"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibracija"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibracija"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Zvuk"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Napredna podešavanja"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuelna govorna pošta"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Dodatne rezervne kopije i prostor"</string>
diff --git a/java/com/android/voicemail/impl/res/values-be/strings.xml b/java/com/android/voicemail/impl/res/values-be/strings.xml
index 874b479..ffb7cab 100644
--- a/java/com/android/voicemail/impl/res/values-be/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-be/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Галасавая пошта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Галасавая пошта"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Вібрацыя"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Вібрацыя"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Гук"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Пашыраныя налады"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Візуальная галасавая пошта"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Дадатковае рэзервовае капір. і сховішча"</string>
diff --git a/java/com/android/voicemail/impl/res/values-bg/strings.xml b/java/com/android/voicemail/impl/res/values-bg/strings.xml
index f987015..d3a66a4 100644
--- a/java/com/android/voicemail/impl/res/values-bg/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-bg/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Гласова поща (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Гласова поща"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Вибриране"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Вибриране"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Звук"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Разширени настройки"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуална гласова поща"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Допълнителни резервни копия и хранилище"</string>
diff --git a/java/com/android/voicemail/impl/res/values-bn/strings.xml b/java/com/android/voicemail/impl/res/values-bn/strings.xml
index 699576d..636f332 100644
--- a/java/com/android/voicemail/impl/res/values-bn/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-bn/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"ভয়েসমেল (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"ভয়েসমেল"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"কম্পন"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"কম্পন"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"শব্দ"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"উন্নত সেটিংস"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ভিজ্যুয়াল ভয়েসমেল"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"অতিরিক্ত ব্যাক আপ এবং সঞ্চয়স্থান"</string>
diff --git a/java/com/android/voicemail/impl/res/values-bs/strings.xml b/java/com/android/voicemail/impl/res/values-bs/strings.xml
index 2c8cc76..09b9ab6 100644
--- a/java/com/android/voicemail/impl/res/values-bs/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-bs/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Govorna pošta (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Govorna pošta"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibracija"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibracija"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Zvuk"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Napredne postavke"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuelna govorna pošta"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Dodatna sigurnosna kopija i pohrana"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ca/strings.xml b/java/com/android/voicemail/impl/res/values-ca/strings.xml
index b6525d0..e6c3bc7 100644
--- a/java/com/android/voicemail/impl/res/values-ca/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ca/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Bústia de veu (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Bústia de veu"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibra"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibra"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"So"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Configuració avançada"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Bústia de veu visual"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Còpia de seguretat addicional i emmagatz."</string>
diff --git a/java/com/android/voicemail/impl/res/values-cs/strings.xml b/java/com/android/voicemail/impl/res/values-cs/strings.xml
index 987f9de..621c4a8 100644
--- a/java/com/android/voicemail/impl/res/values-cs/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-cs/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Hlasová schránka (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Hlasová schránka"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrace"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrace"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Zvuk"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Pokročilá nastavení"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuální hlasová schránka"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Další zálohování a úložiště"</string>
diff --git a/java/com/android/voicemail/impl/res/values-da/strings.xml b/java/com/android/voicemail/impl/res/values-da/strings.xml
index 70ecb36..e9f0404 100644
--- a/java/com/android/voicemail/impl/res/values-da/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-da/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Telefonsvarer (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Telefonsvarer"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrer"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrer"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Lyd"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Avancerede indstillinger"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuel telefonsvarer"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra sikkerhedskopiering og lagerplads"</string>
diff --git a/java/com/android/voicemail/impl/res/values-de/strings.xml b/java/com/android/voicemail/impl/res/values-de/strings.xml
index 2746629..c4cc75b 100644
--- a/java/com/android/voicemail/impl/res/values-de/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-de/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Mailbox (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Mailbox"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrieren"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrieren"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Ton"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Erweiterte Einstellungen"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuelle Mailbox"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Zusätzliche Sicherung und mehr Speicher"</string>
diff --git a/java/com/android/voicemail/impl/res/values-el/strings.xml b/java/com/android/voicemail/impl/res/values-el/strings.xml
index e9f9835..5456c48 100644
--- a/java/com/android/voicemail/impl/res/values-el/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-el/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Αυτόματος τηλεφωνητής (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Αυτόματος τηλεφωνητής"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Δόνηση"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Δόνηση"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Ήχος"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Σύνθετες ρυθμίσεις"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Οπτικός αυτόματος τηλεφωνητής"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Επιπλέον αντίγραφα ασφ. και αποθήκευση"</string>
diff --git a/java/com/android/voicemail/impl/res/values-en-rAU/strings.xml b/java/com/android/voicemail/impl/res/values-en-rAU/strings.xml
index ec08faf..dba1f16 100644
--- a/java/com/android/voicemail/impl/res/values-en-rAU/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-en-rAU/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Voicemail"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrate"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrate"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Sound"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Advanced settings"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visual voicemail"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra backup and storage"</string>
diff --git a/java/com/android/voicemail/impl/res/values-en-rGB/strings.xml b/java/com/android/voicemail/impl/res/values-en-rGB/strings.xml
index ec08faf..dba1f16 100644
--- a/java/com/android/voicemail/impl/res/values-en-rGB/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-en-rGB/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Voicemail"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrate"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrate"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Sound"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Advanced settings"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visual voicemail"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra backup and storage"</string>
diff --git a/java/com/android/voicemail/impl/res/values-en-rIN/strings.xml b/java/com/android/voicemail/impl/res/values-en-rIN/strings.xml
index ec08faf..dba1f16 100644
--- a/java/com/android/voicemail/impl/res/values-en-rIN/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-en-rIN/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Voicemail"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrate"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrate"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Sound"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Advanced settings"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visual voicemail"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra backup and storage"</string>
diff --git a/java/com/android/voicemail/impl/res/values-es-rUS/strings.xml b/java/com/android/voicemail/impl/res/values-es-rUS/strings.xml
index fcd9cc7..86cb7e9 100644
--- a/java/com/android/voicemail/impl/res/values-es-rUS/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-es-rUS/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Buzón de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Buzón de voz"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrar"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrar"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Sonido"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Configuración avanzada"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Buzón de voz visual"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Copia de seguridad y almacenamiento adicional"</string>
diff --git a/java/com/android/voicemail/impl/res/values-es/strings.xml b/java/com/android/voicemail/impl/res/values-es/strings.xml
index f20ebc5..29863d1 100644
--- a/java/com/android/voicemail/impl/res/values-es/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-es/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Buzón de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Buzón de voz"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibración"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrar"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Sonido"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Configuración avanzada"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Buzón de voz visual"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Copias de seguridad y almacenamiento extra"</string>
diff --git a/java/com/android/voicemail/impl/res/values-et/strings.xml b/java/com/android/voicemail/impl/res/values-et/strings.xml
index dc7f685..6fcf233 100644
--- a/java/com/android/voicemail/impl/res/values-et/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-et/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Kõnepost (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Kõnepost"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibreerimine"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibreerimine"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Heli"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Täpsemad seaded"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuaalne kõnepost"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Lisavarundus ja -salvestusruum"</string>
diff --git a/java/com/android/voicemail/impl/res/values-eu/strings.xml b/java/com/android/voicemail/impl/res/values-eu/strings.xml
index 8a3bd64..293dd1c 100644
--- a/java/com/android/voicemail/impl/res/values-eu/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-eu/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Erantzungailua (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Erantzungailua"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Dardara"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Dardara"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Soinua"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Ezarpen aurreratuak"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Erantzungailu bisuala"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Babeskopiak eta edukia gordetzeko tokia"</string>
diff --git a/java/com/android/voicemail/impl/res/values-fa/strings.xml b/java/com/android/voicemail/impl/res/values-fa/strings.xml
index 0b5d513..cc04d98 100644
--- a/java/com/android/voicemail/impl/res/values-fa/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-fa/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"پست صوتی (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"پست صوتی"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"لرزش"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"لرزش"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"صدا"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"تنظیمات پیشرفته"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"پست صوتی تصویری"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"پشتیبان‌گیری و فضای ذخیره‌سازی اضافی"</string>
diff --git a/java/com/android/voicemail/impl/res/values-fi/strings.xml b/java/com/android/voicemail/impl/res/values-fi/strings.xml
index c20d3e4..0e1cda5 100644
--- a/java/com/android/voicemail/impl/res/values-fi/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-fi/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Vastaaja (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Vastaaja"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Värinä"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Värinä"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Ääni"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Lisäasetukset"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuaalinen vastaaja"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Lisävarmuuskopiointi ja ‑tallennustila"</string>
diff --git a/java/com/android/voicemail/impl/res/values-fr-rCA/strings.xml b/java/com/android/voicemail/impl/res/values-fr-rCA/strings.xml
index 6bbd134..f570fa4 100644
--- a/java/com/android/voicemail/impl/res/values-fr-rCA/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-fr-rCA/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Messagerie vocale (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Messagerie vocale"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibreur"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibreur"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Son"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Paramètres avancés"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Messagerie vocale visuelle"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Espace suppl. de sauvegarde et stockage"</string>
diff --git a/java/com/android/voicemail/impl/res/values-fr/strings.xml b/java/com/android/voicemail/impl/res/values-fr/strings.xml
index dc21c76..323decf 100644
--- a/java/com/android/voicemail/impl/res/values-fr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-fr/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Messagerie vocale (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Messagerie vocale"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibreur"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibreur"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Sonnerie"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Paramètres avancés"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Messagerie vocale visuelle"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Espace suppl. de sauvegarde et stockage"</string>
diff --git a/java/com/android/voicemail/impl/res/values-gl/strings.xml b/java/com/android/voicemail/impl/res/values-gl/strings.xml
index 81f6e67..b6ff512 100644
--- a/java/com/android/voicemail/impl/res/values-gl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-gl/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Correo de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Correo de voz"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibración"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibración"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Son"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Configuración avanzada"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Correo de voz visual"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Copia de seguranza e almacenamento extra"</string>
diff --git a/java/com/android/voicemail/impl/res/values-gu/strings.xml b/java/com/android/voicemail/impl/res/values-gu/strings.xml
index 3e8948d..684bd40 100644
--- a/java/com/android/voicemail/impl/res/values-gu/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-gu/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"વૉઇસમેઇલ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"વૉઇસમેઇલ"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"વાઇબ્રેટ"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"વાઇબ્રેટ"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ધ્વનિ"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"વિગતવાર સેટિંગ્સ"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"વિઝ્યુઅલ વૉઇસમેઇલ"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"અતિરિક્ત બેકઅપ અને સ્ટોરેજ"</string>
diff --git a/java/com/android/voicemail/impl/res/values-hi/strings.xml b/java/com/android/voicemail/impl/res/values-hi/strings.xml
index 8daa3e3..3cb394f 100644
--- a/java/com/android/voicemail/impl/res/values-hi/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-hi/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"वॉइसमेल (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"वॉइसमेल"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"कंपन"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"कंपन"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ध्वनि"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"उन्नत सेटिंग"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"विज़ुअल वॉइसमेल"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"अतिरिक्त बैकअप और जगह"</string>
diff --git a/java/com/android/voicemail/impl/res/values-hr/strings.xml b/java/com/android/voicemail/impl/res/values-hr/strings.xml
index 9609095..6eb0bbc 100644
--- a/java/com/android/voicemail/impl/res/values-hr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-hr/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Govorna pošta (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Govorna pošta"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibriranje"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibriranje"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Zvuk"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Napredne postavke"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizualna govorna pošta"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Dodatno sigurnosno kopiranje i pohrana"</string>
diff --git a/java/com/android/voicemail/impl/res/values-hu/strings.xml b/java/com/android/voicemail/impl/res/values-hu/strings.xml
index ce18af7..b764122 100644
--- a/java/com/android/voicemail/impl/res/values-hu/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-hu/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Hangposta (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Hangposta"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Rezgés"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Rezgés"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Hang"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Speciális beállítások"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuális hangpostaüzenet"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra tárhely és biztonsági mentés"</string>
diff --git a/java/com/android/voicemail/impl/res/values-hy/strings.xml b/java/com/android/voicemail/impl/res/values-hy/strings.xml
index eaa987a..23544ba 100644
--- a/java/com/android/voicemail/impl/res/values-hy/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-hy/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Ձայնային փոստ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Ձայնային փոստ"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Թրթռոց"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Թրթռոց"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Ձայն"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Ընդլայնված կարգավորումներ"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Տեսողական ձայնային փոստ"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Լրացուցիչ տարածք և պահուստավորում"</string>
diff --git a/java/com/android/voicemail/impl/res/values-in/strings.xml b/java/com/android/voicemail/impl/res/values-in/strings.xml
index 6f7e637..76ad479 100644
--- a/java/com/android/voicemail/impl/res/values-in/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-in/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Pesan Suara (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Pesan Suara"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Getar"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Getar"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Suara"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Setelan Lanjutan"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Pesan Suara Visual"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Penyimpanan dan backup ekstra"</string>
diff --git a/java/com/android/voicemail/impl/res/values-is/strings.xml b/java/com/android/voicemail/impl/res/values-is/strings.xml
index 5e00487..26ee45a 100644
--- a/java/com/android/voicemail/impl/res/values-is/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-is/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Talhólf (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Talhólf"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Titringur"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Titringur"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Hljóð"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Ítarlegar stillingar"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Myndrænt talhólf"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Viðbótaröryggisafritun og samstilling"</string>
diff --git a/java/com/android/voicemail/impl/res/values-it/strings.xml b/java/com/android/voicemail/impl/res/values-it/strings.xml
index 2c37ba2..3f28d45 100644
--- a/java/com/android/voicemail/impl/res/values-it/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-it/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Segreteria (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Segreteria"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrazione"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrazione"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Suono"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Impostazioni avanzate"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Leggi la segreteria"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Archiviazione supplementare e backup"</string>
diff --git a/java/com/android/voicemail/impl/res/values-iw/strings.xml b/java/com/android/voicemail/impl/res/values-iw/strings.xml
index cdf58dd..f808e98 100644
--- a/java/com/android/voicemail/impl/res/values-iw/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-iw/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"דואר קולי (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"דואר קולי"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"רטט"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"רטט"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"צליל"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"הגדרות מתקדמות"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"דואר קולי ויזואלי"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"גיבוי ופינוי מקום"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ja/strings.xml b/java/com/android/voicemail/impl/res/values-ja/strings.xml
index e35359f..75dcd5e 100644
--- a/java/com/android/voicemail/impl/res/values-ja/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ja/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"ボイスメール(<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"ボイスメール"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"バイブレーション"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"バイブレーション"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"通知音"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"詳細設定"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ビジュアル ボイスメール"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"追加のバックアップと保存容量"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ka/strings.xml b/java/com/android/voicemail/impl/res/values-ka/strings.xml
index 7eb792f..8c46747 100644
--- a/java/com/android/voicemail/impl/res/values-ka/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ka/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"ხმოვანი ფოსტა (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"ხმოვანი ფოსტა"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"ვიბრაცია"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"ვიბრაცია"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ხმა"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"გაფართოებული პარამეტრები"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ვიზუალური ხმოვანი ფოსტა"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"დამატებითი სარეზ. ასლები და მეხსიერება"</string>
diff --git a/java/com/android/voicemail/impl/res/values-kk/strings.xml b/java/com/android/voicemail/impl/res/values-kk/strings.xml
index a03171d..1badcfd 100644
--- a/java/com/android/voicemail/impl/res/values-kk/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-kk/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Дауыстық хабар (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Дауыстық хабар"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Діріл"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Діріл"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Дыбыс"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Қосымша параметрлер"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуалды дауыстық пошта"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Қосымша сақтық көшірме жасау және сақтау"</string>
diff --git a/java/com/android/voicemail/impl/res/values-km/strings.xml b/java/com/android/voicemail/impl/res/values-km/strings.xml
index 3d55d00..35fdb49 100644
--- a/java/com/android/voicemail/impl/res/values-km/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-km/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"សារ​ជា​សំឡេង (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"សារ​ជា​សំឡេង"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"ញ័រ"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"ញ័រ"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"សំឡេង"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"ការ​កំណត់​កម្រិត​ខ្ពស់"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"សារជាសំឡេងអាចមើលឃើញ"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ទំហំ​ផ្ទុក និង​ការ​បម្រុងទុក​បន្ថែម"</string>
diff --git a/java/com/android/voicemail/impl/res/values-kn/strings.xml b/java/com/android/voicemail/impl/res/values-kn/strings.xml
index 379e656..5ab3a2e 100644
--- a/java/com/android/voicemail/impl/res/values-kn/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-kn/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"ಧ್ವನಿಮೇಲ್ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"ಧ್ವನಿಮೇಲ್"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"ವೈಬ್ರೇಟ್‌"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"ವೈಬ್ರೇಟ್‌"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ಶಬ್ದ"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"ಸುಧಾರಿತ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ಹೆಚ್ಚುವರಿ ಬ್ಯಾಕಪ್ ಮತ್ತು ಸಂಗ್ರಹಣೆ"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ko/strings.xml b/java/com/android/voicemail/impl/res/values-ko/strings.xml
index 513a675..98195e0 100644
--- a/java/com/android/voicemail/impl/res/values-ko/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ko/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"음성사서함(<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"음성사서함"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"진동"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"진동"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"소리"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"고급 설정"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"시각적 음성사서함"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"추가 백업 및 저장용량"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ky/strings.xml b/java/com/android/voicemail/impl/res/values-ky/strings.xml
index 12b7f18..5ba4dde 100644
--- a/java/com/android/voicemail/impl/res/values-ky/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ky/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Үн почтасы (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Үн почтасы"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Дирилдөө"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Дирилдөө"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Үн"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Өркүндөтүлгөн жөндөөлөр"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуалдык үн почтасы"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Кошумча камдык көчүрмөнү сактоо жана сактагыч"</string>
diff --git a/java/com/android/voicemail/impl/res/values-lo/strings.xml b/java/com/android/voicemail/impl/res/values-lo/strings.xml
index f4f45e5..ef9cecc 100644
--- a/java/com/android/voicemail/impl/res/values-lo/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-lo/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"ຂໍ້​ຄວາມ​ສຽງ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"ຂໍ້ຄວາມສຽງ"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"ສັ່ນເຕືອນ"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"ສັ່ນເຕືອນ"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ສຽງ"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"ການຕັ້ງຄ່າຂັ້ນສູງ"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ຂໍ້​ຄວາມ​ສຽງສະເໝືອນ"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ການສຳຮອງ ແລະ ບ່ອນຈັດເກັບຂໍ້ມູນພິເສດ"</string>
diff --git a/java/com/android/voicemail/impl/res/values-lt/strings.xml b/java/com/android/voicemail/impl/res/values-lt/strings.xml
index 59a15f4..31dba2e 100644
--- a/java/com/android/voicemail/impl/res/values-lt/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-lt/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Balso paštas (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Balso paštas"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibruoti"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibravimas"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Garsas"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Išplėstiniai nustatymai"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vaizdinis balso paštas"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Papild. saug. vt. ir ats. kop. kūr. f."</string>
diff --git a/java/com/android/voicemail/impl/res/values-lv/strings.xml b/java/com/android/voicemail/impl/res/values-lv/strings.xml
index 0b8b2f9..d8230d9 100644
--- a/java/com/android/voicemail/impl/res/values-lv/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-lv/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Balss pasts (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Balss pasts"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrācija"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrācija"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Signāls"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Papildu iestatījumi"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuālais balss pasts"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Papildu dublēšana un krātuve"</string>
diff --git a/java/com/android/voicemail/impl/res/values-mk/strings.xml b/java/com/android/voicemail/impl/res/values-mk/strings.xml
index 90c2f6c..375b79a 100644
--- a/java/com/android/voicemail/impl/res/values-mk/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-mk/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Говорна пошта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Говорна пошта"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Вибрации"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Вибрации"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Звук"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Напредни поставки"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуелна говорна пошта"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Дополнителен бекап и склад"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ml/strings.xml b/java/com/android/voicemail/impl/res/values-ml/strings.xml
index d7fd31f..d21d8be 100644
--- a/java/com/android/voicemail/impl/res/values-ml/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ml/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"വോയ്‌സ്‌മെയിൽ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"വോയ്‌സ്‌മെയിൽ"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"വൈബ്രേറ്റുചെയ്യുക"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"വൈബ്രേറ്റുചെയ്യുക"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ശബ്‌ദം"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"വിപുലമായ ക്രമീകരണം"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"അധിക ബായ്‌ക്കപ്പും സ്‌റ്റോറേജും"</string>
diff --git a/java/com/android/voicemail/impl/res/values-mn/strings.xml b/java/com/android/voicemail/impl/res/values-mn/strings.xml
index 5f72634..56cffa9 100644
--- a/java/com/android/voicemail/impl/res/values-mn/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-mn/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Дуут шуудан (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Дуут шуудан"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Чичиргээ"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Чичиргээ"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Дуу"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Нарийвчилсан тохиргоо"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Уншиж болохуйц дуут шуудан"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Нэмэлт нөөцлөлт болон хадгалах сан"</string>
diff --git a/java/com/android/voicemail/impl/res/values-mr/strings.xml b/java/com/android/voicemail/impl/res/values-mr/strings.xml
index e8c546c..4079098 100644
--- a/java/com/android/voicemail/impl/res/values-mr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-mr/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"व्हॉइसमेल (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"व्हॉइसमेल"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"कंपन करा"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"कंपन करा"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ध्वनी"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"प्रगत सेटिंग्ज"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"दृश्‍यमान व्हॉइसमेल"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"अतिरिक्त बॅक अप आणि संचय"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ms/strings.xml b/java/com/android/voicemail/impl/res/values-ms/strings.xml
index 4468d49..91fa305 100644
--- a/java/com/android/voicemail/impl/res/values-ms/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ms/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Mel suara (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Mel suara"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Bergetar"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Bergetar"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Bunyi"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Tetapan Terperinci"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Mel Suara Visual"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Sandaran dan storan tambahan"</string>
diff --git a/java/com/android/voicemail/impl/res/values-my/strings.xml b/java/com/android/voicemail/impl/res/values-my/strings.xml
index 41e8835..8144c1f 100644
--- a/java/com/android/voicemail/impl/res/values-my/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-my/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"အသံမေးလ် (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"အသံမေးလ်"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"တုန်ခါမှု"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"တုန်ခါမှု"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"အသံ"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"အဆင့်မြင့် ဆက်တင်များ"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"စာသားမှတ်တမ်းပါ အသံမေးလ်"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"အပိုဆောင်း မိတ္တူနှင့် သိုလှောင်မှု"</string>
diff --git a/java/com/android/voicemail/impl/res/values-nb/strings.xml b/java/com/android/voicemail/impl/res/values-nb/strings.xml
index afbdd3b..b13be25 100644
--- a/java/com/android/voicemail/impl/res/values-nb/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-nb/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Talepostkasse (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Talepost"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrering"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrering"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Lyd"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Avanserte innstillinger"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuell talepostkasse"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra sikkerhetskopi og lagring"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ne/strings.xml b/java/com/android/voicemail/impl/res/values-ne/strings.xml
index a186535..360164e 100644
--- a/java/com/android/voicemail/impl/res/values-ne/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ne/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"भ्वाइस मेल (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"भ्वाइस मेल"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"कम्पन"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"कम्पन"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"आवाज"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"उन्नत सेटिङहरू"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"भिजुअल भ्वाइस मेल"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"अतिरिक्त ब्याकअप र भण्डारण"</string>
diff --git a/java/com/android/voicemail/impl/res/values-nl/strings.xml b/java/com/android/voicemail/impl/res/values-nl/strings.xml
index ed66ab3..88fc0f6 100644
--- a/java/com/android/voicemail/impl/res/values-nl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-nl/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Voicemail"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Trillen"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Trillen"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Geluid"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Geavanceerde instellingen"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuele voicemail"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra back-up en opslag"</string>
diff --git a/java/com/android/voicemail/impl/res/values-no/strings.xml b/java/com/android/voicemail/impl/res/values-no/strings.xml
index afbdd3b..b13be25 100644
--- a/java/com/android/voicemail/impl/res/values-no/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-no/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Talepostkasse (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Talepost"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrering"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrering"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Lyd"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Avanserte innstillinger"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuell talepostkasse"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra sikkerhetskopi og lagring"</string>
diff --git a/java/com/android/voicemail/impl/res/values-pa/strings.xml b/java/com/android/voicemail/impl/res/values-pa/strings.xml
index ec68867..b7711b9 100644
--- a/java/com/android/voicemail/impl/res/values-pa/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pa/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"ਵੌਇਸਮੇਲ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"ਵੌਇਸਮੇਲ"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"ਵਾਈਬ੍ਰੇਟ ਕਰੋ"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"ਵਾਈਬ੍ਰੇਟ ਕਰੋ"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ਧੁਨੀ"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"ਉੱਨਤ ਸੈਟਿੰਗਾਂ"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ਦ੍ਰਿਸ਼ਟਾਂਤਕ ਵੌਇਸਮੇਲ"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ਵਾਧੂ ਬੈਕਅੱਪ ਅਤੇ ਸਟੋਰੇਜ"</string>
diff --git a/java/com/android/voicemail/impl/res/values-pl/strings.xml b/java/com/android/voicemail/impl/res/values-pl/strings.xml
index 25b8914..d240f7d 100644
--- a/java/com/android/voicemail/impl/res/values-pl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pl/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Poczta głosowa (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Poczta głosowa"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Wibracje"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Wibracje"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Dźwięk"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Ustawienia zaawansowane"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Wizualna poczta głosowa"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Dodatkowe miejsce i kopia zapasowa"</string>
diff --git a/java/com/android/voicemail/impl/res/values-pt-rBR/strings.xml b/java/com/android/voicemail/impl/res/values-pt-rBR/strings.xml
index c93402e..501924a 100644
--- a/java/com/android/voicemail/impl/res/values-pt-rBR/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pt-rBR/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Correio de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Correio de voz"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibração"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibração"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Som"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Configurações avançadas"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Correio de voz visual"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Armazenamento extra e backup"</string>
diff --git a/java/com/android/voicemail/impl/res/values-pt-rPT/strings.xml b/java/com/android/voicemail/impl/res/values-pt-rPT/strings.xml
index 00ed033..d443329 100644
--- a/java/com/android/voicemail/impl/res/values-pt-rPT/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pt-rPT/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Correio de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Correio de voz"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrar"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrar"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Som"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Definições avançadas"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Mensagem de correio de voz visual"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Cópia de segurança e armazenamento extra"</string>
diff --git a/java/com/android/voicemail/impl/res/values-pt/strings.xml b/java/com/android/voicemail/impl/res/values-pt/strings.xml
index c93402e..501924a 100644
--- a/java/com/android/voicemail/impl/res/values-pt/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pt/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Correio de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Correio de voz"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibração"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibração"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Som"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Configurações avançadas"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Correio de voz visual"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Armazenamento extra e backup"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ro/strings.xml b/java/com/android/voicemail/impl/res/values-ro/strings.xml
index 9099065..44bfd0d 100644
--- a/java/com/android/voicemail/impl/res/values-ro/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ro/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Mesagerie vocală (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Mesagerie vocală"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrații"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrații"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Sunet"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Setări avansate"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Mesagerie vocală vizuală"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Backup și spațiu de stocare suplimentare"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ru/strings.xml b/java/com/android/voicemail/impl/res/values-ru/strings.xml
index 322b41b..b0512f8 100644
--- a/java/com/android/voicemail/impl/res/values-ru/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ru/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Голосовая почта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Голосовая почта"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Вибросигнал"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Вибросигнал"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Звук"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Расширенные настройки"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуальная голосовая почта"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Дополнительное место для хранения и резервного копирования"</string>
diff --git a/java/com/android/voicemail/impl/res/values-si/strings.xml b/java/com/android/voicemail/impl/res/values-si/strings.xml
index 8ad6f87..ff16e61 100644
--- a/java/com/android/voicemail/impl/res/values-si/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-si/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"හඬ තැපෑල (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"හඬ තැපෑල"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"කම්පනය"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"කම්පනය කරන්න"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"හඬ"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"උසස් සැකසීම්"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"දෘශ්‍ය හඬ තැපෑල"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"අතිරේක උපස්ථය සහ ගබඩාව"</string>
diff --git a/java/com/android/voicemail/impl/res/values-sk/strings.xml b/java/com/android/voicemail/impl/res/values-sk/strings.xml
index 80252d4..a824ca8 100644
--- a/java/com/android/voicemail/impl/res/values-sk/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sk/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Hlasová schránka <xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Hlasová schránka"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrovať"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrovať"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Zvuk"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Rozšírené nastavenia"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuálna hlasová schránka"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ďalšie zálohovanie a úložisko"</string>
diff --git a/java/com/android/voicemail/impl/res/values-sl/strings.xml b/java/com/android/voicemail/impl/res/values-sl/strings.xml
index b634d15..6ad9569 100644
--- a/java/com/android/voicemail/impl/res/values-sl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sl/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Sporočilo v odzivniku (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Sporočilo v odzivniku"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibriranje"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibriranje"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Zvok"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Dodatne nastavitve"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizualno sporočilo v odzivniku"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Dodatno varnostno kopiranje in shramba"</string>
diff --git a/java/com/android/voicemail/impl/res/values-sq/strings.xml b/java/com/android/voicemail/impl/res/values-sq/strings.xml
index 59db0fd..b9dfad9 100644
--- a/java/com/android/voicemail/impl/res/values-sq/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sq/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Posta zanore (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Posta zanore"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Dridhje"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Dridhje"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Tingulli"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Cilësimet e përparuara"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Posta zanore vizuale"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Rezervimi dhe hapësira ruajtëse shtesë"</string>
diff --git a/java/com/android/voicemail/impl/res/values-sr/strings.xml b/java/com/android/voicemail/impl/res/values-sr/strings.xml
index d4998ed..3608263 100644
--- a/java/com/android/voicemail/impl/res/values-sr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sr/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Говорна пошта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Говорна пошта"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Вибрација"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Вибрација"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Звук"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Напредна подешавања"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуелна говорна пошта"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Додатне резервне копије и простор"</string>
diff --git a/java/com/android/voicemail/impl/res/values-sv/strings.xml b/java/com/android/voicemail/impl/res/values-sv/strings.xml
index c69a2df..6818b39 100644
--- a/java/com/android/voicemail/impl/res/values-sv/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sv/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Röstbrevlåda (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Röstbrevlåda"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Vibrera"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Vibrera"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Ljud"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Avancerade inställningar"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuell röstbrevlåda"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra säkerhetskopiering och lagring"</string>
diff --git a/java/com/android/voicemail/impl/res/values-sw/strings.xml b/java/com/android/voicemail/impl/res/values-sw/strings.xml
index d1cccc7..b08db9a 100644
--- a/java/com/android/voicemail/impl/res/values-sw/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sw/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Ujumbe wa sauti (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Ujumbe wa sauti"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Mtetemo"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Tetema"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Mlio"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Mipangilio ya Kina"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Ujumbe wa Sauti Unaoonekana"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Nafasi ya ziada na hifadhi rudufu"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ta/strings.xml b/java/com/android/voicemail/impl/res/values-ta/strings.xml
index 0c3c454..f240cdd 100644
--- a/java/com/android/voicemail/impl/res/values-ta/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ta/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"குரலஞ்சல் (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"குரலஞ்சல்"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"அதிர்வுறுதல்"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"அதிர்வுறு"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ஒலி"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"மேம்பட்ட அமைப்புகள்"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"விஷூவல் குரலஞ்சல்"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"கூடுதல் காப்புப் பிரதியும் சேமிப்பகமும்"</string>
diff --git a/java/com/android/voicemail/impl/res/values-te/strings.xml b/java/com/android/voicemail/impl/res/values-te/strings.xml
index 7a865f4..038ed98 100644
--- a/java/com/android/voicemail/impl/res/values-te/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-te/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"వాయిస్ మెయిల్ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"వాయిస్ మెయిల్"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"వైబ్రేషన్"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"వైబ్రేషన్"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"ధ్వని"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"అధునాతన సెట్టింగ్‌లు"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"దృశ్యమాన వాయిస్ మెయిల్"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"అదనపు బ్యాకప్ మరియు నిల్వ"</string>
diff --git a/java/com/android/voicemail/impl/res/values-th/strings.xml b/java/com/android/voicemail/impl/res/values-th/strings.xml
index 68b32fb..d4f5270 100644
--- a/java/com/android/voicemail/impl/res/values-th/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-th/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"ข้อความเสียง (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"ข้อความเสียง"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"สั่น"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"สั่น"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"เสียง"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"การตั้งค่าขั้นสูง"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ภาพแสดงข้อความเสียง"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"การสำรองข้อมูลและพื้นที่เก็บข้อมูลเพิ่มเติม"</string>
diff --git a/java/com/android/voicemail/impl/res/values-tl/strings.xml b/java/com/android/voicemail/impl/res/values-tl/strings.xml
index c14919c..184f27e 100644
--- a/java/com/android/voicemail/impl/res/values-tl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-tl/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Voicemail"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"I-vibrate"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"I-vibrate"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Tunog"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Mga Advanced na Setting"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visual na Voicemail"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Karagdagang backup at storage"</string>
diff --git a/java/com/android/voicemail/impl/res/values-tr/strings.xml b/java/com/android/voicemail/impl/res/values-tr/strings.xml
index e8f9336..2b36fba 100644
--- a/java/com/android/voicemail/impl/res/values-tr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-tr/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Sesli mesaj (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Sesli mesaj"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Titreşim"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Titreşim"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Ses"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Gelişmiş Ayarlar"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Görsel Sesli Mesaj"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra yedekleme ve depolama alanı"</string>
diff --git a/java/com/android/voicemail/impl/res/values-uk/strings.xml b/java/com/android/voicemail/impl/res/values-uk/strings.xml
index 760177c..5e4ab77 100644
--- a/java/com/android/voicemail/impl/res/values-uk/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-uk/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Голосова пошта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Голосова пошта"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Вібросигнал"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Вібросигнал"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Звук"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Розширені налаштування"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Візуальна голосова пошта"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Додаткова пам’ять і резервне копіювання"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ur/strings.xml b/java/com/android/voicemail/impl/res/values-ur/strings.xml
index 2105fae..ae6e98d 100644
--- a/java/com/android/voicemail/impl/res/values-ur/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ur/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"صوتی میل (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"صوتی میل"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"ارتعاش"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"ارتعاش"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"آواز"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"اعلی ترتیبات"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"بصری صوتی میل"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"اضافی بیک اپ اور اسٹوریج"</string>
diff --git a/java/com/android/voicemail/impl/res/values-uz/strings.xml b/java/com/android/voicemail/impl/res/values-uz/strings.xml
index fad7916..f458aee 100644
--- a/java/com/android/voicemail/impl/res/values-uz/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-uz/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Ovozli pochta (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Ovozli pochta"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Tebranish"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Tebranish"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Ovoz"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Kengaytirilgan sozlamalar"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizual ovozli pochta"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Zaxira. va saqlash u-n qo‘shimcha xotira"</string>
diff --git a/java/com/android/voicemail/impl/res/values-vi/strings.xml b/java/com/android/voicemail/impl/res/values-vi/strings.xml
index 1d029ea..c0bfa81 100644
--- a/java/com/android/voicemail/impl/res/values-vi/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-vi/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Thư thoại <xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Thư thoại"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Rung"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Rung"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Âm báo"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Cài đặt nâng cao"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Thư thoại kèm theo hình ảnh"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Bộ nhớ và bản sao lưu bổ sung"</string>
diff --git a/java/com/android/voicemail/impl/res/values-zh-rCN/strings.xml b/java/com/android/voicemail/impl/res/values-zh-rCN/strings.xml
index d70f1fa..66b058b 100644
--- a/java/com/android/voicemail/impl/res/values-zh-rCN/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-zh-rCN/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"语音邮件(<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"语音邮件"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"振动"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"振动"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"提示音"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"高级设置"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"可视语音信箱"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"额外存储空间和备份功能"</string>
diff --git a/java/com/android/voicemail/impl/res/values-zh-rHK/strings.xml b/java/com/android/voicemail/impl/res/values-zh-rHK/strings.xml
index 4adc3fd..d760687 100644
--- a/java/com/android/voicemail/impl/res/values-zh-rHK/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-zh-rHK/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"留言 (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"留言"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"震動"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"震動"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"音效"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"進階設定"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"視像留言"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"額外備份功能和儲存空間"</string>
diff --git a/java/com/android/voicemail/impl/res/values-zh-rTW/strings.xml b/java/com/android/voicemail/impl/res/values-zh-rTW/strings.xml
index 6ff084f..2b4de45 100644
--- a/java/com/android/voicemail/impl/res/values-zh-rTW/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-zh-rTW/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"語音信箱 (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"語音信箱"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"震動"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"震動"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"音效"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"進階設定"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"視覺化語音信箱"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"額外的備份功能和儲存空間"</string>
diff --git a/java/com/android/voicemail/impl/res/values-zu/strings.xml b/java/com/android/voicemail/impl/res/values-zu/strings.xml
index 5adf300..1debac6 100644
--- a/java/com/android/voicemail/impl/res/values-zu/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-zu/strings.xml
@@ -18,9 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="voicemail_settings_with_label" msgid="563926539137546586">"Ivoyisimeyili (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_settings_title" msgid="6685263321755930738">"Ivoyisimeyili"</string>
-    <string name="voicemail_notification_vibrate_when_title" msgid="1017489970564669402">"Dlidlizela"</string>
-    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="913495075516305202">"Dlidlizela"</string>
-    <string name="voicemail_notification_ringtone_title" msgid="7516921280035140960">"Umsindo"</string>
+    <!-- no translation found for voicemail_notifications_preference_title (3490553930230492405) -->
+    <skip />
     <string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Izilungiselelo ezithuthukisiwe"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Ivoyisimeyili ebonakalayo"</string>
     <string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Isipele esingeziwe nesitoreji"</string>
diff --git a/java/com/android/voicemail/impl/res/values/strings.xml b/java/com/android/voicemail/impl/res/values/strings.xml
index bb754d1..375a1e9 100644
--- a/java/com/android/voicemail/impl/res/values/strings.xml
+++ b/java/com/android/voicemail/impl/res/values/strings.xml
@@ -23,19 +23,12 @@
   <string name="voicemail_settings_title">Voicemail</string>
 
   <!-- DO NOT TRANSLATE. Internal key for a voicemail notification preference. -->
-  <string name="voicemail_notification_ringtone_key" translatable="false">voicemail_notification_ringtone_key</string>
-  <!-- DO NOT TRANSLATE. Internal key for a voicemail notification preference. -->
-  <string name="voicemail_notification_vibrate_key" translatable="false">voicemail_notification_vibrate_key</string>
+  <string name="voicemail_notifications_key" translatable="false">voicemail_notification_key</string>
 
-  <!-- Title for the vibration settings for voicemail notifications [CHAR LIMIT=40] -->
-  <string name="voicemail_notification_vibrate_when_title">Vibrate</string>
-  <!-- Dialog title for the vibration settings for voice mail notifications [CHAR LIMIT=40]-->
-  <string name="voicemail_notification_vibarte_when_dialog_title">Vibrate</string>
-
-  <!-- Voicemail ringtone title. The user clicks on this preference to select
-         which sound to play when a voicemail notification is received.
+  <!-- Voicemail notifications title. The user clicks on this preference to select
+         which sound to play and whether to vibrate when a voicemail notification is received.
          [CHAR LIMIT=30] -->
-  <string name="voicemail_notification_ringtone_title">Sound</string>
+  <string name="voicemail_notifications_preference_title">Notifications</string>
   <string name="voicemail_advanced_settings_key" translatable="false">voicemail_advanced_settings_key</string>
 
   <!-- Title for advanced settings in the voicemail settings -->
diff --git a/java/com/android/voicemail/impl/res/xml/voicemail_settings.xml b/java/com/android/voicemail/impl/res/xml/voicemail_settings.xml
index 53fd57f..5051090 100644
--- a/java/com/android/voicemail/impl/res/xml/voicemail_settings.xml
+++ b/java/com/android/voicemail/impl/res/xml/voicemail_settings.xml
@@ -17,16 +17,9 @@
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
   android:title="@string/voicemail_settings_title">
 
-  <com.android.voicemail.impl.settings.VoicemailRingtonePreference
-    android:key="@string/voicemail_notification_ringtone_key"
-    android:title="@string/voicemail_notification_ringtone_title"
-    android:persistent="false"
-    android:ringtoneType="notification" />
-
-  <CheckBoxPreference
-    android:key="@string/voicemail_notification_vibrate_key"
-    android:title="@string/voicemail_notification_vibrate_when_title"
-    android:persistent="true" />
+  <Preference
+      android:key="@string/voicemail_notifications_key"
+      android:title="@string/voicemail_notifications_preference_title"/>
 
   <SwitchPreference
     android:key="@string/voicemail_visual_voicemail_key"
diff --git a/java/com/android/voicemail/impl/scheduling/BaseTask.java b/java/com/android/voicemail/impl/scheduling/BaseTask.java
index 0144e34..bbdca8c 100644
--- a/java/com/android/voicemail/impl/scheduling/BaseTask.java
+++ b/java/com/android/voicemail/impl/scheduling/BaseTask.java
@@ -133,7 +133,7 @@
   }
 
   /**
-   * Creates an intent that can be used to start the {@link TaskSchedulerService}. Derived class
+   * Creates an intent that can be used to be broadcast to the {@link TaskReceiver}. Derived class
    * should build their intent upon this.
    */
   public static Intent createIntent(
diff --git a/java/com/android/voicemail/impl/scheduling/MinimalIntervalPolicy.java b/java/com/android/voicemail/impl/scheduling/MinimalIntervalPolicy.java
index 76fba4f..342b56e 100644
--- a/java/com/android/voicemail/impl/scheduling/MinimalIntervalPolicy.java
+++ b/java/com/android/voicemail/impl/scheduling/MinimalIntervalPolicy.java
@@ -51,7 +51,7 @@
           BaseTask.createIntent(mTask.getContext(), BlockerTask.class, mId.phoneAccountHandle);
       intent.putExtra(BlockerTask.EXTRA_TASK_ID, mId.id);
       intent.putExtra(BlockerTask.EXTRA_BLOCK_FOR_MILLIS, mBlockForMillis);
-      mTask.getContext().startService(intent);
+      mTask.getContext().sendBroadcast(intent);
     }
   }
 
diff --git a/java/com/android/voicemail/impl/scheduling/RetryPolicy.java b/java/com/android/voicemail/impl/scheduling/RetryPolicy.java
index b8703ea..c408bdc 100644
--- a/java/com/android/voicemail/impl/scheduling/RetryPolicy.java
+++ b/java/com/android/voicemail/impl/scheduling/RetryPolicy.java
@@ -99,7 +99,7 @@
     Intent intent = mTask.createRestartIntent();
     intent.putExtra(EXTRA_RETRY_COUNT, mRetryCount + 1);
 
-    mTask.getContext().startService(intent);
+    mTask.getContext().sendBroadcast(intent);
   }
 
   @Override
diff --git a/java/com/android/voicemail/impl/scheduling/Task.java b/java/com/android/voicemail/impl/scheduling/Task.java
index 447a9db..484a626 100644
--- a/java/com/android/voicemail/impl/scheduling/Task.java
+++ b/java/com/android/voicemail/impl/scheduling/Task.java
@@ -24,8 +24,8 @@
 import java.util.Objects;
 
 /**
- * A task for {@link TaskSchedulerService} to execute. Since the task is sent through a bundle to
- * the scheduler, The task must be constructable with the bundle. Specifically, It must have a
+ * A task for {@link TaskExecutor} to execute. Since the task is sent through a bundle to the
+ * scheduler, The task must be constructable with the bundle. Specifically, It must have a
  * constructor with zero arguments, and have all relevant data packed inside the bundle. Use {@link
  * Tasks#createIntent(Context, Class)} to create a intent that will construct the Task.
  *
@@ -112,8 +112,8 @@
 
   /**
    * @return number of milliSeconds the scheduler should wait before running this task. A value less
-   *     than {@link TaskSchedulerService#READY_TOLERANCE_MILLISECONDS} will be considered ready. If
-   *     no tasks are ready, the scheduler will sleep for this amount of time before doing another
+   *     than {@link TaskExecutor#READY_TOLERANCE_MILLISECONDS} will be considered ready. If no
+   *     tasks are ready, the scheduler will sleep for this amount of time before doing another
    *     check (it will still wake if a new task is added). The first task in the queue that is
    *     ready will be executed.
    */
diff --git a/java/com/android/voicemail/impl/scheduling/TaskExecutor.java b/java/com/android/voicemail/impl/scheduling/TaskExecutor.java
new file mode 100644
index 0000000..84dc1db
--- /dev/null
+++ b/java/com/android/voicemail/impl/scheduling/TaskExecutor.java
@@ -0,0 +1,455 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.voicemail.impl.scheduling;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Build.VERSION_CODES;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.support.annotation.MainThread;
+import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
+import android.support.annotation.WorkerThread;
+import com.android.voicemail.impl.Assert;
+import com.android.voicemail.impl.NeededForTesting;
+import com.android.voicemail.impl.VvmLog;
+import com.android.voicemail.impl.scheduling.TaskQueue.NextTask;
+import java.util.List;
+
+/**
+ * A singleton to queue and run {@link Task} with the {@link android.app.job.JobScheduler}. A task
+ * is queued by sending a broadcast to {@link TaskReceiver}. The intent should contain enough
+ * information in {@link Intent#getExtras()} to construct the task (see {@link
+ * Tasks#createIntent(Context, Class)}).
+ *
+ * <p>The executor will only exist when {@link TaskSchedulerJobService} is running.
+ *
+ * <p>All tasks are ran in the background with a wakelock being held by the {@link
+ * android.app.job.JobScheduler}, which is between {@link #onStartJob(Job, List)} and {@link
+ * #finishJobAsync()}. The {@link TaskSchedulerJobService} also has a {@link TaskQueue}, but the
+ * data is stored in the {@link android.app.job.JobScheduler} instead of the process memory, so if
+ * the process is killed the queued tasks will be restored. If a new task is added, a new {@link
+ * TaskSchedulerJobService} will be scheduled to run the task. If the job is already scheduled, the
+ * new task will be pushed into the queue of the scheduled job. If the job is already running, the
+ * job will be queued in process memory.
+ *
+ * <p>Only one task will be ran at a time, and same task cannot exist in the queue at the same time.
+ * Refer to {@link TaskQueue} for queuing and execution order.
+ *
+ * <p>If there are still tasks in the queue but none are executable immediately, the service will
+ * enter a "sleep", pushing all remaining task into a new job and end the current job.
+ *
+ * <p>The executor will be started when {@link TaskSchedulerJobService} is running, and stopped when
+ * there are no more tasks in the queue or when the executor is put to sleep.
+ *
+ * <p>{@link android.app.job.JobScheduler} is not used directly due to:
+ *
+ * <ul>
+ *   <li>The {@link android.telecom.PhoneAccountHandle} used to differentiate task can not be easily
+ *       mapped into an integer for job id
+ *   <li>A job cannot be mutated to store information such as retry count.
+ * </ul>
+ */
+@TargetApi(VERSION_CODES.O)
+final class TaskExecutor {
+
+  /**
+   * An entity that holds execution resources for the {@link TaskExecutor} to run, usually a {@link
+   * android.app.job.JobService}.
+   */
+  interface Job {
+
+    /**
+     * Signals to Job to end and release its' resources. This is an asynchronous call and may not
+     * take effect immediately.
+     */
+    @MainThread
+    void finishAsync();
+
+    /** Whether the call to {@link #finishAsync()} has actually taken effect. */
+    @MainThread
+    boolean isFinished();
+  }
+
+  private static final String TAG = "VvmTaskExecutor";
+
+  private static final int READY_TOLERANCE_MILLISECONDS = 100;
+
+  /**
+   * Threshold to determine whether to do a short or long sleep when a task is scheduled in the
+   * future.
+   *
+   * <p>A short sleep will continue the job and use {@link Handler#postDelayed(Runnable, long)} to
+   * wait for the next task.
+   *
+   * <p>A long sleep will finish the job and schedule a new one. The exact execution time is
+   * subjected to {@link android.app.job.JobScheduler} battery optimization, and is not exact.
+   */
+  private static final int SHORT_SLEEP_THRESHOLD_MILLISECONDS = 10_000;
+  /**
+   * When there are no more tasks to be run the service should be stopped. But when all tasks has
+   * finished there might still be more tasks in the message queue waiting to be processed,
+   * especially the ones submitted in {@link Task#onCompleted()}. Wait for a while before stopping
+   * the service to make sure there are no pending messages.
+   */
+  private static final int STOP_DELAY_MILLISECONDS = 5_000;
+
+  /** Interval between polling of whether the job is finished. */
+  private static final int TERMINATE_POLLING_INTERVAL_MILLISECONDS = 1_000;
+
+  // The thread to run tasks on
+  private final WorkerThreadHandler workerThreadHandler;
+
+  private static TaskExecutor instance;
+
+  /**
+   * Used by tests to turn task handling into a single threaded process by calling {@link
+   * Handler#handleMessage(Message)} directly
+   */
+  private MessageSender messageSender = new MessageSender();
+
+  private final MainThreadHandler mainThreadHandler;
+
+  private final Context context;
+
+  /** Main thread only, access through {@link #getTasks()} */
+  private final TaskQueue tasks = new TaskQueue();
+
+  private boolean isWorkerThreadBusy = false;
+
+  private boolean isTerminating = false;
+
+  private Job job;
+
+  private final Runnable stopServiceWithDelay =
+      new Runnable() {
+        @MainThread
+        @Override
+        public void run() {
+          VvmLog.i(TAG, "Stopping service");
+          if (!isJobRunning() || isTerminating()) {
+            VvmLog.e(TAG, "Service already stopped");
+            return;
+          }
+          scheduleJobAndTerminate(0, true);
+        }
+      };
+
+  /**
+   * Reschedule the {@link TaskSchedulerJobService} and terminate the executor when the {@link Job}
+   * is truly finished. If the job is still not finished, this runnable will requeue itself on the
+   * main thread. The requeue is only expected to happen a few times.
+   */
+  private class JobFinishedPoller implements Runnable {
+
+    private final long delayMillis;
+    private final boolean isNewJob;
+    private int invocationCounter = 0;
+
+    JobFinishedPoller(long delayMillis, boolean isNewJob) {
+      this.delayMillis = delayMillis;
+      this.isNewJob = isNewJob;
+    }
+
+    @Override
+    public void run() {
+      // The job should be finished relatively quickly. Assert to make sure this assumption is true.
+      Assert.isTrue(invocationCounter < 10);
+      invocationCounter++;
+      if (job.isFinished()) {
+        VvmLog.i("JobFinishedPoller.run", "Job finished");
+        if (!getTasks().isEmpty()) {
+          TaskSchedulerJobService.scheduleJob(
+              context, serializePendingTasks(), delayMillis, isNewJob);
+          tasks.clear();
+        }
+        terminate();
+        return;
+      }
+      VvmLog.w("JobFinishedPoller.run", "Job still running");
+      mainThreadHandler.postDelayed(this, TERMINATE_POLLING_INTERVAL_MILLISECONDS);
+    }
+  };
+
+  /** Should attempt to run the next task when a task has finished or been added. */
+  private boolean taskAutoRunDisabledForTesting = false;
+
+  @VisibleForTesting
+  final class WorkerThreadHandler extends Handler {
+
+    public WorkerThreadHandler(Looper looper) {
+      super(looper);
+    }
+
+    @Override
+    @WorkerThread
+    public void handleMessage(Message msg) {
+      Assert.isNotMainThread();
+      Task task = (Task) msg.obj;
+      try {
+        VvmLog.i(TAG, "executing task " + task);
+        task.onExecuteInBackgroundThread();
+      } catch (Throwable throwable) {
+        VvmLog.e(TAG, "Exception while executing task " + task + ":", throwable);
+      }
+
+      Message schedulerMessage = mainThreadHandler.obtainMessage();
+      schedulerMessage.obj = task;
+      messageSender.send(schedulerMessage);
+    }
+  }
+
+  @VisibleForTesting
+  final class MainThreadHandler extends Handler {
+
+    public MainThreadHandler(Looper looper) {
+      super(looper);
+    }
+
+    @Override
+    @MainThread
+    public void handleMessage(Message msg) {
+      Assert.isMainThread();
+      Task task = (Task) msg.obj;
+      getTasks().remove(task);
+      task.onCompleted();
+      isWorkerThreadBusy = false;
+      maybeRunNextTask();
+    }
+  }
+
+  /** Starts a new TaskExecutor. May only be called by {@link TaskSchedulerJobService}. */
+  @MainThread
+  static void createRunningInstance(Context context) {
+    Assert.isMainThread();
+    Assert.isTrue(instance == null);
+    instance = new TaskExecutor(context);
+  }
+
+  /** @return the currently running instance, or {@code null} if the executor is not running. */
+  @MainThread
+  @Nullable
+  static TaskExecutor getRunningInstance() {
+    return instance;
+  }
+
+  private TaskExecutor(Context context) {
+    this.context = context;
+    HandlerThread thread = new HandlerThread("VvmTaskExecutor");
+    thread.start();
+
+    workerThreadHandler = new WorkerThreadHandler(thread.getLooper());
+    mainThreadHandler = new MainThreadHandler(Looper.getMainLooper());
+  }
+
+  @VisibleForTesting
+  void terminate() {
+    VvmLog.i(TAG, "terminated");
+    Assert.isMainThread();
+    job = null;
+    workerThreadHandler.getLooper().quit();
+    instance = null;
+    TaskReceiver.resendDeferredBroadcasts(context);
+  }
+
+  @MainThread
+  void addTask(Task task) {
+    Assert.isMainThread();
+    getTasks().add(task);
+    VvmLog.i(TAG, task + " added");
+    mainThreadHandler.removeCallbacks(stopServiceWithDelay);
+    maybeRunNextTask();
+  }
+
+  @MainThread
+  @VisibleForTesting
+  TaskQueue getTasks() {
+    Assert.isMainThread();
+    return tasks;
+  }
+
+  @MainThread
+  private void maybeRunNextTask() {
+    Assert.isMainThread();
+    if (isWorkerThreadBusy) {
+      return;
+    }
+    if (taskAutoRunDisabledForTesting) {
+      // If taskAutoRunDisabledForTesting is true, runNextTask() must be explicitly called
+      // to run the next task.
+      return;
+    }
+
+    runNextTask();
+  }
+
+  @VisibleForTesting
+  @MainThread
+  void runNextTask() {
+    Assert.isMainThread();
+    if (getTasks().isEmpty()) {
+      prepareStop();
+      return;
+    }
+    NextTask nextTask = getTasks().getNextTask(READY_TOLERANCE_MILLISECONDS);
+
+    if (nextTask.task != null) {
+      nextTask.task.onBeforeExecute();
+      Message message = workerThreadHandler.obtainMessage();
+      message.obj = nextTask.task;
+      isWorkerThreadBusy = true;
+      messageSender.send(message);
+      return;
+    }
+    VvmLog.i(TAG, "minimal wait time:" + nextTask.minimalWaitTimeMillis);
+    if (!taskAutoRunDisabledForTesting && nextTask.minimalWaitTimeMillis != null) {
+      // No tasks are currently ready. Sleep until the next one should be.
+      // If a new task is added during the sleep the service will wake immediately.
+      sleep(nextTask.minimalWaitTimeMillis);
+    }
+  }
+
+  @MainThread
+  private void sleep(long timeMillis) {
+    VvmLog.i(TAG, "sleep for " + timeMillis + " millis");
+    if (timeMillis < SHORT_SLEEP_THRESHOLD_MILLISECONDS) {
+      mainThreadHandler.postDelayed(
+          new Runnable() {
+            @Override
+            public void run() {
+              maybeRunNextTask();
+            }
+          },
+          timeMillis);
+      return;
+    }
+    scheduleJobAndTerminate(timeMillis, false);
+  }
+
+  private List<Bundle> serializePendingTasks() {
+    return getTasks().toBundles();
+  }
+
+  private void prepareStop() {
+    VvmLog.i(
+        TAG,
+        "no more tasks, stopping service if no task are added in "
+            + STOP_DELAY_MILLISECONDS
+            + " millis");
+    mainThreadHandler.postDelayed(stopServiceWithDelay, STOP_DELAY_MILLISECONDS);
+  }
+
+  @NeededForTesting
+  static class MessageSender {
+
+    public void send(Message message) {
+      message.sendToTarget();
+    }
+  }
+
+  @NeededForTesting
+  void setTaskAutoRunDisabledForTest(boolean value) {
+    taskAutoRunDisabledForTesting = value;
+  }
+
+  @NeededForTesting
+  void setMessageSenderForTest(MessageSender sender) {
+    messageSender = sender;
+  }
+
+  /**
+   * The {@link TaskSchedulerJobService} has started and all queued task should be executed in the
+   * worker thread.
+   */
+  @MainThread
+  public void onStartJob(Job job, List<Bundle> pendingTasks) {
+    VvmLog.i(TAG, "onStartJob");
+    this.job = job;
+    tasks.fromBundles(context, pendingTasks);
+    maybeRunNextTask();
+  }
+
+  /**
+   * The {@link TaskSchedulerJobService} is being terminated by the system (timeout or network
+   * lost). A new job will be queued to resume all pending tasks. The current unfinished job may be
+   * ran again.
+   */
+  @MainThread
+  public void onStopJob() {
+    VvmLog.e(TAG, "onStopJob");
+    if (isJobRunning() && !isTerminating()) {
+      scheduleJobAndTerminate(0, true);
+    }
+  }
+
+  /**
+   * Send all pending tasks and schedule a new {@link TaskSchedulerJobService}. The current executor
+   * will start the termination process, but restarted when the scheduled job runs in the future.
+   *
+   * @param delayMillis the delay before stating the job, see {@link
+   *     android.app.job.JobInfo.Builder#setMinimumLatency(long)}. This must be 0 if {@code
+   *     isNewJob} is true.
+   * @param isNewJob a new job will be requested to run immediately, bypassing all requirements.
+   */
+  @MainThread
+  @VisibleForTesting
+  void scheduleJobAndTerminate(long delayMillis, boolean isNewJob) {
+    Assert.isMainThread();
+    finishJobAsync();
+    mainThreadHandler.post(new JobFinishedPoller(delayMillis, isNewJob));
+  }
+
+  /**
+   * Whether the TaskExecutor is still terminating. {@link TaskReceiver} should defer all new task
+   * until {@link #getRunningInstance()} returns {@code null} so a new job can be started. {@link
+   * #scheduleJobAndTerminate(long, boolean)} does not run immediately because the job can only be
+   * scheduled after the main thread has returned. The TaskExecutor will be in a intermediate state
+   * between scheduleJobAndTerminate() and terminate(). In this state, {@link #getRunningInstance()}
+   * returns non-null because it has not been fully stopped yet, but the TaskExecutor cannot do
+   * anything. A new job should not be scheduled either because the current job might still be
+   * running.
+   */
+  @MainThread
+  public boolean isTerminating() {
+    return isTerminating;
+  }
+
+  /**
+   * Signals {@link TaskSchedulerJobService} the current session of tasks has finished, and the wake
+   * lock can be released. Note: this only takes effect after the main thread has been returned. If
+   * a new job need to be scheduled, it should be posted on the main thread handler instead of
+   * calling directly.
+   */
+  @MainThread
+  private void finishJobAsync() {
+    Assert.isTrue(!isTerminating());
+    Assert.isMainThread();
+    VvmLog.i(TAG, "finishing Job");
+    job.finishAsync();
+    isTerminating = true;
+    mainThreadHandler.removeCallbacks(stopServiceWithDelay);
+  }
+
+  private boolean isJobRunning() {
+    return job != null;
+  }
+}
diff --git a/java/com/android/voicemail/impl/scheduling/TaskReceiver.java b/java/com/android/voicemail/impl/scheduling/TaskReceiver.java
new file mode 100644
index 0000000..00d36d0
--- /dev/null
+++ b/java/com/android/voicemail/impl/scheduling/TaskReceiver.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.voicemail.impl.scheduling;
+
+import android.annotation.TargetApi;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Build.VERSION_CODES;
+import android.os.Bundle;
+import com.android.voicemail.impl.VvmLog;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * BroadcastReceiver to queue and run {@link Task} with the {@link android.app.job.JobScheduler}. A
+ * task is queued using a explicit broadcast to this receiver. The intent should contain enough
+ * information in {@link Intent#getExtras()} to construct the task (see {@link
+ * Tasks#createIntent(Context, Class)}). The task will be queued directly in {@link TaskExecutor} if
+ * it is already running, or in {@link TaskSchedulerJobService} if not.
+ */
+@TargetApi(VERSION_CODES.O)
+public class TaskReceiver extends BroadcastReceiver {
+
+  private static final String TAG = "VvmTaskReceiver";
+
+  private static final List<Intent> deferredBroadcasts = new ArrayList<>();
+
+  /**
+   * When {@link TaskExecutor#isTerminating()} is {@code true}, newly added tasks will be deferred
+   * to allow the TaskExecutor to terminate properly. After termination is completed this should be
+   * called to add the tasks again.
+   */
+  public static void resendDeferredBroadcasts(Context context) {
+    for (Intent intent : deferredBroadcasts) {
+      context.sendBroadcast(intent);
+    }
+  }
+
+  @Override
+  public void onReceive(Context context, Intent intent) {
+    if (intent == null) {
+      VvmLog.w(TAG, "null intent received");
+      return;
+    }
+    VvmLog.i(TAG, "task received");
+    TaskExecutor taskExecutor = TaskExecutor.getRunningInstance();
+    if (taskExecutor != null) {
+      VvmLog.i(TAG, "TaskExecutor already running");
+      if (taskExecutor.isTerminating()) {
+        // The current taskExecutor and cannot do anything and a new job cannot be scheduled. Defer
+        // the task until a new job can be scheduled.
+        VvmLog.w(TAG, "TaskExecutor is terminating, bouncing task");
+        deferredBroadcasts.add(intent);
+        return;
+      }
+      Task task = Tasks.createTask(context, intent.getExtras());
+      taskExecutor.addTask(task);
+    } else {
+      VvmLog.i(TAG, "scheduling new job");
+      List<Bundle> taskList = new ArrayList<>();
+      taskList.add(intent.getExtras());
+      TaskSchedulerJobService.scheduleJob(context, taskList, 0, true);
+    }
+  }
+}
diff --git a/java/com/android/voicemail/impl/scheduling/TaskSchedulerJobService.java b/java/com/android/voicemail/impl/scheduling/TaskSchedulerJobService.java
index eab410e..9bfce00 100644
--- a/java/com/android/voicemail/impl/scheduling/TaskSchedulerJobService.java
+++ b/java/com/android/voicemail/impl/scheduling/TaskSchedulerJobService.java
@@ -23,11 +23,8 @@
 import android.app.job.JobService;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
-import android.content.ServiceConnection;
 import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
-import android.os.IBinder;
 import android.os.Parcelable;
 import android.support.annotation.MainThread;
 import com.android.dialer.constants.ScheduledJobIds;
@@ -36,59 +33,42 @@
 import java.util.ArrayList;
 import java.util.List;
 
-/**
- * A {@link JobService} that will trigger the background execution of {@link TaskSchedulerService}.
- */
+/** A {@link JobService} that will trigger the background execution of {@link TaskExecutor}. */
 @TargetApi(VERSION_CODES.O)
-public class TaskSchedulerJobService extends JobService implements TaskSchedulerService.Job {
+public class TaskSchedulerJobService extends JobService implements TaskExecutor.Job {
 
   private static final String TAG = "TaskSchedulerJobService";
 
   private static final String EXTRA_TASK_EXTRAS_ARRAY = "extra_task_extras_array";
 
   private JobParameters jobParameters;
-  private TaskSchedulerService scheduler;
-
-  private final ServiceConnection mConnection =
-      new ServiceConnection() {
-
-        @Override
-        public void onServiceConnected(ComponentName className, IBinder binder) {
-          VvmLog.i(TAG, "TaskSchedulerService connected");
-          scheduler = ((TaskSchedulerService.LocalBinder) binder).getService();
-          scheduler.onStartJob(
-              TaskSchedulerJobService.this,
-              getBundleList(
-                  jobParameters.getTransientExtras().getParcelableArray(EXTRA_TASK_EXTRAS_ARRAY)));
-        }
-
-        @Override
-        public void onServiceDisconnected(ComponentName unused) {
-          // local service, process should always be killed together.
-          Assert.fail();
-        }
-      };
 
   @Override
   @MainThread
   public boolean onStartJob(JobParameters params) {
     jobParameters = params;
-    bindService(
-        new Intent(this, TaskSchedulerService.class), mConnection, Context.BIND_AUTO_CREATE);
+    TaskExecutor.createRunningInstance(this);
+    TaskExecutor.getRunningInstance()
+        .onStartJob(
+            this,
+            getBundleList(
+                jobParameters.getTransientExtras().getParcelableArray(EXTRA_TASK_EXTRAS_ARRAY)));
     return true /* job still running in background */;
   }
 
   @Override
   @MainThread
   public boolean onStopJob(JobParameters params) {
-    scheduler.onStopJob();
+    TaskExecutor.getRunningInstance().onStopJob();
     jobParameters = null;
-    return false /* don't reschedule. TaskScheduler service will post a new job */;
+    return false /* don't reschedule. TaskExecutor service will post a new job */;
   }
 
   /**
    * Schedule a job to run the {@code pendingTasks}. If a job is already scheduled it will be
-   * appended to the back of the queue and the job will be rescheduled.
+   * appended to the back of the queue and the job will be rescheduled. A job may only be scheduled
+   * when the {@link TaskExecutor} is not running ({@link TaskExecutor#getRunningInstance()}
+   * returning {@code null})
    *
    * @param delayMillis delay before running the job. Must be 0 if{@code isNewJob} is true.
    * @param isNewJob a new job will be forced to run immediately.
@@ -141,11 +121,19 @@
    * the wakelock
    */
   @Override
-  public void finish() {
-    VvmLog.i(TAG, "finishing job and unbinding TaskSchedulerService");
+  public void finishAsync() {
+    VvmLog.i(TAG, "finishing job");
     jobFinished(jobParameters, false);
     jobParameters = null;
-    unbindService(mConnection);
+  }
+
+  @MainThread
+  @Override
+  public boolean isFinished() {
+    Assert.isMainThread();
+    return getSystemService(JobScheduler.class)
+            .getPendingJob(ScheduledJobIds.VVM_TASK_SCHEDULER_JOB)
+        == null;
   }
 
   private static List<Bundle> getBundleList(Parcelable[] parcelables) {
diff --git a/java/com/android/voicemail/impl/scheduling/Tasks.java b/java/com/android/voicemail/impl/scheduling/Tasks.java
index 34debaf..76da3d7 100644
--- a/java/com/android/voicemail/impl/scheduling/Tasks.java
+++ b/java/com/android/voicemail/impl/scheduling/Tasks.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.support.annotation.NonNull;
 import com.android.voicemail.impl.VvmLog;
 
 /** Common operations on {@link Task} */
@@ -32,6 +33,7 @@
    * Create a task from a bundle. The bundle is created either with {@link #toBundle(Task)} or
    * {@link #createIntent(Context, Class)} from the target {@link Task}
    */
+  @NonNull
   public static Task createTask(Context context, Bundle extras) {
     // The extra contains custom parcelables which cannot be unmarshalled by the framework class
     // loader.
@@ -66,7 +68,8 @@
    * necessary information.
    */
   public static Intent createIntent(Context context, Class<? extends Task> task) {
-    Intent intent = new Intent(context, TaskSchedulerService.class);
+    Intent intent = new Intent(context, TaskReceiver.class);
+    intent.setPackage(context.getPackageName());
     intent.putExtra(EXTRA_CLASS_NAME, task.getName());
     return intent;
   }
diff --git a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
index 423fd11..ac5f3ca 100644
--- a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
+++ b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
@@ -17,7 +17,6 @@
 import android.content.Intent;
 import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
-import android.preference.CheckBoxPreference;
 import android.preference.Preference;
 import android.preference.Preference.OnPreferenceClickListener;
 import android.preference.PreferenceFragment;
@@ -29,6 +28,8 @@
 import com.android.dialer.common.Assert;
 import com.android.dialer.logging.DialerImpression;
 import com.android.dialer.logging.Logger;
+import com.android.dialer.notification.NotificationChannelManager;
+import com.android.dialer.notification.NotificationChannelManager.Channel;
 import com.android.voicemail.VoicemailClient;
 import com.android.voicemail.VoicemailComponent;
 import com.android.voicemail.impl.OmtpVvmCarrierConfigHelper;
@@ -43,7 +44,6 @@
 @TargetApi(VERSION_CODES.O)
 public class VoicemailSettingsFragment extends PreferenceFragment
     implements Preference.OnPreferenceChangeListener,
-        VoicemailRingtonePreference.VoicemailRingtoneNameChangeListener,
         VvmAccountManager.Listener {
 
   private static final String TAG = "VmSettingsActivity";
@@ -51,17 +51,12 @@
   @Nullable private PhoneAccountHandle phoneAccountHandle;
   private OmtpVvmCarrierConfigHelper omtpVvmCarrierConfigHelper;
 
-  private VoicemailRingtonePreference voicemailRingtonePreference;
-  private CheckBoxPreference voicemailVibration;
+  private Preference voicemailNotificationPreference;
   private SwitchPreference voicemailVisualVoicemail;
   private SwitchPreference autoArchiveSwitchPreference;
   private Preference voicemailChangePinPreference;
   private PreferenceScreen advancedSettings;
 
-  // The ringtone name is retrieved with an async call. Cache the old name so there will be no jank
-  // during transition.
-  private CharSequence oldRingtoneName = "";
-
   @Override
   public void onCreate(Bundle icicle) {
     super.onCreate(icicle);
@@ -86,12 +81,12 @@
 
     PreferenceScreen prefSet = getPreferenceScreen();
 
-    voicemailRingtonePreference =
-        (VoicemailRingtonePreference)
-            findPreference(getString(R.string.voicemail_notification_ringtone_key));
-    voicemailRingtonePreference.setVoicemailRingtoneNameChangeListener(this);
-    voicemailRingtonePreference.init(phoneAccountHandle, oldRingtoneName);
-    voicemailRingtonePreference.setOnPreferenceClickListener(
+    voicemailNotificationPreference =
+        findPreference(getString(R.string.voicemail_notifications_key));
+    voicemailNotificationPreference.setIntent(
+        NotificationChannelManager.getInstance()
+            .getSettingsIntentForChannel(getContext(), Channel.VOICEMAIL, phoneAccountHandle));
+    voicemailNotificationPreference.setOnPreferenceClickListener(
         new OnPreferenceClickListener() {
           @Override
           public boolean onPreferenceClick(Preference preference) {
@@ -102,24 +97,6 @@
           }
         });
 
-    voicemailVibration =
-        (CheckBoxPreference) findPreference(getString(R.string.voicemail_notification_vibrate_key));
-    voicemailVibration.setOnPreferenceChangeListener(this);
-    voicemailVibration.setChecked(
-        getContext()
-            .getSystemService(TelephonyManager.class)
-            .isVoicemailVibrationEnabled(phoneAccountHandle));
-    voicemailVibration.setOnPreferenceClickListener(
-        new OnPreferenceClickListener() {
-          @Override
-          public boolean onPreferenceClick(Preference preference) {
-            Logger.get(getContext())
-                .logImpression(DialerImpression.Type.VVM_CHANGE_VIBRATION_CLICKED);
-            // Let the preference handle the click.
-            return false;
-          }
-        });
-
     voicemailVisualVoicemail =
         (SwitchPreference) findPreference(getString(R.string.voicemail_visual_voicemail_key));
 
@@ -219,10 +196,6 @@
       logArchiveToggle((boolean) objValue);
       VisualVoicemailSettingsUtil.setArchiveEnabled(
           getContext(), phoneAccountHandle, (boolean) objValue);
-    } else if (preference.getKey().equals(voicemailVibration.getKey())) {
-      getContext()
-          .getSystemService(TelephonyManager.class)
-          .setVoicemailVibrationEnabled(phoneAccountHandle, (boolean) objValue);
     }
 
     // Always let the preference setting proceed.
@@ -255,11 +228,6 @@
   }
 
   @Override
-  public void onVoicemailRingtoneNameChanged(CharSequence name) {
-    oldRingtoneName = name;
-  }
-
-  @Override
   public void onActivationStateChanged(PhoneAccountHandle phoneAccountHandle, boolean isActivated) {
     if (this.phoneAccountHandle.equals(phoneAccountHandle)) {
       updateChangePin();
diff --git a/java/com/android/voicemail/impl/sms/OmtpMessageReceiver.java b/java/com/android/voicemail/impl/sms/OmtpMessageReceiver.java
index 43e2b85..ef0bf10 100644
--- a/java/com/android/voicemail/impl/sms/OmtpMessageReceiver.java
+++ b/java/com/android/voicemail/impl/sms/OmtpMessageReceiver.java
@@ -28,7 +28,7 @@
 import android.telephony.VisualVoicemailSms;
 import com.android.voicemail.impl.ActivationTask;
 import com.android.voicemail.impl.OmtpConstants;
-import com.android.voicemail.impl.OmtpReceiver;
+import com.android.voicemail.impl.OmtpService;
 import com.android.voicemail.impl.OmtpVvmCarrierConfigHelper;
 import com.android.voicemail.impl.Voicemail;
 import com.android.voicemail.impl.Voicemail.Builder;
@@ -52,7 +52,7 @@
   @Override
   public void onReceive(Context context, Intent intent) {
     mContext = context;
-    VisualVoicemailSms sms = intent.getExtras().getParcelable(OmtpReceiver.EXTRA_VOICEMAIL_SMS);
+    VisualVoicemailSms sms = intent.getExtras().getParcelable(OmtpService.EXTRA_VOICEMAIL_SMS);
     PhoneAccountHandle phone = sms.getPhoneAccountHandle();
 
     if (phone == null) {
diff --git a/java/com/android/voicemail/impl/sms/OmtpMessageSender.java b/java/com/android/voicemail/impl/sms/OmtpMessageSender.java
index 6c9333f..e9d145c 100644
--- a/java/com/android/voicemail/impl/sms/OmtpMessageSender.java
+++ b/java/com/android/voicemail/impl/sms/OmtpMessageSender.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Google Inc. All Rights Reserved.
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,8 +20,8 @@
 import android.support.annotation.Nullable;
 import android.telecom.PhoneAccountHandle;
 import android.telephony.SmsManager;
-import android.telephony.VisualVoicemailService;
 import com.android.voicemail.impl.OmtpConstants;
+import com.android.voicemail.impl.TelephonyMangerCompat;
 
 /**
  * Send client originated OMTP messages to the OMTP server.
@@ -75,7 +75,7 @@
   public void requestVvmStatus(@Nullable PendingIntent sentIntent) {}
 
   protected void sendSms(String text, PendingIntent sentIntent) {
-    VisualVoicemailService.sendVisualVoicemailSms(
+    TelephonyMangerCompat.sendVisualVoicemailSms(
         mContext, mPhoneAccountHandle, mDestinationNumber, mApplicationPort, text, sentIntent);
   }
 
diff --git a/java/com/android/voicemail/impl/sms/StatusSmsFetcher.java b/java/com/android/voicemail/impl/sms/StatusSmsFetcher.java
index dd9204d..d178628 100644
--- a/java/com/android/voicemail/impl/sms/StatusSmsFetcher.java
+++ b/java/com/android/voicemail/impl/sms/StatusSmsFetcher.java
@@ -33,7 +33,7 @@
 import android.telephony.VisualVoicemailSms;
 import com.android.voicemail.impl.Assert;
 import com.android.voicemail.impl.OmtpConstants;
-import com.android.voicemail.impl.OmtpReceiver;
+import com.android.voicemail.impl.OmtpService;
 import com.android.voicemail.impl.OmtpVvmCarrierConfigHelper;
 import com.android.voicemail.impl.VvmLog;
 import com.android.voicemail.impl.protocol.VisualVoicemailProtocol;
@@ -67,7 +67,7 @@
     mContext = context;
     mPhoneAccountHandle = phoneAccountHandle;
     IntentFilter filter = new IntentFilter(ACTION_REQUEST_SENT_INTENT);
-    filter.addAction(OmtpReceiver.ACTION_SMS_RECEIVED);
+    filter.addAction(OmtpService.ACTION_SMS_RECEIVED);
     context.registerReceiver(this, filter);
   }
 
@@ -110,7 +110,7 @@
       return;
     }
 
-    VisualVoicemailSms sms = intent.getExtras().getParcelable(OmtpReceiver.EXTRA_VOICEMAIL_SMS);
+    VisualVoicemailSms sms = intent.getExtras().getParcelable(OmtpService.EXTRA_VOICEMAIL_SMS);
 
     if (!mPhoneAccountHandle.equals(sms.getPhoneAccountHandle())) {
       return;
diff --git a/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java b/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
index af934dd..3443737 100644
--- a/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
+++ b/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
@@ -36,6 +36,7 @@
 import com.android.voicemail.impl.fetch.VoicemailFetchedCallback;
 import com.android.voicemail.impl.imap.ImapHelper;
 import com.android.voicemail.impl.imap.ImapHelper.InitializingException;
+import com.android.voicemail.impl.mail.store.ImapFolder.Quota;
 import com.android.voicemail.impl.scheduling.BaseTask;
 import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
 import com.android.voicemail.impl.sync.VvmNetworkRequest.NetworkWrapper;
@@ -152,21 +153,28 @@
    */
   private void autoDeleteAndArchiveVM(
       ImapHelper imapHelper, PhoneAccountHandle phoneAccountHandle) {
-
-    if (isArchiveAllowedAndEnabled(mContext, phoneAccountHandle)) {
-      if ((float) imapHelper.getOccuupiedQuota() / (float) imapHelper.getTotalQuota()
-          > AUTO_DELETE_ARCHIVE_VM_THRESHOLD) {
-        deleteAndArchiveVM(imapHelper);
-        imapHelper.updateQuota();
-        LoggerUtils.logImpressionOnMainThread(
-            mContext, DialerImpression.Type.VVM_ARCHIVE_AUTO_DELETED_VM_FROM_SERVER);
-      } else {
-        VvmLog.i(TAG, "no need to archive and auto delete VM, quota below threshold");
-      }
-    } else {
+    if (!isArchiveAllowedAndEnabled(mContext, phoneAccountHandle)) {
       VvmLog.i(TAG, "autoDeleteAndArchiveVM is turned off");
       LoggerUtils.logImpressionOnMainThread(
           mContext, DialerImpression.Type.VVM_ARCHIVE_AUTO_DELETE_TURNED_OFF);
+      return;
+    }
+    Quota quotaOnServer = imapHelper.getQuota();
+    if (quotaOnServer == null) {
+      LoggerUtils.logImpressionOnMainThread(
+          mContext, DialerImpression.Type.VVM_ARCHIVE_AUTO_DELETE_FAILED_DUE_TO_FAILED_QUOTA_CHECK);
+      VvmLog.e(TAG, "autoDeleteAndArchiveVM failed - Can't retrieve Imap quota.");
+      return;
+    }
+
+    if ((float) quotaOnServer.occupied / (float) quotaOnServer.total
+        > AUTO_DELETE_ARCHIVE_VM_THRESHOLD) {
+      deleteAndArchiveVM(imapHelper, quotaOnServer);
+      imapHelper.updateQuota();
+      LoggerUtils.logImpressionOnMainThread(
+          mContext, DialerImpression.Type.VVM_ARCHIVE_AUTO_DELETED_VM_FROM_SERVER);
+    } else {
+      VvmLog.i(TAG, "no need to archive and auto delete VM, quota below threshold");
     }
   }
 
@@ -190,14 +198,15 @@
     return true;
   }
 
-  private void deleteAndArchiveVM(ImapHelper imapHelper) {
+  private void deleteAndArchiveVM(ImapHelper imapHelper, Quota quotaOnServer) {
     // Archive column should only be used for 0 and above
     Assert.isTrue(BuildCompat.isAtLeastO());
+
     // The number of voicemails that exceed our threshold and should be deleted from the server
     int numVoicemails =
-        imapHelper.getOccuupiedQuota()
-            - (int) (AUTO_DELETE_ARCHIVE_VM_THRESHOLD * imapHelper.getTotalQuota());
+        quotaOnServer.occupied - (int) (AUTO_DELETE_ARCHIVE_VM_THRESHOLD * quotaOnServer.total);
     List<Voicemail> oldestVoicemails = mQueryHelper.oldestVoicemailsOnServer(numVoicemails);
+    VvmLog.w(TAG, "number of voicemails to delete " + numVoicemails);
     if (!oldestVoicemails.isEmpty()) {
       mQueryHelper.markArchivedInDatabase(oldestVoicemails);
       imapHelper.markMessagesAsDeleted(oldestVoicemails);
diff --git a/java/com/android/voicemail/impl/sync/SyncOneTask.java b/java/com/android/voicemail/impl/sync/SyncOneTask.java
index 19419ec..cd2782a 100644
--- a/java/com/android/voicemail/impl/sync/SyncOneTask.java
+++ b/java/com/android/voicemail/impl/sync/SyncOneTask.java
@@ -51,7 +51,7 @@
     intent.putExtra(EXTRA_PHONE_ACCOUNT_HANDLE, phone);
     intent.putExtra(EXTRA_SYNC_TYPE, OmtpVvmSyncService.SYNC_DOWNLOAD_ONE_TRANSCRIPTION);
     intent.putExtra(EXTRA_VOICEMAIL, voicemail);
-    context.startService(intent);
+    context.sendBroadcast(intent);
   }
 
   public SyncOneTask() {
diff --git a/java/com/android/voicemail/impl/sync/SyncTask.java b/java/com/android/voicemail/impl/sync/SyncTask.java
index 27f8034..0b3e090 100644
--- a/java/com/android/voicemail/impl/sync/SyncTask.java
+++ b/java/com/android/voicemail/impl/sync/SyncTask.java
@@ -48,7 +48,7 @@
     Intent intent = BaseTask.createIntent(context, SyncTask.class, phone);
     intent.putExtra(EXTRA_PHONE_ACCOUNT_HANDLE, phone);
     intent.putExtra(EXTRA_SYNC_TYPE, syncType);
-    context.startService(intent);
+    context.sendBroadcast(intent);
   }
 
   public SyncTask() {
diff --git a/java/com/android/voicemail/impl/sync/UploadTask.java b/java/com/android/voicemail/impl/sync/UploadTask.java
index 4030745..f2b2036 100644
--- a/java/com/android/voicemail/impl/sync/UploadTask.java
+++ b/java/com/android/voicemail/impl/sync/UploadTask.java
@@ -44,7 +44,7 @@
 
   public static void start(Context context, PhoneAccountHandle phoneAccountHandle) {
     Intent intent = BaseTask.createIntent(context, UploadTask.class, phoneAccountHandle);
-    context.startService(intent);
+    context.sendBroadcast(intent);
   }
 
   @Override
diff --git a/java/com/android/voicemail/impl/sync/VoicemailsQueryHelper.java b/java/com/android/voicemail/impl/sync/VoicemailsQueryHelper.java
index bfc2e5f..9b295db 100644
--- a/java/com/android/voicemail/impl/sync/VoicemailsQueryHelper.java
+++ b/java/com/android/voicemail/impl/sync/VoicemailsQueryHelper.java
@@ -27,7 +27,6 @@
 import android.provider.VoicemailContract.Voicemails;
 import android.support.annotation.NonNull;
 import android.telecom.PhoneAccountHandle;
-import android.text.TextUtils;
 import com.android.dialer.common.Assert;
 import com.android.voicemail.impl.Voicemail;
 import java.util.ArrayList;
@@ -54,12 +53,6 @@
       Voicemails.DIRTY + "=1 AND " + Voicemails.DELETED + "!=1 AND " + Voicemails.IS_READ + "=1";
   static final String DELETED_SELECTION = Voicemails.DELETED + "=1";
   static final String ARCHIVED_SELECTION = Voicemails.ARCHIVED + "=0";
-  private static final String PHONE_ACCOUNT_HANDLE_SELECTION =
-      "("
-          + Voicemails.PHONE_ACCOUNT_COMPONENT_NAME
-          + "=? AND "
-          + Voicemails.PHONE_ACCOUNT_ID
-          + "=?)";
 
   private Context mContext;
   private ContentResolver mContentResolver;
@@ -101,23 +94,14 @@
   /**
    * Utility method to make queries to the voicemail database.
    *
+   * <p>TODO(b/36588206) add PhoneAccountHandle filtering back
+   *
    * @param selection A filter declaring which rows to return. {@code null} returns all rows.
    * @return A list of voicemails according to the selection statement.
    */
   private List<Voicemail> getLocalVoicemails(
-      @NonNull PhoneAccountHandle phoneAccountHandle, String selection) {
-
-    String[] selectionArgs =
-        new String[] {
-          phoneAccountHandle.getComponentName().flattenToString(), phoneAccountHandle.getId()
-        };
-    if (TextUtils.isEmpty(selection)) {
-      selection = PHONE_ACCOUNT_HANDLE_SELECTION;
-    } else {
-      selection = PHONE_ACCOUNT_HANDLE_SELECTION + " AND (" + selection + ")";
-    }
-
-    Cursor cursor = mContentResolver.query(mSourceUri, PROJECTION, selection, selectionArgs, null);
+      @NonNull PhoneAccountHandle unusedPhoneAccountHandle, String selection) {
+    Cursor cursor = mContentResolver.query(mSourceUri, PROJECTION, selection, null, null);
     if (cursor == null) {
       return null;
     }
diff --git a/java/com/android/voicemail/permissions.xml b/java/com/android/voicemail/permissions.xml
index adb4b6f..bedf068 100644
--- a/java/com/android/voicemail/permissions.xml
+++ b/java/com/android/voicemail/permissions.xml
@@ -3,7 +3,7 @@
 
   <uses-sdk
     android:minSdkVersion="23"
-    android:targetSdkVersion="25"/>
+    android:targetSdkVersion="26"/>
 
   <!-- Applications using this module should merge these permissions using android_manifest_merge -->