summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/notification
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-08-31 06:57:16 -0700
committerEric Erfanian <erfanian@google.com>2017-08-31 16:13:53 +0000
commit2ca4318cc1ee57dda907ba2069bd61d162b1baef (patch)
treee282668a9587cf6c1ec7b604dea860400c75c6c7 /java/com/android/dialer/notification
parent68038172793ee0e2ab3e2e56ddfbeb82879d1f58 (diff)
Update Dialer source to latest internal Google revision.
Previously, Android's Dialer app was developed in an internal Google source control system and only exported to public during AOSP drops. The Dialer team is now switching to a public development model similar to the telephony team. This CL represents all internal Google changes that were committed to Dialer between the public O release and today's tip of tree on internal master. This CL squashes those changes into a single commit. In subsequent changes, changes will be exported on a per-commit basis. Test: make, flash install, run Merged-In: I45270eaa8ce732d71a1bd84b08c7fa0e99af3160 Change-Id: I529aaeb88535b9533c0ae4ef4e6c1222d4e0f1c8 PiperOrigin-RevId: 167068436
Diffstat (limited to 'java/com/android/dialer/notification')
-rw-r--r--java/com/android/dialer/notification/AndroidManifest.xml16
-rw-r--r--java/com/android/dialer/notification/DialerNotificationManager.java125
-rw-r--r--java/com/android/dialer/notification/GroupedNotificationUtil.java66
-rw-r--r--java/com/android/dialer/notification/NotificationChannelId.java41
-rw-r--r--java/com/android/dialer/notification/NotificationChannelManager.java456
-rw-r--r--java/com/android/dialer/notification/NotificationManagerUtils.java41
-rw-r--r--java/com/android/dialer/notification/NotificationThrottler.java126
-rw-r--r--java/com/android/dialer/notification/PackageUpdatedReceiver.java37
-rw-r--r--java/com/android/dialer/notification/VoicemailChannelUtils.java217
-rw-r--r--java/com/android/dialer/notification/res/values-af/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-am/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ar/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-az/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-be/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-bg/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-bn/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-bs/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ca/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-cs/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-da/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-de/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-el/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-en-rAU/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-en-rGB/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-en-rIN/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-es-rUS/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-es/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-et/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-eu/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-fa/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-fi/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-fr-rCA/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-fr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-gl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-gu/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-hi/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-hr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-hu/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-hy/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-in/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-is/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-it/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-iw/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ja/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ka/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-kk/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-km/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-kn/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ko/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ky/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-lo/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-lt/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-lv/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-mk/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ml/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-mn/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-mr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ms/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-my/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-nb/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ne/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-nl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-no/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pa/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pt-rBR/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pt-rPT/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pt/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ro/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ru/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-si/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sk/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sq/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sv/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sw/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ta/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-te/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-th/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-tl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-tr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-uk/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ur/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-uz/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-vi/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-zh-rCN/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-zh-rHK/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-zh-rTW/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-zu/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values/ids.xml27
-rw-r--r--java/com/android/dialer/notification/res/values/strings.xml1
93 files changed, 675 insertions, 560 deletions
diff --git a/java/com/android/dialer/notification/AndroidManifest.xml b/java/com/android/dialer/notification/AndroidManifest.xml
index 741f481ca..b89d8f816 100644
--- a/java/com/android/dialer/notification/AndroidManifest.xml
+++ b/java/com/android/dialer/notification/AndroidManifest.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2017 The Android Open Source Project
~
@@ -13,19 +14,6 @@
~ See the License for the specific language governing permissions and
~ limitations under the License
-->
-
-<manifest
- xmlns:android="http://schemas.android.com/apk/res/android"
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.dialer.notification">
-
- <uses-sdk android:minSdkVersion="23"/>
- <application>
- <receiver android:name=".PackageUpdatedReceiver"
- android:directBootAware="true">
- <intent-filter>
- <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
- <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED"/>
- </intent-filter>
- </receiver>
- </application>
</manifest>
diff --git a/java/com/android/dialer/notification/DialerNotificationManager.java b/java/com/android/dialer/notification/DialerNotificationManager.java
new file mode 100644
index 000000000..0e3420169
--- /dev/null
+++ b/java/com/android/dialer/notification/DialerNotificationManager.java
@@ -0,0 +1,125 @@
+/*
+ * 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.dialer.notification;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.StatusBarNotification;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.os.BuildCompat;
+import android.text.TextUtils;
+import android.util.Pair;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+
+/**
+ * Wrapper around the notification manager APIs. The wrapper ensures that channels are set and that
+ * notifications are limited to 10 per group.
+ */
+public final class DialerNotificationManager {
+ public static void notify(@NonNull Context context, int id, @NonNull Notification notification) {
+ Assert.isNotNull(context);
+ Assert.isNotNull(notification);
+ throw Assert.createUnsupportedOperationFailException("all notifications must have tags");
+ }
+
+ public static void notify(
+ @NonNull Context context, @NonNull String tag, int id, @NonNull Notification notification) {
+ Assert.isNotNull(context);
+ Assert.isNotNull(notification);
+ Assert.checkArgument(!TextUtils.isEmpty(tag));
+
+ if (BuildCompat.isAtLeastO()) {
+ Assert.checkArgument(!TextUtils.isEmpty(notification.getChannelId()));
+ }
+
+ getNotificationManager(context).notify(tag, id, notification);
+ NotificationThrottler.throttle(context, notification);
+ }
+
+ public static void cancel(@NonNull Context context, int id) {
+ Assert.isNotNull(context);
+ throw Assert.createUnsupportedOperationFailException(
+ "notification IDs are not unique across the app, a tag must be specified");
+ }
+
+ public static void cancel(@NonNull Context context, @NonNull String tag, int id) {
+ Assert.isNotNull(context);
+ Assert.checkArgument(!TextUtils.isEmpty(tag));
+
+ NotificationManager notificationManager = getNotificationManager(context);
+ StatusBarNotification[] notifications = notificationManager.getActiveNotifications();
+
+ String groupKey = findGroupKey(notifications, tag, id);
+ if (!TextUtils.isEmpty(groupKey)) {
+ Pair<StatusBarNotification, Integer> groupSummaryAndCount =
+ getGroupSummaryAndCount(notifications, groupKey);
+ if (groupSummaryAndCount.first != null && groupSummaryAndCount.second <= 1) {
+ LogUtil.i(
+ "DialerNotificationManager.cancel",
+ "last notification in group (%s) removed, also removing group summary",
+ groupKey);
+ notificationManager.cancel(
+ groupSummaryAndCount.first.getTag(), groupSummaryAndCount.first.getId());
+ }
+ }
+
+ notificationManager.cancel(tag, id);
+ }
+
+ public static StatusBarNotification[] getActiveNotifications(@NonNull Context context) {
+ Assert.isNotNull(context);
+ return getNotificationManager(context).getActiveNotifications();
+ }
+
+ @Nullable
+ private static String findGroupKey(
+ @NonNull StatusBarNotification[] notifications, @NonNull String tag, int id) {
+ for (StatusBarNotification notification : notifications) {
+ if (TextUtils.equals(tag, notification.getTag()) && id == notification.getId()) {
+ return notification.getNotification().getGroup();
+ }
+ }
+ return null;
+ }
+
+ @NonNull
+ private static Pair<StatusBarNotification, Integer> getGroupSummaryAndCount(
+ @NonNull StatusBarNotification[] notifications, @NonNull String groupKey) {
+ StatusBarNotification groupSummaryNotification = null;
+ int groupCount = 0;
+ for (StatusBarNotification notification : notifications) {
+ if (TextUtils.equals(groupKey, notification.getNotification().getGroup())) {
+ if ((notification.getNotification().flags & Notification.FLAG_GROUP_SUMMARY) != 0) {
+ groupSummaryNotification = notification;
+ } else {
+ groupCount++;
+ }
+ }
+ }
+ return new Pair<>(groupSummaryNotification, groupCount);
+ }
+
+ @NonNull
+ private static NotificationManager getNotificationManager(@NonNull Context context) {
+ return context.getSystemService(NotificationManager.class);
+ }
+
+ private DialerNotificationManager() {}
+}
diff --git a/java/com/android/dialer/notification/GroupedNotificationUtil.java b/java/com/android/dialer/notification/GroupedNotificationUtil.java
deleted file mode 100644
index 3925248d5..000000000
--- a/java/com/android/dialer/notification/GroupedNotificationUtil.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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.dialer.notification;
-
-import android.app.NotificationManager;
-import android.service.notification.StatusBarNotification;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import java.util.Objects;
-
-/** Utilities for dealing with grouped notifications */
-public final class GroupedNotificationUtil {
-
- /**
- * Remove notification(s) that were added as part of a group. Will ensure that if this is the last
- * notification in the group the summary will be removed.
- *
- * @param tag String tag as included in {@link NotificationManager#notify(String, int,
- * android.app.Notification)}. If null will remove all notifications under id
- * @param id notification id as included with {@link NotificationManager#notify(String, int,
- * android.app.Notification)}.
- * @param summaryTag String tag of the summary notification
- */
- public static void removeNotification(
- @NonNull NotificationManager notificationManager,
- @Nullable String tag,
- int id,
- @NonNull String summaryTag) {
- if (tag == null) {
- // Clear all grouped notifications
- for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
- if (notification.getId() == id) {
- notificationManager.cancel(notification.getTag(), id);
- }
- }
- } else {
- notificationManager.cancel(tag, id);
-
- // See if other non-summary grouped notifications exist, and if not then clear the summary
- boolean clearSummary = true;
- for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
- if (notification.getId() == id && !Objects.equals(summaryTag, notification.getTag())) {
- clearSummary = false;
- break;
- }
- }
- if (clearSummary) {
- notificationManager.cancel(summaryTag, id);
- }
- }
- }
-}
diff --git a/java/com/android/dialer/notification/NotificationChannelId.java b/java/com/android/dialer/notification/NotificationChannelId.java
new file mode 100644
index 000000000..4ab3d44f2
--- /dev/null
+++ b/java/com/android/dialer/notification/NotificationChannelId.java
@@ -0,0 +1,41 @@
+/*
+ * 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.dialer.notification;
+
+import android.support.annotation.StringDef;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/** Centralized source of all notification channels used by Dialer. */
+@Retention(RetentionPolicy.SOURCE)
+@StringDef({
+ NotificationChannelId.INCOMING_CALL,
+ NotificationChannelId.ONGOING_CALL,
+ NotificationChannelId.MISSED_CALL,
+ NotificationChannelId.DEFAULT,
+})
+public @interface NotificationChannelId {
+ // This value is white listed in the system.
+ // See /vendor/google/nexus_overlay/common/frameworks/base/core/res/res/values/config.xml
+ String INCOMING_CALL = "phone_incoming_call";
+
+ String ONGOING_CALL = "phone_ongoing_call";
+
+ String MISSED_CALL = "phone_missed_call";
+
+ String DEFAULT = "phone_default";
+}
diff --git a/java/com/android/dialer/notification/NotificationChannelManager.java b/java/com/android/dialer/notification/NotificationChannelManager.java
index 88679066d..790aac36f 100644
--- a/java/com/android/dialer/notification/NotificationChannelManager.java
+++ b/java/com/android/dialer/notification/NotificationChannelManager.java
@@ -17,366 +17,156 @@
package com.android.dialer.notification;
import android.annotation.TargetApi;
-import android.app.Notification;
import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
import android.app.NotificationManager;
import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
import android.media.AudioAttributes;
-import android.net.Uri;
import android.os.Build.VERSION_CODES;
-import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import android.support.annotation.RequiresApi;
-import android.support.annotation.StringDef;
import android.support.v4.os.BuildCompat;
-import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.telephony.TelephonyManager;
-import com.android.contacts.common.compat.TelephonyManagerCompat;
-import com.android.dialer.buildtype.BuildType;
+import android.util.ArraySet;
+import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.common.concurrent.DialerExecutors;
-import com.android.dialer.telecom.TelecomUtil;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.util.List;
-import java.util.Objects;
+import java.util.Set;
-/** Contains info on how to create {@link NotificationChannel NotificationChannels} */
-public class NotificationChannelManager {
-
- private static final String PREFS_FILENAME = "NotificationChannelManager";
- private static final String PREF_NEED_FIRST_INIT = "needFirstInit";
- private static NotificationChannelManager instance;
-
- public static NotificationChannelManager getInstance() {
- if (instance == null) {
- instance = new NotificationChannelManager();
- }
- return instance;
- }
+/** Creates all notification channels for Dialer. */
+@TargetApi(VERSION_CODES.O)
+public final class NotificationChannelManager {
/**
- * Set the channel of notification appropriately. Will create the channel if it does not already
- * exist. Safe to call pre-O (will no-op).
+ * Creates all the notification channels Dialer will need. This method is called at app startup
+ * and must be fast. Currently it takes between 3 to 7 milliseconds on a Pixel XL.
+ *
+ * <p>An alternative approach would be to lazily create channels when we actualy post a
+ * notification. The advatange to precreating channels is that:
*
- * <p>phoneAccount should only be null if channelName is {@link Channel#DEFAULT} or {@link
- * Channel#MISSED_CALL} since these do not have account-specific settings.
+ * <ul>
+ * <li>channels will be available to user right away. For example, users can customize voicemail
+ * sounds when they first get their device without waiting for a voicemail to arrive first.
+ * <li>code that posts a notification can be simpler
+ * <li>channel management code is simpler and it's easier to ensure that the correct set of
+ * channels are visible.
+ * <ul>
*/
- @TargetApi(26)
- public static void applyChannel(
- @NonNull Notification.Builder notification,
- @NonNull Context context,
- @Channel String channelName,
- @Nullable PhoneAccountHandle phoneAccount) {
- checkNullity(channelName, phoneAccount);
-
- if (BuildCompat.isAtLeastO()) {
- NotificationChannel channel =
- NotificationChannelManager.getInstance().getChannel(context, channelName, phoneAccount);
- notification.setChannelId(channel.getId());
- }
- }
-
- private static void checkNullity(
- @Channel String channelName, @Nullable PhoneAccountHandle phoneAccount) {
- if (phoneAccount != null || channelAllowsNullPhoneAccountHandle(channelName)) {
- return;
- }
-
- // TODO (b/36568553): don't throw an exception once most cases have been identified
- IllegalArgumentException exception =
- new IllegalArgumentException(
- "Phone account handle must not be null on channel " + channelName);
- if (BuildType.get() == BuildType.RELEASE) {
- LogUtil.e("NotificationChannelManager.applyChannel", null, exception);
- } else {
- throw exception;
- }
- }
-
- private static boolean channelAllowsNullPhoneAccountHandle(@Channel String channelName) {
- switch (channelName) {
- case Channel.DEFAULT:
- case Channel.MISSED_CALL:
- return true;
- default:
- return false;
- }
- }
+ public static void initChannels(@NonNull Context context) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
- /** The base Channel IDs for {@link NotificationChannel} */
- @Retention(RetentionPolicy.SOURCE)
- @StringDef({
- Channel.INCOMING_CALL,
- Channel.ONGOING_CALL,
- Channel.ONGOING_CALL_OLD,
- Channel.MISSED_CALL,
- Channel.VOICEMAIL,
- Channel.EXTERNAL_CALL,
- Channel.DEFAULT
- })
- public @interface Channel {
- @Deprecated String ONGOING_CALL_OLD = "ongoingCall";
- String INCOMING_CALL = "incomingCall";
- String ONGOING_CALL = "ongoingCall2";
- String MISSED_CALL = "missedCall";
- String VOICEMAIL = "voicemail";
- String EXTERNAL_CALL = "externalCall";
- String DEFAULT = "default";
- }
-
- @Channel
- private static final String[] prepopulatedAccountChannels =
- new String[] {Channel.INCOMING_CALL, Channel.ONGOING_CALL, Channel.VOICEMAIL};
-
- @Channel
- private static final String[] prepopulatedGlobalChannels =
- new String[] {Channel.MISSED_CALL, Channel.DEFAULT};
-
- private NotificationChannelManager() {}
-
- public void firstInitIfNeeded(@NonNull Context context) {
- if (BuildCompat.isAtLeastO()) {
- DialerExecutors.createNonUiTaskBuilder(this::firstInitIfNeededSync)
- .build()
- .executeSerial(context);
- }
- }
-
- private boolean firstInitIfNeededSync(@NonNull Context context) {
- if (needsFirstInit(context)) {
- initChannels(context);
- return true;
- }
- return false;
- }
-
- public boolean needsFirstInit(@NonNull Context context) {
- return (BuildCompat.isAtLeastO()
- && getSharedPreferences(context).getBoolean(PREF_NEED_FIRST_INIT, true));
- }
-
- @RequiresApi(VERSION_CODES.N)
- private SharedPreferences getSharedPreferences(@NonNull Context context) {
- // Use device protected storage since in some cases this will need to be accessed while device
- // is locked
- context = context.createDeviceProtectedStorageContext();
- return context.getSharedPreferences(PREFS_FILENAME, Context.MODE_PRIVATE);
- }
-
- @RequiresApi(26)
- public Intent getSettingsIntentForChannel(
- @NonNull Context context, @Channel String channelName, PhoneAccountHandle accountHandle) {
- checkNullity(channelName, accountHandle);
- Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
- intent.putExtra(
- Settings.EXTRA_CHANNEL_ID, getChannel(context, channelName, accountHandle).getId());
- intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
- return intent;
- }
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ Set<String> desiredChannelIds = getAllDesiredChannelIds(context);
+ Set<String> existingChannelIds = getAllExistingChannelIds(context);
- @TargetApi(26)
- @SuppressWarnings("AndroidApiChecker")
- public void initChannels(@NonNull Context context) {
- if (!BuildCompat.isAtLeastO()) {
+ if (desiredChannelIds.equals(existingChannelIds)) {
return;
}
- LogUtil.enterBlock("NotificationChannelManager.initChannels");
- List<PhoneAccountHandle> phoneAccounts = TelecomUtil.getCallCapablePhoneAccounts(context);
-
- // Remove notification channels for PhoneAccounts that don't exist anymore
- NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
- List<NotificationChannelGroup> notificationChannelGroups =
- notificationManager.getNotificationChannelGroups();
- notificationChannelGroups
- .stream()
- .filter(group -> !idExists(group.getId(), phoneAccounts))
- .forEach(group -> deleteGroup(notificationManager, group));
-
- for (PhoneAccountHandle phoneAccountHandle : phoneAccounts) {
- for (@Channel String channel : prepopulatedAccountChannels) {
- getChannel(context, channel, phoneAccountHandle);
+ LogUtil.i(
+ "NotificationChannelManager.initChannels",
+ "doing an expensive initialization of all notification channels");
+ LogUtil.i(
+ "NotificationChannelManager.initChannels", "desired channel IDs: " + desiredChannelIds);
+ LogUtil.i(
+ "NotificationChannelManager.initChannels", "existing channel IDs: " + existingChannelIds);
+
+ // Delete any old channels that we don't use any more. This is safe because if we're recreate
+ // this later then any user settings will be restored. An example is SIM specific voicemail
+ // channel that gets deleted when the user removes the SIM and is then restored when the user
+ // re-inserts the SIM.
+ for (String existingChannelId : existingChannelIds) {
+ if (!desiredChannelIds.contains(existingChannelId)) {
+ notificationManager.deleteNotificationChannel(existingChannelId);
}
}
- for (@Channel String channel : prepopulatedGlobalChannels) {
- getChannel(context, channel, null);
- }
- getSharedPreferences(context).edit().putBoolean(PREF_NEED_FIRST_INIT, false).apply();
- }
-
- @TargetApi(26)
- private void deleteGroup(
- @NonNull NotificationManager notificationManager, @NonNull NotificationChannelGroup group) {
- for (NotificationChannel channel : group.getChannels()) {
- notificationManager.deleteNotificationChannel(channel.getId());
- }
- notificationManager.deleteNotificationChannelGroup(group.getId());
- }
-
- private boolean idExists(String id, List<PhoneAccountHandle> phoneAccountHandles) {
- for (PhoneAccountHandle handle : phoneAccountHandles) {
- if (Objects.equals(handle.getId(), id)) {
- return true;
- }
- }
- return false;
+ // Just recreate all desired channels. We won't do this often so it's ok to do this now.
+ createIncomingCallChannel(context);
+ createOngoingCallChannel(context);
+ createMissedCallChannel(context);
+ createDefaultChannel(context);
+ VoicemailChannelUtils.createAllChannels(context);
}
@NonNull
- @RequiresApi(26)
- private NotificationChannel getChannel(
- @NonNull Context context,
- @Channel String channelName,
- @Nullable PhoneAccountHandle phoneAccount) {
- String channelId = channelNameToId(channelName, phoneAccount);
- NotificationChannel channel = getNotificationManager(context).getNotificationChannel(channelId);
- if (channel == null) {
- channel = createChannel(context, channelName, phoneAccount);
- }
- return channel;
+ public static String getVoicemailChannelId(
+ @NonNull Context context, @Nullable PhoneAccountHandle handle) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
+ return VoicemailChannelUtils.getChannelId(context, handle);
}
- private static String channelNameToId(
- @Channel String name, @Nullable PhoneAccountHandle phoneAccountHandle) {
- if (phoneAccountHandle == null) {
- return name;
- } else {
- return name + ":" + phoneAccountHandle.getId();
- }
- }
-
- @RequiresApi(26)
- private NotificationChannel createChannel(
- Context context,
- @Channel String channelName,
- @Nullable PhoneAccountHandle phoneAccountHandle) {
- String channelId = channelNameToId(channelName, phoneAccountHandle);
-
- if (phoneAccountHandle != null) {
- PhoneAccount account = getTelecomManager(context).getPhoneAccount(phoneAccountHandle);
- NotificationChannelGroup group =
- new NotificationChannelGroup(
- phoneAccountHandle.getId(),
- (account == null) ? phoneAccountHandle.getId() : account.getLabel().toString());
- getNotificationManager(context)
- .createNotificationChannelGroup(group); // No-op if already exists
- } else if (!channelAllowsNullPhoneAccountHandle(channelName)) {
- LogUtil.w(
- "NotificationChannelManager.createChannel",
- "Null PhoneAccountHandle with channel " + channelName);
- }
-
- Uri silentRingtone = Uri.EMPTY;
-
- CharSequence name;
- int importance;
- boolean canShowBadge;
- boolean lights;
- boolean vibration;
- Uri sound;
- switch (channelName) {
- case Channel.INCOMING_CALL:
- name = context.getText(R.string.notification_channel_incoming_call);
- importance = NotificationManager.IMPORTANCE_MAX;
- canShowBadge = false;
- lights = true;
- vibration = false;
- sound = silentRingtone;
- break;
- case Channel.MISSED_CALL:
- name = context.getText(R.string.notification_channel_missed_call);
- importance = NotificationManager.IMPORTANCE_DEFAULT;
- canShowBadge = true;
- lights = true;
- vibration = true;
- sound = silentRingtone;
- break;
- case Channel.ONGOING_CALL:
- name = context.getText(R.string.notification_channel_ongoing_call);
- importance = NotificationManager.IMPORTANCE_DEFAULT;
- canShowBadge = false;
- lights = false;
- vibration = false;
- sound = silentRingtone;
- deleteOldOngoingCallChannelIfNeeded(context, phoneAccountHandle);
- break;
- case Channel.VOICEMAIL:
- name = context.getText(R.string.notification_channel_voicemail);
- importance = NotificationManager.IMPORTANCE_DEFAULT;
- canShowBadge = true;
- lights = true;
- vibration =
- TelephonyManagerCompat.isVoicemailVibrationEnabled(
- getTelephonyManager(context), phoneAccountHandle);
- sound =
- TelephonyManagerCompat.getVoicemailRingtoneUri(
- getTelephonyManager(context), phoneAccountHandle);
- break;
- case Channel.EXTERNAL_CALL:
- name = context.getText(R.string.notification_channel_external_call);
- importance = NotificationManager.IMPORTANCE_HIGH;
- canShowBadge = false;
- lights = true;
- vibration = true;
- sound = null;
- break;
- case Channel.DEFAULT:
- name = context.getText(R.string.notification_channel_misc);
- importance = NotificationManager.IMPORTANCE_DEFAULT;
- canShowBadge = false;
- lights = true;
- vibration = true;
- sound = null;
- break;
- default:
- throw new IllegalArgumentException("Unknown channel: " + channelName);
- }
-
- NotificationChannel channel = new NotificationChannel(channelId, name, importance);
- channel.setShowBadge(canShowBadge);
- if (sound != null) {
- // silentRingtone acts as a sentinel value to indicate that setSound should still be called,
- // but with a null value to indicate no sound.
- channel.setSound(
- sound.equals(silentRingtone) ? null : sound,
- new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
- }
- channel.enableLights(lights);
- channel.enableVibration(vibration);
- getNotificationManager(context).createNotificationChannel(channel);
- return channel;
- }
-
- @RequiresApi(26)
- private void deleteOldOngoingCallChannelIfNeeded(
- @NonNull Context context, PhoneAccountHandle phoneAccountHandle) {
- String channelId = channelNameToId(Channel.ONGOING_CALL_OLD, phoneAccountHandle);
- NotificationManager notificationManager = getNotificationManager(context);
- NotificationChannel channel = notificationManager.getNotificationChannel(channelId);
- if (channel != null) {
- LogUtil.i(
- "NotificationManager.deleteOldOngoingCallChannelIfNeeded",
- "Old ongoing channel found. Deleting to create new channel");
- notificationManager.deleteNotificationChannel(channel.getId());
- }
- }
-
- private static NotificationManager getNotificationManager(@NonNull Context context) {
- return context.getSystemService(NotificationManager.class);
- }
-
- private static TelephonyManager getTelephonyManager(@NonNull Context context) {
- return context.getSystemService(TelephonyManager.class);
+ private static Set<String> getAllExistingChannelIds(@NonNull Context context) {
+ Set<String> result = new ArraySet<>();
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ for (NotificationChannel channel : notificationManager.getNotificationChannels()) {
+ result.add(channel.getId());
+ }
+ return result;
+ }
+
+ private static Set<String> getAllDesiredChannelIds(@NonNull Context context) {
+ Set<String> result = new ArraySet<>();
+ result.add(NotificationChannelId.INCOMING_CALL);
+ result.add(NotificationChannelId.ONGOING_CALL);
+ result.add(NotificationChannelId.MISSED_CALL);
+ result.add(NotificationChannelId.DEFAULT);
+ result.addAll(VoicemailChannelUtils.getAllChannelIds(context));
+ return result;
+ }
+
+ private static void createIncomingCallChannel(@NonNull Context context) {
+ NotificationChannel channel =
+ new NotificationChannel(
+ NotificationChannelId.INCOMING_CALL,
+ context.getText(R.string.notification_channel_incoming_call),
+ NotificationManager.IMPORTANCE_MAX);
+ channel.setShowBadge(false);
+ channel.enableLights(true);
+ channel.enableVibration(false);
+ channel.setSound(
+ null, new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static void createOngoingCallChannel(@NonNull Context context) {
+ NotificationChannel channel =
+ new NotificationChannel(
+ NotificationChannelId.ONGOING_CALL,
+ context.getText(R.string.notification_channel_ongoing_call),
+ NotificationManager.IMPORTANCE_DEFAULT);
+ channel.setShowBadge(false);
+ channel.enableLights(false);
+ channel.enableVibration(false);
+ channel.setSound(
+ null, new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static void createMissedCallChannel(@NonNull Context context) {
+ NotificationChannel channel =
+ new NotificationChannel(
+ NotificationChannelId.MISSED_CALL,
+ context.getText(R.string.notification_channel_missed_call),
+ NotificationManager.IMPORTANCE_DEFAULT);
+ channel.setShowBadge(true);
+ channel.enableLights(true);
+ channel.enableVibration(true);
+ channel.setSound(
+ null, new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static void createDefaultChannel(@NonNull Context context) {
+ NotificationChannel channel =
+ new NotificationChannel(
+ NotificationChannelId.DEFAULT,
+ context.getText(R.string.notification_channel_misc),
+ NotificationManager.IMPORTANCE_DEFAULT);
+ channel.setShowBadge(false);
+ channel.enableLights(true);
+ channel.enableVibration(true);
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
}
- private static TelecomManager getTelecomManager(@NonNull Context context) {
- return context.getSystemService(TelecomManager.class);
- }
+ private NotificationChannelManager() {}
}
diff --git a/java/com/android/dialer/notification/NotificationManagerUtils.java b/java/com/android/dialer/notification/NotificationManagerUtils.java
new file mode 100644
index 000000000..d99a9036d
--- /dev/null
+++ b/java/com/android/dialer/notification/NotificationManagerUtils.java
@@ -0,0 +1,41 @@
+/*
+ * 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.dialer.notification;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.StatusBarNotification;
+import android.support.annotation.NonNull;
+import android.text.TextUtils;
+import com.android.dialer.common.Assert;
+
+/** Utilities to manage notifications. */
+public final class NotificationManagerUtils {
+ public static void cancelAllInGroup(@NonNull Context context, @NonNull String groupKey) {
+ Assert.isNotNull(context);
+ Assert.checkArgument(!TextUtils.isEmpty(groupKey));
+
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
+ if (TextUtils.equals(groupKey, notification.getNotification().getGroup())) {
+ notificationManager.cancel(notification.getTag(), notification.getId());
+ }
+ }
+ }
+
+ private NotificationManagerUtils() {}
+}
diff --git a/java/com/android/dialer/notification/NotificationThrottler.java b/java/com/android/dialer/notification/NotificationThrottler.java
new file mode 100644
index 000000000..9db744df6
--- /dev/null
+++ b/java/com/android/dialer/notification/NotificationThrottler.java
@@ -0,0 +1,126 @@
+/*
+ * 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.dialer.notification;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.StatusBarNotification;
+import android.support.annotation.NonNull;
+import android.text.TextUtils;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ * Utility to ensure that only a certain number of notifications are shown for a particular
+ * notification type. Once the limit is reached, older notifications are cancelled.
+ */
+/* package */ class NotificationThrottler {
+ /**
+ * For gropued bundled notifications, the system UI will only display the last 8. For grouped
+ * unbundled notifications, the system displays all notifications until a global maximum of 50 is
+ * reached.
+ */
+ private static final int MAX_NOTIFICATIONS_PER_TAG = 10;
+
+ private static final int HIGH_GLOBAL_NOTIFICATION_COUNT = 45;
+
+ private static boolean didLogHighGlobalNotificationCountReached;
+
+ /* package */ static void throttle(@NonNull Context context, @NonNull Notification notification) {
+ Assert.isNotNull(context);
+ Assert.isNotNull(notification);
+
+ // No limiting for non-grouped notifications.
+ String groupKey = notification.getGroup();
+ if (TextUtils.isEmpty(groupKey)) {
+ return;
+ }
+
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ StatusBarNotification[] activeNotifications = notificationManager.getActiveNotifications();
+ if (activeNotifications.length > HIGH_GLOBAL_NOTIFICATION_COUNT
+ && !didLogHighGlobalNotificationCountReached) {
+ LogUtil.i(
+ "NotificationThrottler.throttle",
+ "app has %d notifications, system may suppress future notifications",
+ activeNotifications.length);
+ didLogHighGlobalNotificationCountReached = true;
+ Logger.get(context)
+ .logImpression(DialerImpression.Type.HIGH_GLOBAL_NOTIFICATION_COUNT_REACHED);
+ }
+
+ // Count the number of notificatons for this group (excluding the summary).
+ int count = 0;
+ for (StatusBarNotification currentNotification : activeNotifications) {
+ if (isNotificationInGroup(currentNotification, groupKey)) {
+ count++;
+ }
+ }
+
+ if (count > MAX_NOTIFICATIONS_PER_TAG) {
+ LogUtil.i(
+ "NotificationThrottler.throttle",
+ "groupKey: %s is over limit, count: %d, limit: %d",
+ groupKey,
+ count,
+ MAX_NOTIFICATIONS_PER_TAG);
+ List<StatusBarNotification> notifications = getSortedMatchingNotifications(context, groupKey);
+ for (int i = 0; i < (count - MAX_NOTIFICATIONS_PER_TAG); i++) {
+ notificationManager.cancel(notifications.get(i).getTag(), notifications.get(i).getId());
+ }
+ }
+ }
+
+ private static List<StatusBarNotification> getSortedMatchingNotifications(
+ @NonNull Context context, @NonNull String groupKey) {
+ List<StatusBarNotification> notifications = new ArrayList<>();
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
+ if (isNotificationInGroup(notification, groupKey)) {
+ notifications.add(notification);
+ }
+ }
+ Collections.sort(
+ notifications,
+ new Comparator<StatusBarNotification>() {
+ @Override
+ public int compare(StatusBarNotification left, StatusBarNotification right) {
+ return Long.compare(left.getPostTime(), right.getPostTime());
+ }
+ });
+ return notifications;
+ }
+
+ private static boolean isNotificationInGroup(
+ @NonNull StatusBarNotification notification, @NonNull String groupKey) {
+ // Don't include group summaries.
+ if ((notification.getNotification().flags & Notification.FLAG_GROUP_SUMMARY) != 0) {
+ return false;
+ }
+
+ return TextUtils.equals(groupKey, notification.getNotification().getGroup());
+ }
+
+ private NotificationThrottler() {}
+}
diff --git a/java/com/android/dialer/notification/PackageUpdatedReceiver.java b/java/com/android/dialer/notification/PackageUpdatedReceiver.java
deleted file mode 100644
index feed40263..000000000
--- a/java/com/android/dialer/notification/PackageUpdatedReceiver.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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.dialer.notification;
-
-import android.annotation.TargetApi;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.support.v4.os.BuildCompat;
-
-/** Inits the notification channels when Dialer or OS is updated */
-public class PackageUpdatedReceiver extends BroadcastReceiver {
-
- @Override
- @TargetApi(26)
- public void onReceive(Context context, Intent intent) {
- if (!BuildCompat.isAtLeastO()) {
- return;
- }
- context = context.createDeviceProtectedStorageContext();
- NotificationChannelManager.getInstance().initChannels(context);
- }
-}
diff --git a/java/com/android/dialer/notification/VoicemailChannelUtils.java b/java/com/android/dialer/notification/VoicemailChannelUtils.java
new file mode 100644
index 000000000..e2d0f3a21
--- /dev/null
+++ b/java/com/android/dialer/notification/VoicemailChannelUtils.java
@@ -0,0 +1,217 @@
+/*
+ * 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.dialer.notification;
+
+import android.annotation.TargetApi;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.media.AudioAttributes;
+import android.os.Build.VERSION_CODES;
+import android.provider.Settings;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.os.BuildCompat;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.TelecomManager;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import android.util.ArraySet;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+/** Utilities for working with voicemail channels. */
+@TargetApi(VERSION_CODES.O)
+/* package */ final class VoicemailChannelUtils {
+ private static final String GLOBAL_VOICEMAIL_CHANNEL_ID = "phone_voicemail";
+ private static final String PER_ACCOUNT_VOICEMAIL_CHANNEL_ID_PREFIX = "phone_voicemail_account_";
+
+ static Set<String> getAllChannelIds(@NonNull Context context) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
+
+ Set<String> result = new ArraySet<>();
+ if (isSingleSimDevice(context)) {
+ result.add(GLOBAL_VOICEMAIL_CHANNEL_ID);
+ } else {
+ for (PhoneAccountHandle handle : getAllEligableAccounts(context)) {
+ result.add(getChannelIdForAccount(handle));
+ }
+ }
+ return result;
+ }
+
+ static void createAllChannels(@NonNull Context context) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
+
+ if (isSingleSimDevice(context)) {
+ createGlobalVoicemailChannel(context);
+ } else {
+ for (PhoneAccountHandle handle : getAllEligableAccounts(context)) {
+ createVoicemailChannelForAccount(context, handle);
+ }
+ }
+ }
+
+ @NonNull
+ static String getChannelId(@NonNull Context context, @Nullable PhoneAccountHandle handle) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
+
+ // Most devices we deal with have a single SIM slot. No need to distinguish between phone
+ // accounts.
+ if (isSingleSimDevice(context)) {
+ return GLOBAL_VOICEMAIL_CHANNEL_ID;
+ }
+
+ // We can get a null phone account at random points (modem reboot, etc...). Gracefully degrade
+ // by using the default channel.
+ if (handle == null) {
+ LogUtil.i(
+ "VoicemailChannelUtils.getChannelId",
+ "no phone account on a multi-SIM device, using default channel");
+ return NotificationChannelId.DEFAULT;
+ }
+
+ // Voicemail notifications should always be associated with a SIM based phone account.
+ if (!isChannelAllowedForAccount(context, handle)) {
+ LogUtil.i(
+ "VoicemailChannelUtils.getChannelId",
+ "phone account is not for a SIM, using default channel");
+ return NotificationChannelId.DEFAULT;
+ }
+
+ // Now we're in the multi-SIM case.
+ String channelId = getChannelIdForAccount(handle);
+ if (!doesChannelExist(context, channelId)) {
+ LogUtil.i(
+ "VoicemailChannelUtils.getChannelId",
+ "voicemail channel not found for phone account (possible SIM swap?), creating a new one");
+ createVoicemailChannelForAccount(context, handle);
+ }
+ return channelId;
+ }
+
+ private static boolean doesChannelExist(@NonNull Context context, @NonNull String channelId) {
+ return context.getSystemService(NotificationManager.class).getNotificationChannel(channelId)
+ != null;
+ }
+
+ private static String getChannelIdForAccount(@NonNull PhoneAccountHandle handle) {
+ Assert.isNotNull(handle);
+ return PER_ACCOUNT_VOICEMAIL_CHANNEL_ID_PREFIX + ":" + handle.getId();
+ }
+
+ /**
+ * Creates a voicemail channel but doesn't associate it with a SIM. For devices with only one SIM
+ * slot this is ideal because there won't be duplication in the settings UI.
+ */
+ private static void createGlobalVoicemailChannel(@NonNull Context context) {
+ NotificationChannel channel = newChannel(context, GLOBAL_VOICEMAIL_CHANNEL_ID, null);
+
+ TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
+ PhoneAccountHandle handle =
+ telecomManager.getDefaultOutgoingPhoneAccount(PhoneAccount.SCHEME_TEL);
+ if (handle == null) {
+ LogUtil.i(
+ "VoicemailChannelUtils.createGlobalVoicemailChannel",
+ "phone account is null, not migrating sound settings");
+ } else if (!isChannelAllowedForAccount(context, handle)) {
+ LogUtil.i(
+ "VoicemailChannelUtils.createGlobalVoicemailChannel",
+ "phone account is not eligable, not migrating sound settings");
+ } else {
+ migrateVoicemailSoundSettings(context, channel, handle);
+ }
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static List<PhoneAccountHandle> getAllEligableAccounts(@NonNull Context context) {
+ List<PhoneAccountHandle> handles = new ArrayList<>();
+ TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
+ for (PhoneAccountHandle handle : telecomManager.getCallCapablePhoneAccounts()) {
+ if (isChannelAllowedForAccount(context, handle)) {
+ handles.add(handle);
+ }
+ }
+ return handles;
+ }
+
+ private static void createVoicemailChannelForAccount(
+ @NonNull Context context, @NonNull PhoneAccountHandle handle) {
+ PhoneAccount phoneAccount =
+ context.getSystemService(TelecomManager.class).getPhoneAccount(handle);
+ NotificationChannel channel =
+ newChannel(context, getChannelIdForAccount(handle), phoneAccount.getLabel());
+ migrateVoicemailSoundSettings(context, channel, handle);
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static void migrateVoicemailSoundSettings(
+ @NonNull Context context,
+ @NonNull NotificationChannel channel,
+ @NonNull PhoneAccountHandle handle) {
+ TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
+ channel.enableVibration(telephonyManager.isVoicemailVibrationEnabled(handle));
+ channel.setSound(
+ telephonyManager.getVoicemailRingtoneUri(handle),
+ new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ }
+
+ private static boolean isChannelAllowedForAccount(
+ @NonNull Context context, @NonNull PhoneAccountHandle handle) {
+ PhoneAccount phoneAccount =
+ context.getSystemService(TelecomManager.class).getPhoneAccount(handle);
+ if (phoneAccount == null) {
+ return false;
+ }
+ if (!phoneAccount.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)) {
+ return false;
+ }
+ return true;
+ }
+
+ private static NotificationChannel newChannel(
+ @NonNull Context context, @NonNull String channelId, @Nullable CharSequence nameSuffix) {
+ CharSequence name = context.getText(R.string.notification_channel_voicemail);
+ // TODO(sail): Use a string resource template after v10.
+ if (!TextUtils.isEmpty(nameSuffix)) {
+ name = TextUtils.concat(name, ": ", nameSuffix);
+ }
+
+ NotificationChannel channel =
+ new NotificationChannel(channelId, name, NotificationManager.IMPORTANCE_DEFAULT);
+ channel.setShowBadge(true);
+ channel.enableLights(true);
+ channel.enableVibration(true);
+ channel.setSound(
+ Settings.System.DEFAULT_NOTIFICATION_URI,
+ new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ return channel;
+ }
+
+ private static boolean isSingleSimDevice(@NonNull Context context) {
+ return context.getSystemService(TelephonyManager.class).getPhoneCount() <= 1;
+ }
+
+ private VoicemailChannelUtils() {}
+}
diff --git a/java/com/android/dialer/notification/res/values-af/strings.xml b/java/com/android/dialer/notification/res/values-af/strings.xml
index 08dd754dd..e48249b3c 100644
--- a/java/com/android/dialer/notification/res/values-af/strings.xml
+++ b/java/com/android/dialer/notification/res/values-af/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Deurlopende oproepe"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Gemiste oproepe"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Stemboodskappe"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Ekterne oproepe"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Verstek"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-am/strings.xml b/java/com/android/dialer/notification/res/values-am/strings.xml
index 56d6c2ca1..0983e0591 100644
--- a/java/com/android/dialer/notification/res/values-am/strings.xml
+++ b/java/com/android/dialer/notification/res/values-am/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"በመካሄድ ላይ ያሉ ጥሪዎች"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ያመለጡ ጥሪዎች"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"የድምፅ መልዕክቶች"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ውጫዊ ጥሪዎች"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ነባሪ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ar/strings.xml b/java/com/android/dialer/notification/res/values-ar/strings.xml
index 71857c274..ab6059ff1 100644
--- a/java/com/android/dialer/notification/res/values-ar/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ar/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"المكالمات الجارية"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"المكالمات الفائتة"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"رسائل البريد الصوتي"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"المكالمات الخارجية"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"افتراضي"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-az/strings.xml b/java/com/android/dialer/notification/res/values-az/strings.xml
index f907e554e..425f30ad7 100644
--- a/java/com/android/dialer/notification/res/values-az/strings.xml
+++ b/java/com/android/dialer/notification/res/values-az/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Gedən zənglər"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Buraxılmış zənglər"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Səsli məktublar"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"External calls"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Defolt"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml
index 4d5b5e78a..4598e7644 100644
--- a/java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pozivi u toku"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Propušteni pozivi"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Govorne poruke"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Spoljni pozivi"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Podrazumevano"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-be/strings.xml b/java/com/android/dialer/notification/res/values-be/strings.xml
index 70defe342..586a36c31 100644
--- a/java/com/android/dialer/notification/res/values-be/strings.xml
+++ b/java/com/android/dialer/notification/res/values-be/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Адбываючыяся выклікі"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Прапушчаныя выклікі"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Галасавая пошта"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Знешнія выклікі"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Стандартны"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-bg/strings.xml b/java/com/android/dialer/notification/res/values-bg/strings.xml
index 1ec202e6c..9bc8f8f02 100644
--- a/java/com/android/dialer/notification/res/values-bg/strings.xml
+++ b/java/com/android/dialer/notification/res/values-bg/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Текущи обаждания"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропуснати обаждания"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Гласови съобщения"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Външни обаждания"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"По подразбиране"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-bn/strings.xml b/java/com/android/dialer/notification/res/values-bn/strings.xml
index 886f8317d..1d7781797 100644
--- a/java/com/android/dialer/notification/res/values-bn/strings.xml
+++ b/java/com/android/dialer/notification/res/values-bn/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"সংযুক্ত কল"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"মিস করা কল"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ভয়েসমেল"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"বাহ্যিক কল"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ডিফল্ট"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-bs/strings.xml b/java/com/android/dialer/notification/res/values-bs/strings.xml
index e408a6468..dedbb1c2d 100644
--- a/java/com/android/dialer/notification/res/values-bs/strings.xml
+++ b/java/com/android/dialer/notification/res/values-bs/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Tekući pozivi"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Propušteni pozivi"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Poruke govorne pošte"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Vanjski pozivi"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Zadano"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ca/strings.xml b/java/com/android/dialer/notification/res/values-ca/strings.xml
index ea81b627a..1c19d0f74 100644
--- a/java/com/android/dialer/notification/res/values-ca/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ca/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Trucades en curs"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Trucades perdudes"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Missatges de veu"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Trucades externes"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predeterminat"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-cs/strings.xml b/java/com/android/dialer/notification/res/values-cs/strings.xml
index 9ea7b61ca..c428ca2f3 100644
--- a/java/com/android/dialer/notification/res/values-cs/strings.xml
+++ b/java/com/android/dialer/notification/res/values-cs/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Probíhající hovory"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Zmeškané hovory"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Hlasové zprávy"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externí hovory"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Výchozí"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-da/strings.xml b/java/com/android/dialer/notification/res/values-da/strings.xml
index e4fc4dded..7f0ce9f10 100644
--- a/java/com/android/dialer/notification/res/values-da/strings.xml
+++ b/java/com/android/dialer/notification/res/values-da/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Igangværende opkald"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Ubesvarede opkald"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Talebeskeder"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Eksterne opkald"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-de/strings.xml b/java/com/android/dialer/notification/res/values-de/strings.xml
index 7fce6bf47..86b752016 100644
--- a/java/com/android/dialer/notification/res/values-de/strings.xml
+++ b/java/com/android/dialer/notification/res/values-de/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Laufende Anrufe"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Entgangene Anrufe"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mailboxnachrichten"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externe Anrufe"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-el/strings.xml b/java/com/android/dialer/notification/res/values-el/strings.xml
index a25bb43e9..812dc2564 100644
--- a/java/com/android/dialer/notification/res/values-el/strings.xml
+++ b/java/com/android/dialer/notification/res/values-el/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Κλήσεις σε εξέλιξη"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Αναπάντητες κλήσεις"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Μηνύματα αυτόματου τηλεφωνητή"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Εξωτερικές κλήσεις"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Προεπιλογή"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-en-rAU/strings.xml b/java/com/android/dialer/notification/res/values-en-rAU/strings.xml
index 7d4bd825b..43b722beb 100644
--- a/java/com/android/dialer/notification/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/notification/res/values-en-rAU/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Ongoing calls"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Missed calls"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Voicemail"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"External calls"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-en-rGB/strings.xml b/java/com/android/dialer/notification/res/values-en-rGB/strings.xml
index 7d4bd825b..43b722beb 100644
--- a/java/com/android/dialer/notification/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/notification/res/values-en-rGB/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Ongoing calls"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Missed calls"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Voicemail"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"External calls"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-en-rIN/strings.xml b/java/com/android/dialer/notification/res/values-en-rIN/strings.xml
index 7d4bd825b..43b722beb 100644
--- a/java/com/android/dialer/notification/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/notification/res/values-en-rIN/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Ongoing calls"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Missed calls"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Voicemail"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"External calls"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-es-rUS/strings.xml b/java/com/android/dialer/notification/res/values-es-rUS/strings.xml
index fe8fe1354..c56edcfe6 100644
--- a/java/com/android/dialer/notification/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/notification/res/values-es-rUS/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Llamadas en curso"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Llamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mensajes de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Llamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predeterminado"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-es/strings.xml b/java/com/android/dialer/notification/res/values-es/strings.xml
index fe8fe1354..c56edcfe6 100644
--- a/java/com/android/dialer/notification/res/values-es/strings.xml
+++ b/java/com/android/dialer/notification/res/values-es/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Llamadas en curso"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Llamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mensajes de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Llamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predeterminado"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-et/strings.xml b/java/com/android/dialer/notification/res/values-et/strings.xml
index 41623951f..9c60a3195 100644
--- a/java/com/android/dialer/notification/res/values-et/strings.xml
+++ b/java/com/android/dialer/notification/res/values-et/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Käimasolevad kõned"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Vastamata kõned"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Kõnepostisõnumid"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Välised kõned"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Vaikeseade"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-eu/strings.xml b/java/com/android/dialer/notification/res/values-eu/strings.xml
index 326ac0ab6..d94ac0ab6 100644
--- a/java/com/android/dialer/notification/res/values-eu/strings.xml
+++ b/java/com/android/dialer/notification/res/values-eu/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Abian diren deiak"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Dei galduak"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Ahots-mezuak"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Kanpoko deiak"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Lehenetsia"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-fa/strings.xml b/java/com/android/dialer/notification/res/values-fa/strings.xml
index f1a7efc3d..edbc98336 100644
--- a/java/com/android/dialer/notification/res/values-fa/strings.xml
+++ b/java/com/android/dialer/notification/res/values-fa/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"تماس‌های درحال انجام"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"تماس‌های بی‌پاسخ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"پست‌های صوتی"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"تماس‌های خارجی"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"پیش‌فرض"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-fi/strings.xml b/java/com/android/dialer/notification/res/values-fi/strings.xml
index c88c2325a..87652f8a8 100644
--- a/java/com/android/dialer/notification/res/values-fi/strings.xml
+++ b/java/com/android/dialer/notification/res/values-fi/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Käynnissä olevat puhelut"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Vastaamattomat puhelut"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Vastaajaviestit"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Ulkopuoliset puhelut"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Oletus"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-fr-rCA/strings.xml b/java/com/android/dialer/notification/res/values-fr-rCA/strings.xml
index a21d6b28b..5a2d7dcfe 100644
--- a/java/com/android/dialer/notification/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/notification/res/values-fr-rCA/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Appels en cours"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Appels manqués"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Messages vocaux"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Appels externes"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Par défaut"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-fr/strings.xml b/java/com/android/dialer/notification/res/values-fr/strings.xml
index a21d6b28b..5a2d7dcfe 100644
--- a/java/com/android/dialer/notification/res/values-fr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-fr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Appels en cours"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Appels manqués"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Messages vocaux"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Appels externes"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Par défaut"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-gl/strings.xml b/java/com/android/dialer/notification/res/values-gl/strings.xml
index 3b57a59b3..0e7fb612b 100644
--- a/java/com/android/dialer/notification/res/values-gl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-gl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chamadas saíntes"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Correos de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predeterminado"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-gu/strings.xml b/java/com/android/dialer/notification/res/values-gu/strings.xml
index f185e5971..a4a0a7ae1 100644
--- a/java/com/android/dialer/notification/res/values-gu/strings.xml
+++ b/java/com/android/dialer/notification/res/values-gu/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ચાલુ કૉલ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"છૂટેલા કૉલ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"વૉઇસમેઇલ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"બાહ્ય કૉલ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ડિફૉલ્ટ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-hi/strings.xml b/java/com/android/dialer/notification/res/values-hi/strings.xml
index 89c8e5547..69ed9b0b2 100644
--- a/java/com/android/dialer/notification/res/values-hi/strings.xml
+++ b/java/com/android/dialer/notification/res/values-hi/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"चल रहे कॉल"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"छूटे कॉल"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"वॉइसमेल"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"बाहरी कॉल"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"डिफ़ॉल्ट"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-hr/strings.xml b/java/com/android/dialer/notification/res/values-hr/strings.xml
index 9f786d7d8..a5924c3ce 100644
--- a/java/com/android/dialer/notification/res/values-hr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-hr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pozivi u tijeku"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Propušteni pozivi"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Poruke govorne pošte"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Vanjski pozivi"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Zadano"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-hu/strings.xml b/java/com/android/dialer/notification/res/values-hu/strings.xml
index 09fa795d6..719252f0f 100644
--- a/java/com/android/dialer/notification/res/values-hu/strings.xml
+++ b/java/com/android/dialer/notification/res/values-hu/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Kimenő hívások"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Nem fogadott hívások"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Hangüzenetek"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Külső hívások"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Alapértelmezett"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-hy/strings.xml b/java/com/android/dialer/notification/res/values-hy/strings.xml
index 693898a55..6bb2c34e3 100644
--- a/java/com/android/dialer/notification/res/values-hy/strings.xml
+++ b/java/com/android/dialer/notification/res/values-hy/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Ընթացիկ զանգեր"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Բաց թողնված զանգեր"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Ձայնային փոստ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Արտաքին զանգեր"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Կանխադրված"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-in/strings.xml b/java/com/android/dialer/notification/res/values-in/strings.xml
index 405b2927d..88ef3d524 100644
--- a/java/com/android/dialer/notification/res/values-in/strings.xml
+++ b/java/com/android/dialer/notification/res/values-in/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Panggilan keluar"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Panggilan tak terjawab"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Pesan suara"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Panggilan eksternal"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-is/strings.xml b/java/com/android/dialer/notification/res/values-is/strings.xml
index be84917fc..166d97443 100644
--- a/java/com/android/dialer/notification/res/values-is/strings.xml
+++ b/java/com/android/dialer/notification/res/values-is/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Símtöl í gangi"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Ósvöruð símtöl"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Talhólfsskilaboð"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Utanaðkomandi símtöl"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Sjálfgefið"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-it/strings.xml b/java/com/android/dialer/notification/res/values-it/strings.xml
index 1ac6e2d41..7b55da991 100644
--- a/java/com/android/dialer/notification/res/values-it/strings.xml
+++ b/java/com/android/dialer/notification/res/values-it/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chiamate in uscita"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chiamate perse"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Messaggi vocali"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chiamate esterne"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predefinito"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-iw/strings.xml b/java/com/android/dialer/notification/res/values-iw/strings.xml
index ed07b8643..2b8b9df33 100644
--- a/java/com/android/dialer/notification/res/values-iw/strings.xml
+++ b/java/com/android/dialer/notification/res/values-iw/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"שיחות יוצאות"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"שיחות שלא נענו"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"הודעות קוליות"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"שיחות חיצוניות"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ברירת מחדל"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ja/strings.xml b/java/com/android/dialer/notification/res/values-ja/strings.xml
index 3265d7266..2ff8da7d0 100644
--- a/java/com/android/dialer/notification/res/values-ja/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ja/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"通話中"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"不在着信"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ボイスメール"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"外部通話"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"デフォルト"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ka/strings.xml b/java/com/android/dialer/notification/res/values-ka/strings.xml
index 6d81465e2..73394efeb 100644
--- a/java/com/android/dialer/notification/res/values-ka/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ka/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"გამავალი ზარები"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"გამოტოვებული ზარები"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ხმოვანი ფოსტა"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"გარე ზარები"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ნაგულისხმევი"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-kk/strings.xml b/java/com/android/dialer/notification/res/values-kk/strings.xml
index 35733fb04..8151c9ca9 100644
--- a/java/com/android/dialer/notification/res/values-kk/strings.xml
+++ b/java/com/android/dialer/notification/res/values-kk/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Қазіргі қоңыраулар"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Қабылданбаған қоңыраулар"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Дауыстық хабарлар"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Сыртқы қоңыраулар"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Әдепкі"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-km/strings.xml b/java/com/android/dialer/notification/res/values-km/strings.xml
index 42bc11350..22131ff39 100644
--- a/java/com/android/dialer/notification/res/values-km/strings.xml
+++ b/java/com/android/dialer/notification/res/values-km/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ការ​ហៅ​បន្ត"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ការ​ហៅ​ដែល​មិន​បាន​ទទួល"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"សារ​ជា​សំឡេង"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ការ​ហៅខាង​ក្រៅ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"លំ​នាំ​ដើម"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-kn/strings.xml b/java/com/android/dialer/notification/res/values-kn/strings.xml
index 45f26e378..d6e55bdb1 100644
--- a/java/com/android/dialer/notification/res/values-kn/strings.xml
+++ b/java/com/android/dialer/notification/res/values-kn/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಗಳು"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ಮಿಸ್ಡ್‌ ಕರೆಗಳು"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ಧ್ವನಿಮೇಲ್‌ಗಳು"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ಹೊರಗಿನ ಕರೆಗಳು"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ಡಿಫಾಲ್ಟ್"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ko/strings.xml b/java/com/android/dialer/notification/res/values-ko/strings.xml
index d806cad06..5a667176d 100644
--- a/java/com/android/dialer/notification/res/values-ko/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ko/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"진행 중인 전화"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"부재중 전화"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"음성사서함"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"외부 전화"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"기본"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ky/strings.xml b/java/com/android/dialer/notification/res/values-ky/strings.xml
index eb6adf6e7..c5259315a 100644
--- a/java/com/android/dialer/notification/res/values-ky/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ky/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Учурдагы чалуулар"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Кабыл алынбаган чалуулар"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Үнкаттар"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Тышкы чалуулар"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Демейки"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-lo/strings.xml b/java/com/android/dialer/notification/res/values-lo/strings.xml
index f439807de..a52d9df14 100644
--- a/java/com/android/dialer/notification/res/values-lo/strings.xml
+++ b/java/com/android/dialer/notification/res/values-lo/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ສາຍໂທອອກ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ສາຍບໍ່ໄດ້ຮັບ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ຂໍ້ຄວາມສຽງ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ສາຍພາຍນອກ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ຄ່າເລີ່ມຕົ້ນ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-lt/strings.xml b/java/com/android/dialer/notification/res/values-lt/strings.xml
index f08697ad6..6f26d3e66 100644
--- a/java/com/android/dialer/notification/res/values-lt/strings.xml
+++ b/java/com/android/dialer/notification/res/values-lt/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Vykstantys skambučiai"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Praleisti skambučiai"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Balso pašto pranešimai"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Išoriniai skambučiai"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Numatytasis"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-lv/strings.xml b/java/com/android/dialer/notification/res/values-lv/strings.xml
index d465b682d..1819d810a 100644
--- a/java/com/android/dialer/notification/res/values-lv/strings.xml
+++ b/java/com/android/dialer/notification/res/values-lv/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Aktīvie zvani"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Neatbildētie zvani"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Balss pasta ziņojumi"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Ārējie zvani"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Noklusējums"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-mk/strings.xml b/java/com/android/dialer/notification/res/values-mk/strings.xml
index 838065ba9..56459c479 100644
--- a/java/com/android/dialer/notification/res/values-mk/strings.xml
+++ b/java/com/android/dialer/notification/res/values-mk/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Појдовни повици"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропуштени повици"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Говорни пораки"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Надворешни повици"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Стандардно"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ml/strings.xml b/java/com/android/dialer/notification/res/values-ml/strings.xml
index 448186a36..49a64e8f5 100644
--- a/java/com/android/dialer/notification/res/values-ml/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ml/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"നിലവിലുള്ള കോളുകൾ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"മിസ്‌ഡ് കോളുകൾ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"വോയ്‌സ്മെയിലുകൾ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"എക്‌സ്റ്റേണൽ കോളുകൾ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ഡിഫോൾട്ട്"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-mn/strings.xml b/java/com/android/dialer/notification/res/values-mn/strings.xml
index 3dca52e6b..28297b3c1 100644
--- a/java/com/android/dialer/notification/res/values-mn/strings.xml
+++ b/java/com/android/dialer/notification/res/values-mn/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Үргэлжилж буй дуудлага"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Аваагүй дуудлага"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Дуут шуудан"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Гадаад дуудлага"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Өгөгдмөл"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-mr/strings.xml b/java/com/android/dialer/notification/res/values-mr/strings.xml
index 568537640..38fbd606a 100644
--- a/java/com/android/dialer/notification/res/values-mr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-mr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"सुरू असलेले कॉल"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"सुटलेले कॉल"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"व्हॉइसमेल"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"बाह्य कॉल"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"डीफॉल्ट"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ms/strings.xml b/java/com/android/dialer/notification/res/values-ms/strings.xml
index a1961c4a4..ec7be04ef 100644
--- a/java/com/android/dialer/notification/res/values-ms/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ms/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Panggilan sedang berlangsung"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Panggilan terlepas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mel suara"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Panggilan luar"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Lalai"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-my/strings.xml b/java/com/android/dialer/notification/res/values-my/strings.xml
index 26398b459..44df84798 100644
--- a/java/com/android/dialer/notification/res/values-my/strings.xml
+++ b/java/com/android/dialer/notification/res/values-my/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"လက်ရှိခေါ်ဆိုမှုများ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"လွဲသွားသော ခေါ်ဆိုမှုများ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"အသံစာပို့စနစ်များ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ပြင်ပခေါ်ဆိုမှုများ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"မူရင်း"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-nb/strings.xml b/java/com/android/dialer/notification/res/values-nb/strings.xml
index e4ccd48a0..8e63fd24b 100644
--- a/java/com/android/dialer/notification/res/values-nb/strings.xml
+++ b/java/com/android/dialer/notification/res/values-nb/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pågående samtaler"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Tapte anrop"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Talepost"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Eksterne anrop"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ne/strings.xml b/java/com/android/dialer/notification/res/values-ne/strings.xml
index 8ccd2997a..e653bb3f8 100644
--- a/java/com/android/dialer/notification/res/values-ne/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ne/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"जारी रहेका कलहरू"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"छुटेका कलहरू"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"भ्वाइस मेलहरू"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"बाह्य कलहरू"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"पूर्वनिर्धारित मान"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-nl/strings.xml b/java/com/android/dialer/notification/res/values-nl/strings.xml
index e46dd19e3..094cc357f 100644
--- a/java/com/android/dialer/notification/res/values-nl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-nl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Actieve oproepen"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Gemiste oproepen"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Voicemails"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externe oproepen"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standaard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-no/strings.xml b/java/com/android/dialer/notification/res/values-no/strings.xml
index e4ccd48a0..8e63fd24b 100644
--- a/java/com/android/dialer/notification/res/values-no/strings.xml
+++ b/java/com/android/dialer/notification/res/values-no/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pågående samtaler"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Tapte anrop"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Talepost"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Eksterne anrop"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pa/strings.xml b/java/com/android/dialer/notification/res/values-pa/strings.xml
index 40709c1ac..c4ee97b22 100644
--- a/java/com/android/dialer/notification/res/values-pa/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pa/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ਖੁੰਝੀਆਂ ਕਾਲਾਂ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ਵੌਇਸਮੇਲਾਂ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ਬਾਹਰੀ ਕਾਲਾਂ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pl/strings.xml b/java/com/android/dialer/notification/res/values-pl/strings.xml
index 73b795cff..4b3346001 100644
--- a/java/com/android/dialer/notification/res/values-pl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Połączenia trwające"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Połączenia nieodebrane"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Wiadomości głosowe"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Połączenia zewnętrzne"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Domyślny"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pt-rBR/strings.xml b/java/com/android/dialer/notification/res/values-pt-rBR/strings.xml
index f6e41cb11..4b988c3cc 100644
--- a/java/com/android/dialer/notification/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pt-rBR/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chamadas em andamento"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Correios de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Padrão"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pt-rPT/strings.xml b/java/com/android/dialer/notification/res/values-pt-rPT/strings.xml
index ec42a5bf5..45b31ebd0 100644
--- a/java/com/android/dialer/notification/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pt-rPT/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chamadas efetuadas"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chamadas não atendidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mensagens de correio de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predefinição"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pt/strings.xml b/java/com/android/dialer/notification/res/values-pt/strings.xml
index f6e41cb11..4b988c3cc 100644
--- a/java/com/android/dialer/notification/res/values-pt/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pt/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chamadas em andamento"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Correios de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Padrão"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ro/strings.xml b/java/com/android/dialer/notification/res/values-ro/strings.xml
index 7deeabba3..040c58ad2 100644
--- a/java/com/android/dialer/notification/res/values-ro/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ro/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Apeluri în desfășurare"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Apeluri nepreluate"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mesaje vocale"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Apeluri externe"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Prestabilit"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ru/strings.xml b/java/com/android/dialer/notification/res/values-ru/strings.xml
index 3a1140455..a8117990a 100644
--- a/java/com/android/dialer/notification/res/values-ru/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ru/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Текущие вызовы"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропущенные вызовы"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Голосовые сообщения"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Внешние вызовы"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"По умолчанию"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-si/strings.xml b/java/com/android/dialer/notification/res/values-si/strings.xml
index bf0a5a798..3ad0af729 100644
--- a/java/com/android/dialer/notification/res/values-si/strings.xml
+++ b/java/com/android/dialer/notification/res/values-si/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"යන ඇමතුම්"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"මඟ හැරුණු ඇමතුම්"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"හඬ තැපැල්"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"බාහිර ඇමතුම්"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"පෙරනිමි"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sk/strings.xml b/java/com/android/dialer/notification/res/values-sk/strings.xml
index 4a67e60d2..30941bcd5 100644
--- a/java/com/android/dialer/notification/res/values-sk/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sk/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Prebiehajúce hovory"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Zmeškané hovory"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Hlasové správy"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externé hovory"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predvolené"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sl/strings.xml b/java/com/android/dialer/notification/res/values-sl/strings.xml
index e54111d12..70474b87b 100644
--- a/java/com/android/dialer/notification/res/values-sl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Aktivni klici"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Neodgovorjeni klici"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Sporočila v odzivniku"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Zunanji klici"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Privzeto"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sq/strings.xml b/java/com/android/dialer/notification/res/values-sq/strings.xml
index 42d4daac3..03bc24775 100644
--- a/java/com/android/dialer/notification/res/values-sq/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sq/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Telefonatat në vazhdim"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Telefonatat e humbura"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Postat zanore"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Telefonatat e jashtme"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"I parazgjedhur"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sr/strings.xml b/java/com/android/dialer/notification/res/values-sr/strings.xml
index 10477170f..8326c0403 100644
--- a/java/com/android/dialer/notification/res/values-sr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Позиви у току"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропуштени позиви"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Говорне поруке"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Спољни позиви"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Подразумевано"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sv/strings.xml b/java/com/android/dialer/notification/res/values-sv/strings.xml
index 6c9ff83b7..e3170d48f 100644
--- a/java/com/android/dialer/notification/res/values-sv/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sv/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pågående samtal"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Missade samtal"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Röstmeddelanden"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externa samtal"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sw/strings.xml b/java/com/android/dialer/notification/res/values-sw/strings.xml
index a493f8897..d0a65b08c 100644
--- a/java/com/android/dialer/notification/res/values-sw/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sw/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Simu zinazoendelea"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Simu ambazo hukujibu"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Ujumbe wa sauti"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Simu za nje"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Chaguo-msingi"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ta/strings.xml b/java/com/android/dialer/notification/res/values-ta/strings.xml
index d3000cf90..8a6ae89a8 100644
--- a/java/com/android/dialer/notification/res/values-ta/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ta/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"செயலில் உள்ள அழைப்புகள்"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"தவறிய அழைப்புகள்"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"குரலஞ்சல்கள்"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"வெளி அழைப்புகள்"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"இயல்பு"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-te/strings.xml b/java/com/android/dialer/notification/res/values-te/strings.xml
index b14b21071..b1911d34d 100644
--- a/java/com/android/dialer/notification/res/values-te/strings.xml
+++ b/java/com/android/dialer/notification/res/values-te/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"కొనసాగుతున్న కాల్‌లు"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"సమాధానమివ్వని కాల్‌లు"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"వాయిస్ మెయిల్‌లు"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"బాహ్య కాల్‌లు"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"డిఫాల్ట్"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-th/strings.xml b/java/com/android/dialer/notification/res/values-th/strings.xml
index 45248bbbe..b2949e42f 100644
--- a/java/com/android/dialer/notification/res/values-th/strings.xml
+++ b/java/com/android/dialer/notification/res/values-th/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"สายที่สนทนาอยู่"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"สายที่ไม่ได้รับ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ข้อความเสียง"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"สายนอก"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ค่าเริ่มต้น"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-tl/strings.xml b/java/com/android/dialer/notification/res/values-tl/strings.xml
index 3e88a055f..1219ad86f 100644
--- a/java/com/android/dialer/notification/res/values-tl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-tl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Mga kasalukuyang tawag"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Mga hindi nasagot na tawag"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mga voicemail"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Mga external na tawag"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-tr/strings.xml b/java/com/android/dialer/notification/res/values-tr/strings.xml
index d4e063bc2..71c91c806 100644
--- a/java/com/android/dialer/notification/res/values-tr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-tr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Devam eden çağrılar"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Cevapsız çağrılar"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Sesli mesajlar"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Harici çağrılar"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Varsayılan"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-uk/strings.xml b/java/com/android/dialer/notification/res/values-uk/strings.xml
index a83a58460..a002f42e1 100644
--- a/java/com/android/dialer/notification/res/values-uk/strings.xml
+++ b/java/com/android/dialer/notification/res/values-uk/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Поточні виклики"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропущені виклики"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Голосова пошта"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Зовнішні виклики"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"За умовчанням"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ur/strings.xml b/java/com/android/dialer/notification/res/values-ur/strings.xml
index ba6e0d1da..805fe08f8 100644
--- a/java/com/android/dialer/notification/res/values-ur/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ur/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"جاری کالیں"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"چھوٹی ہوئی کالیں"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"صوتی میلز"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"بیرونی کالیں"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ڈیفالٹ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-uz/strings.xml b/java/com/android/dialer/notification/res/values-uz/strings.xml
index d45ff47d2..16075b031 100644
--- a/java/com/android/dialer/notification/res/values-uz/strings.xml
+++ b/java/com/android/dialer/notification/res/values-uz/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Davom etayotgan suhbatlar"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Javobsiz chaqiruvlar"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Ovozli xabarlar"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Tashqi chaqiruvlar"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standart"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-vi/strings.xml b/java/com/android/dialer/notification/res/values-vi/strings.xml
index 6df88721e..b6ab3d2d8 100644
--- a/java/com/android/dialer/notification/res/values-vi/strings.xml
+++ b/java/com/android/dialer/notification/res/values-vi/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Cuộc gọi đến"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Cuộc gọi nhỡ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Thư thoại"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Cuộc gọi bên ngoài"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Mặc định"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-zh-rCN/strings.xml b/java/com/android/dialer/notification/res/values-zh-rCN/strings.xml
index fa5f0a657..1ef46c2b9 100644
--- a/java/com/android/dialer/notification/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/notification/res/values-zh-rCN/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"正在进行的通话"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"未接电话"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"语音邮件"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"外部来电"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"默认"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-zh-rHK/strings.xml b/java/com/android/dialer/notification/res/values-zh-rHK/strings.xml
index 307a7f9bf..43a6fabf6 100644
--- a/java/com/android/dialer/notification/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/notification/res/values-zh-rHK/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"進行中的通話"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"未接來電"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"留言信箱"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"外部通話"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"預設"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-zh-rTW/strings.xml b/java/com/android/dialer/notification/res/values-zh-rTW/strings.xml
index 054a2d737..35236be1d 100644
--- a/java/com/android/dialer/notification/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/notification/res/values-zh-rTW/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"進行中的通話"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"未接來電"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"語音留言"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"外部通話"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"預設"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-zu/strings.xml b/java/com/android/dialer/notification/res/values-zu/strings.xml
index 744ffc816..f3d95531f 100644
--- a/java/com/android/dialer/notification/res/values-zu/strings.xml
+++ b/java/com/android/dialer/notification/res/values-zu/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Amakholi aqhubekayo"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Amakholi akuphuthile"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Amavoyisimeyili"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Amakholi angaphandle"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Okuzenzakalelayo"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values/ids.xml b/java/com/android/dialer/notification/res/values/ids.xml
deleted file mode 100644
index c965f319d..000000000
--- a/java/com/android/dialer/notification/res/values/ids.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ 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
- -->
-
-<resources>
- <item name="notification_ongoing_call" type="id"/>
- <item name="notification_missed_call" type="id"/>
- <item name="notification_visual_voicemail" type="id"/>
- <item name="notification_legacy_voicemail" type="id"/>
- <item name="notification_external_call" type="id"/>
- <item name="notification_call_blocking_disabled_by_emergency_call" type="id"/>
- <item name="notification_spam_call" type="id"/>
- <item name="notification_feedback" type="id"/>
-</resources>
diff --git a/java/com/android/dialer/notification/res/values/strings.xml b/java/com/android/dialer/notification/res/values/strings.xml
index cb3119f67..a3c6935aa 100644
--- a/java/com/android/dialer/notification/res/values/strings.xml
+++ b/java/com/android/dialer/notification/res/values/strings.xml
@@ -20,7 +20,6 @@
<string name="notification_channel_ongoing_call">Ongoing calls</string>
<string name="notification_channel_missed_call">Missed calls</string>
<string name="notification_channel_voicemail">Voicemails</string>
- <string name="notification_channel_external_call">External calls</string>
<!-- [CHAR LIMIT=NONE] Catch-all channel for notifications that don't fit into one of the others -->
<string name="notification_channel_misc">Default</string>
</resources>