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);
}