Fix NPE in AddUserWhenLockedPreferenceController.
Set LockPatternUtils in constructor, but allow it to be overridden for tests. Bug: 149511500 Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.users.AddUserWhenLockedPreferenceControllerTest" Change-Id: I4148fec8eea9c76afebe45cc29c2c87775fd3b1e
This commit is contained in:
@@ -28,15 +28,12 @@ import com.android.settingslib.RestrictedSwitchPreference;
|
|||||||
public class AddUserWhenLockedPreferenceController extends TogglePreferenceController {
|
public class AddUserWhenLockedPreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
private final UserCapabilities mUserCaps;
|
private final UserCapabilities mUserCaps;
|
||||||
private LockPatternUtils mLockPatternUtils;
|
private final LockPatternUtils mLockPatternUtils;
|
||||||
|
|
||||||
public AddUserWhenLockedPreferenceController(Context context, String key) {
|
public AddUserWhenLockedPreferenceController(Context context, String key) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
mUserCaps = UserCapabilities.create(context);
|
mUserCaps = UserCapabilities.create(context);
|
||||||
}
|
mLockPatternUtils = new LockPatternUtils(context);
|
||||||
|
|
||||||
void setLockPatternUtils(LockPatternUtils lockPatternUtils) {
|
|
||||||
mLockPatternUtils = lockPatternUtils;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -241,8 +241,6 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController(
|
mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController(
|
||||||
activity, KEY_ADD_USER_WHEN_LOCKED);
|
activity, KEY_ADD_USER_WHEN_LOCKED);
|
||||||
mAddUserWhenLockedPreferenceController.setLockPatternUtils(
|
|
||||||
new LockPatternUtils(getPrefContext()));
|
|
||||||
|
|
||||||
mMultiUserFooterPreferenceController = new MultiUserFooterPreferenceController(activity,
|
mMultiUserFooterPreferenceController = new MultiUserFooterPreferenceController(activity,
|
||||||
KEY_MULTIUSER_FOOTER);
|
KEY_MULTIUSER_FOOTER);
|
||||||
@@ -1296,7 +1294,6 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
AddUserWhenLockedPreferenceController controller =
|
AddUserWhenLockedPreferenceController controller =
|
||||||
new AddUserWhenLockedPreferenceController(
|
new AddUserWhenLockedPreferenceController(
|
||||||
context, KEY_ADD_USER_WHEN_LOCKED);
|
context, KEY_ADD_USER_WHEN_LOCKED);
|
||||||
controller.setLockPatternUtils(new LockPatternUtils(context));
|
|
||||||
controller.updateNonIndexableKeys(niks);
|
controller.updateNonIndexableKeys(niks);
|
||||||
new AutoSyncDataPreferenceController(context, null /* parent */)
|
new AutoSyncDataPreferenceController(context, null /* parent */)
|
||||||
.updateNonIndexableKeys(niks);
|
.updateNonIndexableKeys(niks);
|
||||||
|
@@ -42,6 +42,7 @@ import org.mockito.MockitoAnnotations;
|
|||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
import org.robolectric.util.ReflectionHelpers;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = {ShadowUserManager.class})
|
@Config(shadows = {ShadowUserManager.class})
|
||||||
@@ -63,7 +64,7 @@ public class AddUserWhenLockedPreferenceControllerTest {
|
|||||||
mLockPatternUtils = mock(LockPatternUtils.class);
|
mLockPatternUtils = mock(LockPatternUtils.class);
|
||||||
mUserManager = ShadowUserManager.getShadow();
|
mUserManager = ShadowUserManager.getShadow();
|
||||||
mController = new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
mController = new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
||||||
mController.setLockPatternUtils(mLockPatternUtils);
|
ReflectionHelpers.setField(mController, "mLockPatternUtils", mLockPatternUtils);
|
||||||
mUserManager.setSupportsMultipleUsers(true);
|
mUserManager.setSupportsMultipleUsers(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +105,7 @@ public class AddUserWhenLockedPreferenceControllerTest {
|
|||||||
when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
|
when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
|
||||||
final AddUserWhenLockedPreferenceController controller =
|
final AddUserWhenLockedPreferenceController controller =
|
||||||
new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
||||||
controller.setLockPatternUtils(mLockPatternUtils);
|
ReflectionHelpers.setField(controller, "mLockPatternUtils", mLockPatternUtils);
|
||||||
final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
|
final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
|
||||||
|
|
||||||
controller.updateState(preference);
|
controller.updateState(preference);
|
||||||
@@ -162,7 +163,7 @@ public class AddUserWhenLockedPreferenceControllerTest {
|
|||||||
when(mLockPatternUtils.isSecure(anyInt())).thenReturn(false);
|
when(mLockPatternUtils.isSecure(anyInt())).thenReturn(false);
|
||||||
final AddUserWhenLockedPreferenceController controller =
|
final AddUserWhenLockedPreferenceController controller =
|
||||||
new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
||||||
controller.setLockPatternUtils(mLockPatternUtils);
|
ReflectionHelpers.setField(controller, "mLockPatternUtils", mLockPatternUtils);
|
||||||
final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
|
final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
|
||||||
|
|
||||||
controller.updateState(preference);
|
controller.updateState(preference);
|
||||||
@@ -180,7 +181,7 @@ public class AddUserWhenLockedPreferenceControllerTest {
|
|||||||
when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
|
when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
|
||||||
final AddUserWhenLockedPreferenceController controller =
|
final AddUserWhenLockedPreferenceController controller =
|
||||||
new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
||||||
controller.setLockPatternUtils(mLockPatternUtils);
|
ReflectionHelpers.setField(controller, "mLockPatternUtils", mLockPatternUtils);
|
||||||
final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
|
final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
|
||||||
|
|
||||||
controller.updateState(preference);
|
controller.updateState(preference);
|
||||||
|
Reference in New Issue
Block a user