Add skip lock screen in Notification & security lock screen settings

Users may have trouble finding this setting in face auth.
Heard this from dogfood/executive feedback and customer support discussion.
So add Skip Lock Screen preference in
Display > Lock screen display > What to show >
and
App & Notifications > Notifications > Lock Screen >

Bug: 138458558
Test: robotest & manual

Change-Id: I10e420821423821743d65b00c8b7e6d4d1224e00
This commit is contained in:
Edgar Wang
2019-07-29 16:55:31 +08:00
parent 04ad8c905a
commit 58a5be4401
5 changed files with 36 additions and 7 deletions

View File

@@ -19,6 +19,8 @@ package com.android.settings.biometrics.face;
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.face.FaceManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import androidx.preference.Preference;
@@ -32,16 +34,15 @@ public class FaceSettingsLockscreenBypassPreferenceController
@VisibleForTesting
protected FaceManager mFaceManager;
public FaceSettingsLockscreenBypassPreferenceController(Context context) {
this(context, KEY);
}
private UserManager mUserManager;
public FaceSettingsLockscreenBypassPreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE)) {
mFaceManager = context.getSystemService(FaceManager.class);
}
mUserManager = context.getSystemService(UserManager.class);
}
@Override
@@ -75,6 +76,10 @@ public class FaceSettingsLockscreenBypassPreferenceController
@Override
public int getAvailabilityStatus() {
if (mUserManager.isManagedProfile(UserHandle.myUserId())) {
return UNSUPPORTED_ON_DEVICE;
}
if (mFaceManager != null && mFaceManager.isHardwareDetected()) {
return mFaceManager.hasEnrolledTemplates() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
} else {