diff options
Diffstat (limited to 'src/java/com/android/ims')
-rw-r--r-- | src/java/com/android/ims/ImsManager.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java index 54435337..ed1a43af 100644 --- a/src/java/com/android/ims/ImsManager.java +++ b/src/java/com/android/ims/ImsManager.java @@ -324,6 +324,11 @@ public class ImsManager { log("setWfcSetting() : imsServiceAllowTurnOff -> turnOffIms"); imsManager.turnOffIms(); } + + // Force IMS to register over LTE when turning off WFC + setWfcModeInternal(context, enabled + ? getWfcMode(context) + : ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED); } catch (ImsException e) { loge("setWfcSetting(): " + e); } @@ -349,6 +354,10 @@ public class ImsManager { android.provider.Settings.Global.putInt(context.getContentResolver(), android.provider.Settings.Global.WFC_IMS_MODE, wfcMode); + setWfcModeInternal(context, wfcMode); + } + + private static void setWfcModeInternal(Context context, int wfcMode) { final ImsManager imsManager = ImsManager.getInstance(context, SubscriptionManager.getDefaultVoicePhoneId()); if (imsManager != null) { |