diff --git a/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java b/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java
index 7b445e5..2433fcb 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java
@@ -43,8 +43,9 @@
         if (mUserId != UserHandle.USER_NULL) {
             mFaceManager.setActiveUser(mUserId);
         }
+        // TODO: Send the list of disabled features
         mFaceManager.enroll(mToken, mEnrollmentCancel,
-                0 /* flags */, mUserId, mEnrollmentCallback);
+                mEnrollmentCallback, new int[0] /* disabledFeatures */);
     }
 
     private FaceManager.EnrollmentCallback mEnrollmentCallback
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java
index 9c4f964..2e32bf3 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java
@@ -48,7 +48,6 @@
 
     public void setToken(byte[] token) {
         mToken = token;
-        mPreference.setChecked(mFaceManager.getRequireAttention(mToken));
     }
 
     /**
@@ -64,18 +63,13 @@
     public boolean isChecked() {
         if (!FaceSettings.isAvailable(mContext)) {
             return true;
-        } else if (mToken == null) {
-            // The token will be null when the controller is first created, since CC has not been
-            // completed by the user. Once it's completed, FaceSettings will use setToken which
-            // will retrieve the correct value from FaceService
-            return true;
         }
-        return mFaceManager.getRequireAttention(mToken);
+        return mFaceManager.getFeature(FaceManager.FEATURE_REQUIRE_ATTENTION);
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        mFaceManager.setRequireAttention(isChecked, mToken);
+        mFaceManager.setFeature(FaceManager.FEATURE_REQUIRE_ATTENTION, isChecked, mToken);
         return true;
     }
 
