diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java index 828e016bdc7..7d13b2e9d4b 100644 --- a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java +++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java @@ -37,7 +37,6 @@ import com.android.settings.network.SubscriptionUtil; import com.android.settingslib.Utils; import com.android.settingslib.search.SearchIndexableRaw; -import java.util.ArrayList; import java.util.List; public class SimStatusPreferenceController extends BasePreferenceController { @@ -74,13 +73,15 @@ public class SimStatusPreferenceController extends BasePreferenceController { @Override public int getAvailabilityStatus() { - if (getSimSlotIndex() == SubscriptionManager.INVALID_SIM_SLOT_INDEX) { + if (!SubscriptionUtil.isSimHardwareVisible(mContext) + || Utils.isWifiOnly(mContext) + || getSimSlotIndex() == SubscriptionManager.INVALID_SIM_SLOT_INDEX) { return UNSUPPORTED_ON_DEVICE; } - boolean isAvailable = SubscriptionUtil.isSimHardwareVisible(mContext) && - mContext.getSystemService(UserManager.class).isAdminUser() && - !Utils.isWifiOnly(mContext); - return isAvailable ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; + if (!mContext.getSystemService(UserManager.class).isAdminUser()) { + return CONDITIONALLY_UNAVAILABLE; + } + return AVAILABLE; } @Override diff --git a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java index a682055e9d9..a3ea4645a6e 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java @@ -231,7 +231,7 @@ public class SimStatusPreferenceControllerTest { when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(false); assertThat(mController.getAvailabilityStatus()).isEqualTo( - BasePreferenceController.CONDITIONALLY_UNAVAILABLE); + BasePreferenceController.UNSUPPORTED_ON_DEVICE); } @Test @@ -241,7 +241,7 @@ public class SimStatusPreferenceControllerTest { when(mTelephonyManager.isDataCapable()).thenReturn(false); assertThat(mController.getAvailabilityStatus()).isEqualTo( - BasePreferenceController.CONDITIONALLY_UNAVAILABLE); + BasePreferenceController.UNSUPPORTED_ON_DEVICE); } @Test