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:
tiansiming [田思明]
2018-02-04 20:45:42 +08:00
parent f94ff6ce6f
commit 6cdb07862a
2 changed files with 22 additions and 0 deletions

View File

@@ -17,6 +17,7 @@ package com.android.settings.accounts;
import android.app.Fragment;
import android.content.Context;
import android.os.UserHandle;
import com.android.settings.Utils;
@@ -34,4 +35,10 @@ public class AutoSyncWorkDataPreferenceController extends AutoSyncPersonalDataPr
public String getPreferenceKey() {
return KEY_AUTO_SYNC_WORK_ACCOUNT;
}
@Override
public boolean isAvailable() {
return mUserHandle != null && !mUserManager.isManagedProfile() && !mUserManager.isLinkedUser()
&& mUserManager.getProfiles(UserHandle.myUserId()).size() > 1;
}
}