Return UNSUPPORTED_ON_DEVICE in deviceinfo/simstatus when no telephony
If the device does not have any telephony support (either via the build-time config_show_sim_info=false boolean flag, or when not declaring the PackageManager.FEATURE_TELEPHONY_DATA feature flag), returning UNSUPPORTED_ON_DEVICE makes more sense than CONDITIONALLY_UNAVAILABLE, as there is no runtime change that would make it available. Bug: 395714454 Flag: EXEMPT bugfix Test: atest SimStatusPreferenceControllerTest Change-Id: I0735c949a590190cdc177cbca835444691c50faa
This commit is contained in:
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user