Loading src/com/android/settings/network/ims/VolteQueryImsState.java +15 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ import com.android.settings.network.SubscriptionUtil; /** * Controller class for querying Volte status */ public class VolteQueryImsState { public class VolteQueryImsState extends ImsQueryController { private Context mContext; private int mSubId; Loading @@ -42,6 +42,20 @@ public class VolteQueryImsState { mSubId = subId; } /** * Get allowance status for user to alter configuration * * @return true when changing configuration by user is allowed. */ public boolean isAllowUserControl() { if (!SubscriptionManager.isValidSubscriptionId(mSubId)) { return false; } return ((!isSystemTtyEnabled(mContext).directQuery()) || (isTtyOnVolteEnabled(mSubId).directQuery())); } /** * Get user's configuration * Loading src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java +6 −10 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc return CONDITIONALLY_UNAVAILABLE; } final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId); final VolteQueryImsState queryState = queryImsState(subId); final boolean isVisible = SubscriptionManager.isValidSubscriptionId(subId) && mImsManager != null && carrierConfig != null && mImsManager.isVolteEnabledByPlatform() Loading @@ -115,7 +116,8 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc && MobileNetworkUtils.isImsServiceStateReady(mImsManager) && !carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL); return isVisible ? (isPrefEnabled() ? AVAILABLE : AVAILABLE_UNSEARCHABLE) ? (isUserControlAllowed() && queryState.isAllowUserControl() ? AVAILABLE : AVAILABLE_UNSEARCHABLE) : CONDITIONALLY_UNAVAILABLE; } Loading @@ -141,9 +143,10 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc final SwitchPreference switchPreference = (SwitchPreference) preference; final VolteQueryImsState queryState = queryImsState(mSubId); switchPreference.setEnabled(isPrefEnabled()); switchPreference.setEnabled(isUserControlAllowed() && queryState.isAllowUserControl()); switchPreference.setChecked(queryState.isEnabledByUser() && mImsManager.isNonTtyOrTtyOnVolteEnabled()); && queryState.isAllowUserControl()); } @Override Loading Loading @@ -191,13 +194,6 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc return new VolteQueryImsState(mContext, subId); } private boolean isPrefEnabled() { return SubscriptionManager.isValidSubscriptionId(mSubId) && isUserControlAllowed() && mImsManager != null && mImsManager.isNonTtyOrTtyOnVolteEnabled(); } private boolean isUserControlAllowed() { return (mCallState != null) && (mCallState == TelephonyManager.CALL_STATE_IDLE) && mCarrierConfig.getBoolean( Loading src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java +1 −7 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ import com.android.settings.network.ims.VolteQueryImsState; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SliceBroadcastReceiver; /** * Helper class to control slices for enhanced 4g LTE settings. */ Loading @@ -70,11 +69,6 @@ public class Enhanced4gLteSliceHelper { public static final String ACTION_MOBILE_NETWORK_SETTINGS_ACTIVITY = "android.settings.NETWORK_OPERATOR_SETTINGS"; /** * Timeout for querying enhanced 4g lte setting from ims manager. */ private static final int TIMEOUT_MILLIS = 2000; private final Context mContext; /** Loading Loading @@ -193,7 +187,7 @@ public class Enhanced4gLteSliceHelper { if (imsManager.isVolteEnabledByPlatform() && isVolteProvisionedOnDevice(subId)) { final VolteQueryImsState queryState = queryImsState(subId); final boolean currentValue = queryState.isEnabledByUser() && imsManager.isNonTtyOrTtyOnVolteEnabled(); && queryState.isAllowUserControl(); final boolean newValue = intent.getBooleanExtra(EXTRA_TOGGLE_STATE, currentValue); if (newValue != currentValue) { Loading Loading
src/com/android/settings/network/ims/VolteQueryImsState.java +15 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ import com.android.settings.network.SubscriptionUtil; /** * Controller class for querying Volte status */ public class VolteQueryImsState { public class VolteQueryImsState extends ImsQueryController { private Context mContext; private int mSubId; Loading @@ -42,6 +42,20 @@ public class VolteQueryImsState { mSubId = subId; } /** * Get allowance status for user to alter configuration * * @return true when changing configuration by user is allowed. */ public boolean isAllowUserControl() { if (!SubscriptionManager.isValidSubscriptionId(mSubId)) { return false; } return ((!isSystemTtyEnabled(mContext).directQuery()) || (isTtyOnVolteEnabled(mSubId).directQuery())); } /** * Get user's configuration * Loading
src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java +6 −10 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc return CONDITIONALLY_UNAVAILABLE; } final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId); final VolteQueryImsState queryState = queryImsState(subId); final boolean isVisible = SubscriptionManager.isValidSubscriptionId(subId) && mImsManager != null && carrierConfig != null && mImsManager.isVolteEnabledByPlatform() Loading @@ -115,7 +116,8 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc && MobileNetworkUtils.isImsServiceStateReady(mImsManager) && !carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL); return isVisible ? (isPrefEnabled() ? AVAILABLE : AVAILABLE_UNSEARCHABLE) ? (isUserControlAllowed() && queryState.isAllowUserControl() ? AVAILABLE : AVAILABLE_UNSEARCHABLE) : CONDITIONALLY_UNAVAILABLE; } Loading @@ -141,9 +143,10 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc final SwitchPreference switchPreference = (SwitchPreference) preference; final VolteQueryImsState queryState = queryImsState(mSubId); switchPreference.setEnabled(isPrefEnabled()); switchPreference.setEnabled(isUserControlAllowed() && queryState.isAllowUserControl()); switchPreference.setChecked(queryState.isEnabledByUser() && mImsManager.isNonTtyOrTtyOnVolteEnabled()); && queryState.isAllowUserControl()); } @Override Loading Loading @@ -191,13 +194,6 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc return new VolteQueryImsState(mContext, subId); } private boolean isPrefEnabled() { return SubscriptionManager.isValidSubscriptionId(mSubId) && isUserControlAllowed() && mImsManager != null && mImsManager.isNonTtyOrTtyOnVolteEnabled(); } private boolean isUserControlAllowed() { return (mCallState != null) && (mCallState == TelephonyManager.CALL_STATE_IDLE) && mCarrierConfig.getBoolean( Loading
src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java +1 −7 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ import com.android.settings.network.ims.VolteQueryImsState; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SliceBroadcastReceiver; /** * Helper class to control slices for enhanced 4g LTE settings. */ Loading @@ -70,11 +69,6 @@ public class Enhanced4gLteSliceHelper { public static final String ACTION_MOBILE_NETWORK_SETTINGS_ACTIVITY = "android.settings.NETWORK_OPERATOR_SETTINGS"; /** * Timeout for querying enhanced 4g lte setting from ims manager. */ private static final int TIMEOUT_MILLIS = 2000; private final Context mContext; /** Loading Loading @@ -193,7 +187,7 @@ public class Enhanced4gLteSliceHelper { if (imsManager.isVolteEnabledByPlatform() && isVolteProvisionedOnDevice(subId)) { final VolteQueryImsState queryState = queryImsState(subId); final boolean currentValue = queryState.isEnabledByUser() && imsManager.isNonTtyOrTtyOnVolteEnabled(); && queryState.isAllowUserControl(); final boolean newValue = intent.getBooleanExtra(EXTRA_TOGGLE_STATE, currentValue); if (newValue != currentValue) { Loading