Update face & fingerprint pref logic

This change makes it possible for face & fingerprint settings to be
presented to the user only to delete their face/fingerprint if the
feature has been disabled by a device admin.

Bug: 323280069
Test: atest BiometricFaceStatusPreferenceControllerTest
BiometricFingerprintStatusPreferenceControllerTest

Change-Id: I62cab3ddf7cf708d1b0b4da61dc3ffb7052dee84
This commit is contained in:
Joshua McCloskey
2024-04-29 22:22:31 +00:00
parent 1eca5e767d
commit 3e25356829
18 changed files with 213 additions and 13 deletions

View File

@@ -18,6 +18,7 @@ package com.android.settings.biometrics.face;
import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.Intent;
import android.view.View;
@@ -28,6 +29,7 @@ import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.widget.LayoutPreference;
import com.google.android.setupdesign.util.ButtonStyler;
@@ -71,6 +73,10 @@ public class FaceSettingsEnrollButtonPreferenceController extends BasePreference
}
mButton.setOnClickListener(this);
final boolean isDeviceOwnerBlockingAuth =
RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
mContext, DevicePolicyManager.KEYGUARD_DISABLE_FACE, mUserId) != null;
mButton.setEnabled(!isDeviceOwnerBlockingAuth);
}
@Override