Settings should be per-profile
Also, don't show keyguard option for work profile Fixes: 129905061 Test: Builds Change-Id: I18f573f39ee4e54a3385cc65079bb794633cc560
This commit is contained in:
@@ -27,6 +27,7 @@ import android.content.Intent;
|
||||
import android.hardware.face.FaceManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.util.Log;
|
||||
|
||||
@@ -53,11 +54,13 @@ public class FaceSettings extends DashboardFragment {
|
||||
private static final String TAG = "FaceSettings";
|
||||
private static final String KEY_TOKEN = "key_token";
|
||||
|
||||
private UserManager mUserManager;
|
||||
private FaceManager mFaceManager;
|
||||
private int mUserId;
|
||||
private byte[] mToken;
|
||||
private FaceSettingsAttentionPreferenceController mAttentionController;
|
||||
private FaceSettingsRemoveButtonPreferenceController mRemoveController;
|
||||
private List<AbstractPreferenceController> mControllers;
|
||||
|
||||
private final FaceSettingsRemoveButtonPreferenceController.Listener mRemovalListener = () -> {
|
||||
if (getActivity() != null) {
|
||||
@@ -95,10 +98,24 @@ public class FaceSettings extends DashboardFragment {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
mUserManager = getPrefContext().getSystemService(UserManager.class);
|
||||
mFaceManager = getPrefContext().getSystemService(FaceManager.class);
|
||||
mUserId = getActivity().getIntent().getIntExtra(
|
||||
Intent.EXTRA_USER_ID, UserHandle.myUserId());
|
||||
|
||||
// There is no better way to do this :/
|
||||
for (AbstractPreferenceController controller : mControllers) {
|
||||
if (controller instanceof FaceSettingsPreferenceController) {
|
||||
((FaceSettingsPreferenceController) controller).setUserId(mUserId);
|
||||
}
|
||||
}
|
||||
mRemoveController.setUserId(mUserId);
|
||||
|
||||
// Don't show keyguard controller for work profile settings.
|
||||
if (mUserManager.isManagedProfile(mUserId)) {
|
||||
removePreference(FaceSettingsKeyguardPreferenceController.KEY);
|
||||
}
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
mToken = savedInstanceState.getByteArray(KEY_TOKEN);
|
||||
}
|
||||
@@ -162,10 +179,9 @@ public class FaceSettings extends DashboardFragment {
|
||||
if (!isAvailable(context)) {
|
||||
return null;
|
||||
}
|
||||
final List<AbstractPreferenceController> controllers =
|
||||
buildPreferenceControllers(context, getSettingsLifecycle());
|
||||
mControllers = buildPreferenceControllers(context, getSettingsLifecycle());
|
||||
// There's no great way of doing this right now :/
|
||||
for (AbstractPreferenceController controller : controllers) {
|
||||
for (AbstractPreferenceController controller : mControllers) {
|
||||
if (controller instanceof FaceSettingsAttentionPreferenceController) {
|
||||
mAttentionController = (FaceSettingsAttentionPreferenceController) controller;
|
||||
} else if (controller instanceof FaceSettingsRemoveButtonPreferenceController) {
|
||||
@@ -175,7 +191,7 @@ public class FaceSettings extends DashboardFragment {
|
||||
}
|
||||
}
|
||||
|
||||
return controllers;
|
||||
return mControllers;
|
||||
}
|
||||
|
||||
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
|
||||
|
Reference in New Issue
Block a user