Return DISABLED_FOR_USER in IMEI availability if not admin user
The correct return when checking for the IMEI field availability for non-admin users is DISABLED_FOR_USER. UNSUPPORTED_ON_DEVICE should only be used when the setting is unconditionally hidden as the device does not support the feature. Bug: 395714454 Flag: EXEMPT bugfix Test: atest ImeiInfoPreferenceControllerTest Test: atest MobileNetworkImeiPreferenceControllerTest Change-Id: I4ee89a84953993daad539d33d3a2e576540c580f
This commit is contained in:
@@ -132,10 +132,13 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
boolean isAvailable = SubscriptionUtil.isSimHardwareVisible(mContext) &&
|
||||
mContext.getSystemService(UserManager.class).isAdminUser() &&
|
||||
!Utils.isWifiOnly(mContext);
|
||||
return isAvailable ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
||||
if (!SubscriptionUtil.isSimHardwareVisible(mContext) || Utils.isWifiOnly(mContext)) {
|
||||
return UNSUPPORTED_ON_DEVICE;
|
||||
}
|
||||
if (!mContext.getSystemService(UserManager.class).isAdminUser()) {
|
||||
return DISABLED_FOR_USER;
|
||||
}
|
||||
return AVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -67,8 +67,8 @@ class MobileNetworkImeiPreferenceController(context: Context, key: String) :
|
||||
!SubscriptionUtil.isSimHardwareVisible(mContext)
|
||||
|| Utils.isWifiOnly(mContext) -> UNSUPPORTED_ON_DEVICE
|
||||
!Flags.isDualSimOnboardingEnabled()
|
||||
|| !SubscriptionManager.isValidSubscriptionId(subId)
|
||||
|| !mContext.userManager.isAdminUser -> CONDITIONALLY_UNAVAILABLE
|
||||
|| !SubscriptionManager.isValidSubscriptionId(subId) -> CONDITIONALLY_UNAVAILABLE
|
||||
!mContext.userManager.isAdminUser -> DISABLED_FOR_USER
|
||||
else -> AVAILABLE
|
||||
}
|
||||
|
||||
|
@@ -265,7 +265,7 @@ public class ImeiInfoPreferenceControllerTest {
|
||||
|
||||
when(mUserManager.isAdminUser()).thenReturn(false);
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(
|
||||
BasePreferenceController.UNSUPPORTED_ON_DEVICE);
|
||||
BasePreferenceController.DISABLED_FOR_USER);
|
||||
}
|
||||
|
||||
private <T> void mockService(String serviceName, Class<T> serviceClass, T service) {
|
||||
|
@@ -187,7 +187,7 @@ class MobileNetworkImeiPreferenceControllerTest {
|
||||
}
|
||||
|
||||
val availabilityStatus = controller.availabilityStatus
|
||||
assertThat(availabilityStatus).isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE)
|
||||
assertThat(availabilityStatus).isEqualTo(BasePreferenceController.DISABLED_FOR_USER)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user