Check if WFC enabled by platform when decide whether to show the
WFC prompt.
Test: Manual
Bug: 137605803
Change-Id: I1c75cf15d2904e729c06f5fef6bd1b9d671b56e7
diff --git a/src/com/android/phone/ImsUtil.java b/src/com/android/phone/ImsUtil.java
index 18fc534..38936ec 100644
--- a/src/com/android/phone/ImsUtil.java
+++ b/src/com/android/phone/ImsUtil.java
@@ -113,12 +113,18 @@
public static boolean shouldPromoteWfc(Context context, int phoneId) {
CarrierConfigManager cfgManager = (CarrierConfigManager) context
.getSystemService(Context.CARRIER_CONFIG_SERVICE);
- if (cfgManager == null || !cfgManager.getConfigForSubId(getSubId(phoneId))
- .getBoolean(CarrierConfigManager.KEY_CARRIER_PROMOTE_WFC_ON_CALL_FAIL_BOOL)) {
+
+ ImsManager imsManager = ImsManager.getInstance(context, phoneId);
+ if (!imsManager.isWfcEnabledByPlatform()) {
return false;
}
- if (!getDefaultImsManagerInstance(context).isWfcProvisionedOnDevice()) {
+ if (!imsManager.isWfcProvisionedOnDevice()) {
+ return false;
+ }
+
+ if (cfgManager == null || !cfgManager.getConfigForSubId(getSubId(phoneId))
+ .getBoolean(CarrierConfigManager.KEY_CARRIER_PROMOTE_WFC_ON_CALL_FAIL_BOOL)) {
return false;
}