Use Activity label for setting the title for wifi-calling preference so that control resides within the Activity.
Bug: 27707719

Change-Id: I74fa451cffa8a8c7ef397cada2a4d9f6f78bb0ab
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index 2f835fe..d74558f 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -288,9 +288,15 @@
             Intent intent = PhoneAccountSettingsFragment.buildPhoneAccountConfigureIntent(
                     this, simCallManager);
             if (intent != null) {
-                wifiCallingSettings.setTitle(R.string.wifi_calling);
-                wifiCallingSettings.setSummary(null);
-                wifiCallingSettings.setIntent(intent);
+                PackageManager pm = mPhone.getContext().getPackageManager();
+                List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
+                if (!resolutions.isEmpty()) {
+                    wifiCallingSettings.setTitle(resolutions.get(0).loadLabel(pm));
+                    wifiCallingSettings.setSummary(null);
+                    wifiCallingSettings.setIntent(intent);
+                } else {
+                    prefSet.removePreference(wifiCallingSettings);
+                }
             } else {
                 prefSet.removePreference(wifiCallingSettings);
             }