Add check KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL

If it is true, then hide:
1. Network Select settings
2. Apn settings

Fixes: 131709441
Test: RunSettingsRoboTests
Change-Id: I203cda570564a41c5bb54a3ad9e60c7f35c0d30c
This commit is contained in:
Lei Yu
2019-05-08 16:55:07 -07:00
parent 12dcbe7c71
commit 85398a503e
6 changed files with 39 additions and 3 deletions

View File

@@ -65,8 +65,11 @@ public class ApnPreferenceController extends TelephonyBasePreferenceController i
final boolean isGsmApn = MobileNetworkUtils.isGsmOptions(mContext, subId) final boolean isGsmApn = MobileNetworkUtils.isGsmOptions(mContext, subId)
&& carrierConfig != null && carrierConfig != null
&& carrierConfig.getBoolean(CarrierConfigManager.KEY_APN_EXPAND_BOOL); && carrierConfig.getBoolean(CarrierConfigManager.KEY_APN_EXPAND_BOOL);
final boolean hideCarrierNetwork = carrierConfig == null
|| carrierConfig.getBoolean(
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL);
return isCdmaApn || isGsmApn return !hideCarrierNetwork && (isCdmaApn || isGsmApn)
? AVAILABLE ? AVAILABLE
: CONDITIONALLY_UNAVAILABLE; : CONDITIONALLY_UNAVAILABLE;
} }

View File

@@ -350,6 +350,8 @@ public class MobileNetworkUtils {
|| carrierConfig == null || carrierConfig == null
|| !carrierConfig.getBoolean( || !carrierConfig.getBoolean(
CarrierConfigManager.KEY_OPERATOR_SELECTION_EXPAND_BOOL) CarrierConfigManager.KEY_OPERATOR_SELECTION_EXPAND_BOOL)
|| carrierConfig.getBoolean(
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
|| (carrierConfig.getBoolean(CarrierConfigManager.KEY_CSP_ENABLED_BOOL) || (carrierConfig.getBoolean(CarrierConfigManager.KEY_CSP_ENABLED_BOOL)
&& !telephonyManager.isManualNetworkSelectionAllowed())) { && !telephonyManager.isManualNetworkSelectionAllowed())) {
return false; return false;

View File

@@ -52,7 +52,6 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon
private static final long MINIMUM_DIALOG_TIME_MILLIS = TimeUnit.SECONDS.toMillis(1); private static final long MINIMUM_DIALOG_TIME_MILLIS = TimeUnit.SECONDS.toMillis(1);
private final Handler mUiHandler; private final Handler mUiHandler;
private int mSubId;
private TelephonyManager mTelephonyManager; private TelephonyManager mTelephonyManager;
private boolean mOnlyAutoSelectInHome; private boolean mOnlyAutoSelectInHome;
private List<OnNetworkSelectModeListener> mListeners; private List<OnNetworkSelectModeListener> mListeners;

View File

@@ -42,7 +42,6 @@ public class OpenNetworkSelectPagePreferenceController extends
TelephonyBasePreferenceController implements TelephonyBasePreferenceController implements
AutoSelectPreferenceController.OnNetworkSelectModeListener { AutoSelectPreferenceController.OnNetworkSelectModeListener {
private int mSubId;
private TelephonyManager mTelephonyManager; private TelephonyManager mTelephonyManager;
private Preference mPreference; private Preference mPreference;

View File

@@ -123,6 +123,18 @@ public class ApnPreferenceControllerTest {
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE); assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
} }
@Test
public void getAvailabilityStatus_hideCarrierNetworkSettings_returnUnavailable() {
doReturn(PhoneConstants.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
final PersistableBundle bundle = new PersistableBundle();
bundle.putBoolean(CarrierConfigManager.KEY_APN_EXPAND_BOOL, true);
bundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL, true);
doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
}
@Test @Test
public void handPreferenceTreeClick_fireIntent() { public void handPreferenceTreeClick_fireIntent() {
ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class); ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);

View File

@@ -198,4 +198,25 @@ public class MobileNetworkUtilsTest {
assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext)) assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext))
.isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID); .isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
} }
@Test
public void shouldDisplayNetworkSelectOptions_HideCarrierNetwork_returnFalse() {
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
true);
assertThat(MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, SUB_ID_1))
.isFalse();
}
@Test
public void shouldDisplayNetworkSelectOptions_allCheckPass_returnTrue() {
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
false);
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_OPERATOR_SELECTION_EXPAND_BOOL, true);
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_CSP_ENABLED_BOOL, false);
when(mTelephonyManager.getPhoneType()).thenReturn(PhoneConstants.PHONE_TYPE_GSM);
assertThat(MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, SUB_ID_1))
.isTrue();
}
} }