Loading src/com/android/settings/wifi/CellularFallbackPreferenceController.java +24 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,12 @@ package com.android.settings.wifi; import android.content.Context; import android.content.res.Resources; import android.provider.Settings; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.core.TogglePreferenceController; /** Loading Loading @@ -49,8 +53,26 @@ public class CellularFallbackPreferenceController extends TogglePreferenceContro } private boolean avoidBadWifiConfig() { return mContext.getResources().getInteger( com.android.internal.R.integer.config_networkAvoidBadWifi) == 1; boolean avoidBadWifiConfig = true; final SubscriptionManager subscriptionManager = mContext.getSystemService(SubscriptionManager.class); for (SubscriptionInfo subscriptionInfo : subscriptionManager.getActiveSubscriptionInfoList()) { final Resources resources = getResourcesForSubId(subscriptionInfo.getSubscriptionId()); if (resources.getInteger( com.android.internal.R.integer.config_networkAvoidBadWifi) == 0) { avoidBadWifiConfig = false; break; } } return avoidBadWifiConfig; } @VisibleForTesting Resources getResourcesForSubId(int subscriptionId) { return SubscriptionManager.getResourcesForSubId(mContext, subscriptionId, false /* useRootLocale */); } private boolean avoidBadWifiCurrentSettings() { Loading tests/robotests/src/com/android/settings/wifi/CellularFallbackPreferenceControllerTest.java +39 −6 Original line number Diff line number Diff line Loading @@ -18,36 +18,55 @@ package com.android.settings.wifi; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; 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.content.res.Resources; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.shadows.ShadowApplication; @RunWith(RobolectricTestRunner.class) public class CellularFallbackPreferenceControllerTest { private static final String KEY_CELLULAR_FALLBACK = "wifi_cellular_data_fallback"; @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Context mContext; @Mock private SubscriptionManager mSubscriptionManager; private CellularFallbackPreferenceController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mController = new CellularFallbackPreferenceController(mContext, KEY_CELLULAR_FALLBACK); ShadowApplication shadowApplication = ShadowApplication.getInstance(); shadowApplication.setSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE, mSubscriptionManager); mController = spy(new CellularFallbackPreferenceController(RuntimeEnvironment.application, KEY_CELLULAR_FALLBACK)); } @Test public void isAvailable_avoidBadWifiConfigIsFalse_shouldReturnTrue() { when(mContext.getResources().getInteger( setupMockIcc(); final Resources resources = mock(Resources.class); doReturn(resources).when(mController).getResourcesForSubId(anyInt()); when(resources.getInteger( com.android.internal.R.integer.config_networkAvoidBadWifi)) .thenReturn(0); Loading @@ -56,10 +75,24 @@ public class CellularFallbackPreferenceControllerTest { @Test public void isAvailable_avoidBadWifiConfigIsTrue_shouldReturnFalse() { when(mContext.getResources().getInteger( setupMockIcc(); final Resources resources = mock(Resources.class); doReturn(resources).when(mController).getResourcesForSubId(anyInt()); when(resources.getInteger( com.android.internal.R.integer.config_networkAvoidBadWifi)) .thenReturn(1); assertThat(mController.isAvailable()).isFalse(); } private void setupMockIcc() { final List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>(); final SubscriptionInfo info1 = mock(SubscriptionInfo.class); final SubscriptionInfo info2 = mock(SubscriptionInfo.class); subscriptionInfoList.add(info1); subscriptionInfoList.add(info2); when(mSubscriptionManager.getActiveSubscriptionInfoList()) .thenReturn(subscriptionInfoList); } } Loading
src/com/android/settings/wifi/CellularFallbackPreferenceController.java +24 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,12 @@ package com.android.settings.wifi; import android.content.Context; import android.content.res.Resources; import android.provider.Settings; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.core.TogglePreferenceController; /** Loading Loading @@ -49,8 +53,26 @@ public class CellularFallbackPreferenceController extends TogglePreferenceContro } private boolean avoidBadWifiConfig() { return mContext.getResources().getInteger( com.android.internal.R.integer.config_networkAvoidBadWifi) == 1; boolean avoidBadWifiConfig = true; final SubscriptionManager subscriptionManager = mContext.getSystemService(SubscriptionManager.class); for (SubscriptionInfo subscriptionInfo : subscriptionManager.getActiveSubscriptionInfoList()) { final Resources resources = getResourcesForSubId(subscriptionInfo.getSubscriptionId()); if (resources.getInteger( com.android.internal.R.integer.config_networkAvoidBadWifi) == 0) { avoidBadWifiConfig = false; break; } } return avoidBadWifiConfig; } @VisibleForTesting Resources getResourcesForSubId(int subscriptionId) { return SubscriptionManager.getResourcesForSubId(mContext, subscriptionId, false /* useRootLocale */); } private boolean avoidBadWifiCurrentSettings() { Loading
tests/robotests/src/com/android/settings/wifi/CellularFallbackPreferenceControllerTest.java +39 −6 Original line number Diff line number Diff line Loading @@ -18,36 +18,55 @@ package com.android.settings.wifi; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; 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.content.res.Resources; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.shadows.ShadowApplication; @RunWith(RobolectricTestRunner.class) public class CellularFallbackPreferenceControllerTest { private static final String KEY_CELLULAR_FALLBACK = "wifi_cellular_data_fallback"; @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Context mContext; @Mock private SubscriptionManager mSubscriptionManager; private CellularFallbackPreferenceController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mController = new CellularFallbackPreferenceController(mContext, KEY_CELLULAR_FALLBACK); ShadowApplication shadowApplication = ShadowApplication.getInstance(); shadowApplication.setSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE, mSubscriptionManager); mController = spy(new CellularFallbackPreferenceController(RuntimeEnvironment.application, KEY_CELLULAR_FALLBACK)); } @Test public void isAvailable_avoidBadWifiConfigIsFalse_shouldReturnTrue() { when(mContext.getResources().getInteger( setupMockIcc(); final Resources resources = mock(Resources.class); doReturn(resources).when(mController).getResourcesForSubId(anyInt()); when(resources.getInteger( com.android.internal.R.integer.config_networkAvoidBadWifi)) .thenReturn(0); Loading @@ -56,10 +75,24 @@ public class CellularFallbackPreferenceControllerTest { @Test public void isAvailable_avoidBadWifiConfigIsTrue_shouldReturnFalse() { when(mContext.getResources().getInteger( setupMockIcc(); final Resources resources = mock(Resources.class); doReturn(resources).when(mController).getResourcesForSubId(anyInt()); when(resources.getInteger( com.android.internal.R.integer.config_networkAvoidBadWifi)) .thenReturn(1); assertThat(mController.isAvailable()).isFalse(); } private void setupMockIcc() { final List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>(); final SubscriptionInfo info1 = mock(SubscriptionInfo.class); final SubscriptionInfo info2 = mock(SubscriptionInfo.class); subscriptionInfoList.add(info1); subscriptionInfoList.add(info2); when(mSubscriptionManager.getActiveSubscriptionInfoList()) .thenReturn(subscriptionInfoList); } }