[Settings] hide preferred network mode UI
Hide preferred network mode UI no matter home, roaming or no service when KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL been enabled. Bug: 137681413 Test: atest PreferredNetworkModePreferenceControllerTest atest EnabledNetworkModePreferenceControllerTest Manual with AT&T SIM card in out of servce and in service Change-Id: Ia0d1333c6cbae3a3717c8db6b77fbb9ea8cec968
This commit is contained in:
committed by
Jayachandran C
parent
91ca872a44
commit
128de7bdb6
@@ -81,13 +81,9 @@ public class EnabledNetworkModePreferenceController extends
|
||||
} else if (carrierConfig == null) {
|
||||
visible = false;
|
||||
} else if (carrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)) {
|
||||
visible = false;
|
||||
} else if (carrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)
|
||||
&& !telephonyManager.getServiceState().getRoaming()
|
||||
&& telephonyManager.getServiceState().getDataRegState()
|
||||
== ServiceState.STATE_IN_SERVICE) {
|
||||
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
|
||||
|| carrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)) {
|
||||
visible = false;
|
||||
} else if (carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
|
||||
visible = false;
|
||||
|
@@ -58,13 +58,9 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe
|
||||
} else if (carrierConfig == null) {
|
||||
visible = false;
|
||||
} else if (carrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)) {
|
||||
visible = false;
|
||||
} else if (carrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)
|
||||
&& !telephonyManager.getServiceState().getRoaming()
|
||||
&& telephonyManager.getServiceState().getDataRegState()
|
||||
== ServiceState.STATE_IN_SERVICE) {
|
||||
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
|
||||
|| carrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)) {
|
||||
visible = false;
|
||||
} else if (carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
|
||||
visible = true;
|
||||
|
@@ -29,12 +29,14 @@ import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.os.PersistableBundle;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
import android.telephony.ServiceState;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
|
||||
@@ -64,6 +66,8 @@ public class EnabledNetworkModePreferenceControllerTest {
|
||||
private TelephonyManager mInvalidTelephonyManager;
|
||||
@Mock
|
||||
private CarrierConfigManager mCarrierConfigManager;
|
||||
@Mock
|
||||
private ServiceState mServiceState;
|
||||
|
||||
private PersistableBundle mPersistableBundle;
|
||||
private EnabledNetworkModePreferenceController mController;
|
||||
@@ -85,6 +89,7 @@ public class EnabledNetworkModePreferenceControllerTest {
|
||||
doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
|
||||
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||
doReturn(mContext).when(mContext).createPackageContext(anyString(), anyInt());
|
||||
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
||||
mPersistableBundle = new PersistableBundle();
|
||||
doReturn(mPersistableBundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
|
||||
|
||||
@@ -104,6 +109,25 @@ public class EnabledNetworkModePreferenceControllerTest {
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_hidePreferredNetworkType_returnUnavailable() {
|
||||
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL,
|
||||
true);
|
||||
|
||||
when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
|
||||
when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
|
||||
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
||||
when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
||||
|
||||
when(mServiceState.getRoaming()).thenReturn(false);
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
|
||||
when(mServiceState.getRoaming()).thenReturn(true);
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_notWorldPhone_returnAvailable() {
|
||||
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
|
||||
|
@@ -23,11 +23,13 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.PersistableBundle;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
import android.telephony.ServiceState;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
|
||||
@@ -54,6 +56,8 @@ public class PreferredNetworkModePreferenceControllerTest {
|
||||
private TelephonyManager mInvalidTelephonyManager;
|
||||
@Mock
|
||||
private CarrierConfigManager mCarrierConfigManager;
|
||||
@Mock
|
||||
private ServiceState mServiceState;
|
||||
|
||||
private PersistableBundle mPersistableBundle;
|
||||
private PreferredNetworkModePreferenceController mController;
|
||||
@@ -71,6 +75,7 @@ public class PreferredNetworkModePreferenceControllerTest {
|
||||
doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
|
||||
doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
|
||||
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
||||
mPersistableBundle = new PersistableBundle();
|
||||
doReturn(mPersistableBundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
|
||||
|
||||
@@ -99,6 +104,25 @@ public class PreferredNetworkModePreferenceControllerTest {
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_hidePreferredNetworkType_returnUnavailable() {
|
||||
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL,
|
||||
true);
|
||||
|
||||
when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
|
||||
when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
|
||||
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
||||
when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
||||
|
||||
when(mServiceState.getRoaming()).thenReturn(false);
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
|
||||
when(mServiceState.getRoaming()).thenReturn(true);
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_updateByNetworkMode() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
|
Reference in New Issue
Block a user