From 203b5203d97f348a5b060979bc226ad7eebc4f0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thi=C3=A9baud=20Weksteen?= Date: Wed, 17 Feb 2021 15:38:58 +0100 Subject: [PATCH] Add onPreferenceChange_update tests Bug: 180688212 Test: atest -c Enable2gPreferenceControllerTest Change-Id: Ie7bc7a49f2ce4d5e8b8d75914fa46b613569566f --- .../Enable2gPreferenceControllerTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) 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 9b9bb1131d3..293a19dad09 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 com.google.common.truth.Truth.assertThat; 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 @@ public final class Enable2gPreferenceControllerTest { 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); + } }