Snap for 8414339 from 326ceec9a1187ccc9f73045d8d967deafc12af31 to tm-qpr1-release

Change-Id: I06882f7bf893c001e13b93aae7993b977763def2
diff --git a/java/com/android/contacts/common/AndroidManifest.xml b/java/com/android/contacts/common/AndroidManifest.xml
index 8ab5e6e..84ac96f 100644
--- a/java/com/android/contacts/common/AndroidManifest.xml
+++ b/java/com/android/contacts/common/AndroidManifest.xml
@@ -21,7 +21,7 @@
     <activity
       android:name="com.android.contacts.common.dialog.CallSubjectDialog"
       android:theme="@style/Theme.CallSubjectDialogTheme"
-      android:exported="true"
+      android:exported="false"
       android:windowSoftInputMode="stateVisible|adjustResize">
       <intent-filter>
         <action android:name="android.intent.action.VIEW"/>
diff --git a/java/com/android/dialer/app/DevicePolicyResources.java b/java/com/android/dialer/app/DevicePolicyResources.java
new file mode 100644
index 0000000..c783f0b
--- /dev/null
+++ b/java/com/android/dialer/app/DevicePolicyResources.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2022 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.app;
+
+import android.app.admin.DevicePolicyManager;
+
+/**
+ * Class containing the required identifiers to update device management resources.
+ *
+ * <p>See {@link DevicePolicyManager#getDrawable} and {@link DevicePolicyManager#getString}.
+ */
+public class DevicePolicyResources {
+
+    private static final String PREFIX = "Dialer.";
+
+    /**
+     * The title of the in-call notification for an incoming work call.
+     */
+    public static final String NOTIFICATION_INCOMING_WORK_CALL_TITLE =
+            PREFIX + "NOTIFICATION_INCOMING_WORK_CALL_TITLE";
+
+    /**
+     * The title of the in-call notification for an ongoing work call.
+     */
+    public static final String NOTIFICATION_ONGOING_WORK_CALL_TITLE =
+            PREFIX + "NOTIFICATION_ONGOING_WORK_CALL_TITLE";
+
+    /**
+     * Missed call notification label, used when there's exactly one missed call from work
+     * contact.
+     */
+    public static final String NOTIFICATION_MISSED_WORK_CALL_TITLE =
+            PREFIX + "NOTIFICATION_MISSED_WORK_CALL_TITLE";
+
+    /**
+     * Label for notification indicating that call is being made over wifi.
+     */
+    public static final String NOTIFICATION_WIFI_WORK_CALL_LABEL =
+            PREFIX + "NOTIFICATION_WIFI_WORK_CALL_LABEL";
+}
diff --git a/java/com/android/dialer/app/calllog/MissedCallNotifier.java b/java/com/android/dialer/app/calllog/MissedCallNotifier.java
index ffa92d9..f2d2af8 100644
--- a/java/com/android/dialer/app/calllog/MissedCallNotifier.java
+++ b/java/com/android/dialer/app/calllog/MissedCallNotifier.java
@@ -15,7 +15,7 @@
  */
 package com.android.dialer.app.calllog;
 
-import static android.app.admin.DevicePolicyResources.Strings.Dialer.NOTIFICATION_MISSED_WORK_CALL_TITLE;
+import static com.android.dialer.app.DevicePolicyResources.NOTIFICATION_MISSED_WORK_CALL_TITLE;
 
 import android.app.Notification;
 import android.app.Notification.Builder;
@@ -172,7 +172,7 @@
           callLogNotificationsQueryHelper.getContactInfo(
               call.number, call.numberPresentation, call.countryIso);
       if (contactInfo.userType == ContactsUtils.USER_TYPE_WORK) {
-        titleText = context.getSystemService(DevicePolicyManager.class).getString(
+        titleText = context.getSystemService(DevicePolicyManager.class).getResources().getString(
                 NOTIFICATION_MISSED_WORK_CALL_TITLE,
                 () -> context.getString(R.string.notification_missedWorkCallTitle));
       } else {
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index c689fdb..3942851 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -16,11 +16,11 @@
 
 package com.android.incallui;
 
-import static android.app.admin.DevicePolicyResources.Strings.Dialer.NOTIFICATION_INCOMING_WORK_CALL_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.Dialer.NOTIFICATION_ONGOING_WORK_CALL_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.Dialer.NOTIFICATION_WIFI_WORK_CALL_LABEL;
 import static android.telecom.Call.Details.PROPERTY_HIGH_DEF_AUDIO;
 import static com.android.contacts.common.compat.CallCompat.Details.PROPERTY_ENTERPRISE_CALL;
+import static com.android.dialer.app.DevicePolicyResources.NOTIFICATION_INCOMING_WORK_CALL_TITLE;
+import static com.android.dialer.app.DevicePolicyResources.NOTIFICATION_ONGOING_WORK_CALL_TITLE;
+import static com.android.dialer.app.DevicePolicyResources.NOTIFICATION_WIFI_WORK_CALL_LABEL;
 import static com.android.incallui.NotificationBroadcastReceiver.ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST;
 import static com.android.incallui.NotificationBroadcastReceiver.ACTION_ANSWER_SPEAKEASY_CALL;
 import static com.android.incallui.NotificationBroadcastReceiver.ACTION_ANSWER_VIDEO_INCOMING_CALL;
@@ -737,7 +737,7 @@
   private String getOngoingCallNotificationMessage(boolean isWorkCall) {
     if (isWorkCall) {
       DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
-      return dpm.getString(NOTIFICATION_ONGOING_WORK_CALL_TITLE, () ->
+      return dpm.getResources().getString(NOTIFICATION_ONGOING_WORK_CALL_TITLE, () ->
               context.getString(R.string.notification_ongoing_work_call));
     } else {
       return context.getString(R.string.notification_ongoing_call);
@@ -747,7 +747,7 @@
   private String getIncomingCallNotificationMessage(boolean isWorkCall) {
     if (isWorkCall) {
       DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
-      return dpm.getString(NOTIFICATION_INCOMING_WORK_CALL_TITLE, () ->
+      return dpm.getResources().getString(NOTIFICATION_INCOMING_WORK_CALL_TITLE, () ->
               context.getString(R.string.notification_incoming_work_call));
     } else {
       return context.getString(R.string.notification_incoming_call);
@@ -757,7 +757,7 @@
   private String getWifiBrand(boolean isWorkCall) {
     if (isWorkCall) {
       DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
-      return dpm.getString(NOTIFICATION_WIFI_WORK_CALL_LABEL, () ->
+      return dpm.getResources().getString(NOTIFICATION_WIFI_WORK_CALL_LABEL, () ->
               context.getString(R.string.notification_call_wifi_work_brand));
     } else {
       return context.getString(R.string.notification_call_wifi_brand);