Add onPreferenceChange_update tests
Bug: 180688212
Test: atest -c Enable2gPreferenceControllerTest
Change-Id: Ie7bc7a49f2ce4d5e8b8d75914fa46b613569566f
diff --git a/tests/unit/src/com/android/settings/network/telephony/Enable2gPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/Enable2gPreferenceControllerTest.java
index 9b9bb11..293a19d 100644
--- a/tests/unit/src/com/android/settings/network/telephony/Enable2gPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/Enable2gPreferenceControllerTest.java
@@ -22,6 +22,8 @@
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
@@ -117,4 +119,27 @@
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
}
+
+ @Test
+ public void onPreferenceChange_update() {
+ // Set "Enable 2G" flag to "on"
+ when(mTelephonyManager.getAllowedNetworkTypesForReason(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G)).thenReturn(
+ (long) (TelephonyManager.NETWORK_TYPE_BITMASK_GSM
+ | TelephonyManager.NETWORK_TYPE_BITMASK_LTE));
+
+ // Setup state to allow disabling
+ doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported(
+ mTelephonyManager.CAPABILITY_ALLOWED_NETWORK_TYPES_USED);
+ mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G,
+ false);
+
+ // Disable 2G
+ boolean changed = mController.setChecked(false);
+ assertThat(changed).isEqualTo(true);
+
+ verify(mTelephonyManager, times(1)).setAllowedNetworkTypesForReason(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G,
+ TelephonyManager.NETWORK_TYPE_BITMASK_LTE);
+ }
}