Merge "Hide 'Reset mobile network settings' if not telephony capable" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
c5136b82fc
@@ -20,6 +20,7 @@ import android.content.Context;
|
|||||||
|
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.network.SubscriptionUtil;
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
|
import com.android.settingslib.Utils;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
|
||||||
public class NetworkResetPreferenceController extends AbstractPreferenceController
|
public class NetworkResetPreferenceController extends AbstractPreferenceController
|
||||||
@@ -34,8 +35,9 @@ public class NetworkResetPreferenceController extends AbstractPreferenceControll
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAvailable() {
|
public boolean isAvailable() {
|
||||||
return (SubscriptionUtil.isSimHardwareVisible(mContext) &&
|
return (SubscriptionUtil.isSimHardwareVisible(mContext)
|
||||||
(!mRestrictionChecker.hasUserRestriction()));
|
&& !Utils.isWifiOnly(mContext)
|
||||||
|
&& !mRestrictionChecker.hasUserRestriction());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -19,9 +19,16 @@ package com.android.settings.network;
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.res.Resources;
|
||||||
|
import android.telephony.TelephonyManager;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -34,28 +41,66 @@ import org.robolectric.util.ReflectionHelpers;
|
|||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class NetworkResetPreferenceControllerTest {
|
public class NetworkResetPreferenceControllerTest {
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private TelephonyManager mTelephonyManager;
|
||||||
@Mock
|
@Mock
|
||||||
private NetworkResetRestrictionChecker mRestrictionChecker;
|
private NetworkResetRestrictionChecker mRestrictionChecker;
|
||||||
private NetworkResetPreferenceController mController;
|
private NetworkResetPreferenceController mController;
|
||||||
|
private Context mContext;
|
||||||
|
private Resources mResources;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
mController = new NetworkResetPreferenceController(RuntimeEnvironment.application);
|
mContext = spy(RuntimeEnvironment.application);
|
||||||
|
|
||||||
|
mResources = spy(mContext.getResources());
|
||||||
|
when(mContext.getResources()).thenReturn(mResources);
|
||||||
|
when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
|
||||||
|
|
||||||
|
mController = new NetworkResetPreferenceController(mContext);
|
||||||
ReflectionHelpers.setField(mController, "mRestrictionChecker", mRestrictionChecker);
|
ReflectionHelpers.setField(mController, "mRestrictionChecker", mRestrictionChecker);
|
||||||
|
|
||||||
|
// Availability defaults
|
||||||
|
when(mTelephonyManager.isDataCapable()).thenReturn(true);
|
||||||
|
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
|
||||||
|
when(mRestrictionChecker.isRestrictionEnforcedByAdmin()).thenReturn(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testIsAvailable_shouldReturnTrueWhenNoUserRestriction() {
|
public void testIsAvailable_showSimInfo_notWifiOnly() {
|
||||||
when(mRestrictionChecker.isRestrictionEnforcedByAdmin()).thenReturn(true);
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsAvailable_hideSimInfo_notWifiOnly() {
|
||||||
|
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(false);
|
||||||
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsAvailable_showSimInfo_wifiOnly() {
|
||||||
|
when(mTelephonyManager.isDataCapable()).thenReturn(false);
|
||||||
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsAvailable_userRestriction() {
|
||||||
|
when(mRestrictionChecker.isRestrictionEnforcedByAdmin()).thenReturn(true);
|
||||||
when(mRestrictionChecker.hasUserRestriction()).thenReturn(true);
|
when(mRestrictionChecker.hasUserRestriction()).thenReturn(true);
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
|
|
||||||
|
verify(mRestrictionChecker, never()).isRestrictionEnforcedByAdmin();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsAvailable_noUserRestriction() {
|
||||||
|
when(mRestrictionChecker.isRestrictionEnforcedByAdmin()).thenReturn(true);
|
||||||
when(mRestrictionChecker.hasUserRestriction()).thenReturn(false);
|
when(mRestrictionChecker.hasUserRestriction()).thenReturn(false);
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
|
|
||||||
verify(mRestrictionChecker, never()).isRestrictionEnforcedByAdmin();
|
verify(mRestrictionChecker, never()).isRestrictionEnforcedByAdmin();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user