Loading src/com/android/settings/network/ims/VolteQueryImsState.java +14 −0 Original line number Diff line number Diff line Loading @@ -16,11 +16,14 @@ package com.android.settings.network.ims; import static android.telephony.ims.ProvisioningManager.KEY_VOIMS_OPT_IN_STATUS; import android.content.Context; import android.telecom.TelecomManager; import android.telephony.AccessNetworkConstants; import android.telephony.SubscriptionManager; import android.telephony.ims.ImsException; import android.telephony.ims.ProvisioningManager; import android.telephony.ims.feature.MmTelFeature; import android.telephony.ims.stub.ImsRegistrationImplBase; import android.util.Log; Loading Loading @@ -133,4 +136,15 @@ public class VolteQueryImsState extends ImsQueryController { } return isEnabledByUser(mSubId); } /** * Get VoIMS opt-in configuration. * * @return true when VoIMS opt-in has been enabled, otherwise false */ public boolean isVoImsOptInEnabled() { int voImsOptInStatus = ProvisioningManager.createForSubscriptionId(mSubId) .getProvisioningIntValue(KEY_VOIMS_OPT_IN_STATUS); return voImsOptInStatus == ProvisioningManager.PROVISIONING_VALUE_ENABLED; } } src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java +7 −1 Original line number Diff line number Diff line Loading @@ -107,12 +107,18 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc if (!isModeMatched()) { return CONDITIONALLY_UNAVAILABLE; } final VolteQueryImsState queryState = queryImsState(subId); // Show VoLTE settings if VoIMS opt-in has been enabled irrespective of other VoLTE settings if (queryState.isVoImsOptInEnabled()) { return AVAILABLE; } final PersistableBundle carrierConfig = getCarrierConfigForSubId(subId); if ((carrierConfig == null) || carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL)) { return CONDITIONALLY_UNAVAILABLE; } final VolteQueryImsState queryState = queryImsState(subId); if (!queryState.isReadyToVoLte()) { return CONDITIONALLY_UNAVAILABLE; } Loading Loading
src/com/android/settings/network/ims/VolteQueryImsState.java +14 −0 Original line number Diff line number Diff line Loading @@ -16,11 +16,14 @@ package com.android.settings.network.ims; import static android.telephony.ims.ProvisioningManager.KEY_VOIMS_OPT_IN_STATUS; import android.content.Context; import android.telecom.TelecomManager; import android.telephony.AccessNetworkConstants; import android.telephony.SubscriptionManager; import android.telephony.ims.ImsException; import android.telephony.ims.ProvisioningManager; import android.telephony.ims.feature.MmTelFeature; import android.telephony.ims.stub.ImsRegistrationImplBase; import android.util.Log; Loading Loading @@ -133,4 +136,15 @@ public class VolteQueryImsState extends ImsQueryController { } return isEnabledByUser(mSubId); } /** * Get VoIMS opt-in configuration. * * @return true when VoIMS opt-in has been enabled, otherwise false */ public boolean isVoImsOptInEnabled() { int voImsOptInStatus = ProvisioningManager.createForSubscriptionId(mSubId) .getProvisioningIntValue(KEY_VOIMS_OPT_IN_STATUS); return voImsOptInStatus == ProvisioningManager.PROVISIONING_VALUE_ENABLED; } }
src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java +7 −1 Original line number Diff line number Diff line Loading @@ -107,12 +107,18 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc if (!isModeMatched()) { return CONDITIONALLY_UNAVAILABLE; } final VolteQueryImsState queryState = queryImsState(subId); // Show VoLTE settings if VoIMS opt-in has been enabled irrespective of other VoLTE settings if (queryState.isVoImsOptInEnabled()) { return AVAILABLE; } final PersistableBundle carrierConfig = getCarrierConfigForSubId(subId); if ((carrierConfig == null) || carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL)) { return CONDITIONALLY_UNAVAILABLE; } final VolteQueryImsState queryState = queryImsState(subId); if (!queryState.isReadyToVoLte()) { return CONDITIONALLY_UNAVAILABLE; } Loading