DO NOT MERGE - Skip qt-dev-plus-aosp-without-vendor (5713463) in stage-aosp-master

Bug: 134405016
Change-Id: I80e9ac9e5e6a21ebd94543865b8f75c20020360d
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6c9846d..e28206d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2622,6 +2622,8 @@
     <string name="emergency_address_summary">Used as your location when you make an emergency call over Wi\u2011Fi</string>
     <!-- Message of private dns that provides a help link. [CHAR LIMIT=NONE] -->
     <string name="private_dns_help_message"><annotation id="url">Learn more</annotation> about Private DNS features</string>
+    <!-- Message to display when private dns is on. [CHAR LIMIT=10] -->
+    <string name="private_dns_mode_on">On</string>
 
     <!-- Message to display when setting wifi calling are not editable [CHAR LIMIT=NONE] -->
     <string name="wifi_calling_pref_managed_by_carrier">Setting managed by carrier</string>
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index b7cdcf3..5c6fe9c 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -1621,14 +1621,14 @@
                 }
                 log("switching to phone " + phoneIndex);
                 // getSubId says it takes a slotIndex, but it actually takes a phone index
+                int subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
                 int[] subIds = SubscriptionManager.getSubId(phoneIndex);
-                if (subIds == null || subIds.length < 1) {
-                    log("no subscription found for phoneIndex " + phoneIndex);
-                    return;
+                if (subIds != null && subIds.length > 0) {
+                    subId = subIds[0];
                 }
                 mSelectedPhoneIndex = phoneIndex;
 
-                updatePhoneIndex(phoneIndex, subIds[0]);
+                updatePhoneIndex(phoneIndex, subId);
             }
         }
 
diff --git a/src/com/android/settings/network/PrivateDnsPreferenceController.java b/src/com/android/settings/network/PrivateDnsPreferenceController.java
index 47c3a95..84cae88 100644
--- a/src/com/android/settings/network/PrivateDnsPreferenceController.java
+++ b/src/com/android/settings/network/PrivateDnsPreferenceController.java
@@ -126,11 +126,7 @@
             case PRIVATE_DNS_MODE_OFF:
                 return res.getString(R.string.private_dns_mode_off);
             case PRIVATE_DNS_MODE_OPPORTUNISTIC:
-                // TODO (b/79122154) : create a string specifically for this, instead of
-                // hijacking a string from notifications. This is necessary at this time
-                // because string freeze is in the past and this string has the right
-                // content at this moment.
-                return dnsesResolved ? res.getString(R.string.switch_on_text)
+                return dnsesResolved ? res.getString(R.string.private_dns_mode_on)
                         : res.getString(R.string.private_dns_mode_opportunistic);
             case PRIVATE_DNS_MODE_PROVIDER_HOSTNAME:
                 return dnsesResolved
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
index 15fa5de..efb77eb 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
@@ -213,7 +213,7 @@
         when(lp.getValidatedPrivateDnsServers()).thenReturn(NON_EMPTY_ADDRESS_LIST);
         updateLinkProperties(lp);
         mController.updateState(mPreference);
-        verify(mPreference).setSummary(getResourceString(R.string.switch_on_text));
+        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_on));
 
         reset(mPreference);
         lp = mock(LinkProperties.class);