Loading src/com/android/settings/network/telephony/RoamingPreferenceController.java +4 −3 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import androidx.fragment.app.FragmentManager; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.TogglePreferenceController; import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; Loading Loading @@ -114,9 +113,11 @@ public class RoamingPreferenceController extends TelephonyTogglePreferenceContro public void updateState(Preference preference) { super.updateState(preference); final RestrictedSwitchPreference switchPreference = (RestrictedSwitchPreference) preference; if (!switchPreference.isDisabledByAdmin()) { switchPreference.setEnabled(mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID); switchPreference.setChecked(isChecked()); } } @VisibleForTesting boolean isDialogNeeded() { Loading tests/robotests/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -18,9 +18,12 @@ package com.android.settings.network.telephony; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; import android.os.PersistableBundle; Loading Loading @@ -76,7 +79,7 @@ public class RoamingPreferenceControllerTest { SubscriptionManager.INVALID_SUBSCRIPTION_ID); doReturn(mFragmentTransaction).when(mFragmentManager).beginTransaction(); mPreference = new RestrictedSwitchPreference(mContext); mPreference = spy(new RestrictedSwitchPreference(mContext)); mController = new RoamingPreferenceController(mContext, "roaming"); mController.init(mFragmentManager, SUB_ID); mPreference.setKey(mController.getPreferenceKey()); Loading Loading @@ -140,4 +143,22 @@ public class RoamingPreferenceControllerTest { assertThat(mPreference.isEnabled()).isTrue(); assertThat(mPreference.isChecked()).isTrue(); } @Test public void updateState_isNotDisabledByAdmin_shouldInvokeSetEnabled() { when(mPreference.isDisabledByAdmin()).thenReturn(false); mController.updateState(mPreference); verify(mPreference).setEnabled(anyBoolean()); } @Test public void updateState_isDisabledByAdmin_shouldNotInvokeSetEnabled() { when(mPreference.isDisabledByAdmin()).thenReturn(true); mController.updateState(mPreference); verify(mPreference, never()).setEnabled(anyBoolean()); } } Loading
src/com/android/settings/network/telephony/RoamingPreferenceController.java +4 −3 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import androidx.fragment.app.FragmentManager; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.TogglePreferenceController; import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; Loading Loading @@ -114,9 +113,11 @@ public class RoamingPreferenceController extends TelephonyTogglePreferenceContro public void updateState(Preference preference) { super.updateState(preference); final RestrictedSwitchPreference switchPreference = (RestrictedSwitchPreference) preference; if (!switchPreference.isDisabledByAdmin()) { switchPreference.setEnabled(mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID); switchPreference.setChecked(isChecked()); } } @VisibleForTesting boolean isDialogNeeded() { Loading
tests/robotests/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -18,9 +18,12 @@ package com.android.settings.network.telephony; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; import android.os.PersistableBundle; Loading Loading @@ -76,7 +79,7 @@ public class RoamingPreferenceControllerTest { SubscriptionManager.INVALID_SUBSCRIPTION_ID); doReturn(mFragmentTransaction).when(mFragmentManager).beginTransaction(); mPreference = new RestrictedSwitchPreference(mContext); mPreference = spy(new RestrictedSwitchPreference(mContext)); mController = new RoamingPreferenceController(mContext, "roaming"); mController.init(mFragmentManager, SUB_ID); mPreference.setKey(mController.getPreferenceKey()); Loading Loading @@ -140,4 +143,22 @@ public class RoamingPreferenceControllerTest { assertThat(mPreference.isEnabled()).isTrue(); assertThat(mPreference.isChecked()).isTrue(); } @Test public void updateState_isNotDisabledByAdmin_shouldInvokeSetEnabled() { when(mPreference.isDisabledByAdmin()).thenReturn(false); mController.updateState(mPreference); verify(mPreference).setEnabled(anyBoolean()); } @Test public void updateState_isDisabledByAdmin_shouldNotInvokeSetEnabled() { when(mPreference.isDisabledByAdmin()).thenReturn(true); mController.updateState(mPreference); verify(mPreference, never()).setEnabled(anyBoolean()); } }