Fix NPE in AutoSyncWorkDataPreferenceController
AutoSyncWorkDataPreferenceController gets mUserHandle from Utils.getManagedProfileWithDisabled which may return null, crash will happend when updateState called. So a judgement here seems helpful to make the program more robust. Bug: https://partnerissuetracker.corp.google.com/u/1/issues/72908879 Test: make ROBOTEST_FILTER="(AutoSyncWorkDataPreferenceControllerTest)" RunSettingsRoboTests Change-Id: I53ca027a2f2dd79655cc2eee67db236cfa03f656 Signed-off-by: tiansiming [田思明] <tiansiming@xiaomi.com>
This commit is contained in:
@@ -91,6 +91,21 @@ public class AutoSyncWorkDataPreferenceControllerTest {
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void checkIsAvailable_null_workProfileUserHandle_shouldNotDisplay() {
|
||||
when(mUserManager.isManagedProfile()).thenReturn(false);
|
||||
when(mUserManager.isLinkedUser()).thenReturn(false);
|
||||
|
||||
final List<UserInfo> infos = new ArrayList<>();
|
||||
infos.add(new UserInfo(UserHandle.USER_SYSTEM, "user 1", 0 /* flags */));
|
||||
infos.add(new UserInfo(999, "xspace", 800010));
|
||||
when(mUserManager.getProfiles(eq(UserHandle.USER_SYSTEM))).thenReturn(infos);
|
||||
mController = new AutoSyncWorkDataPreferenceController(mContext, mFragment);
|
||||
|
||||
assertThat(mController.mUserHandle).isEqualTo(null);
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void multipleProfile_shouldInitWithWorkProfileUserHandle() {
|
||||
when(mUserManager.isManagedProfile()).thenReturn(false);
|
||||
|
Reference in New Issue
Block a user