Merge "Add log to capture the hardware status." into rvc-dev am: 1117895745
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11908539 Change-Id: I0c23ec0766d3d9a87e59d59f0003778e4edc6acc
This commit is contained in:
@@ -95,9 +95,20 @@ public class FaceSettings extends DashboardFragment {
|
|||||||
private final FaceSettingsEnrollButtonPreferenceController.Listener mEnrollListener = intent ->
|
private final FaceSettingsEnrollButtonPreferenceController.Listener mEnrollListener = intent ->
|
||||||
startActivityForResult(intent, ENROLL_REQUEST);
|
startActivityForResult(intent, ENROLL_REQUEST);
|
||||||
|
|
||||||
public static boolean isAvailable(Context context) {
|
/**
|
||||||
|
* @param context
|
||||||
|
* @return true if the Face hardware is detected.
|
||||||
|
*/
|
||||||
|
public static boolean isFaceHardwareDetected(Context context) {
|
||||||
FaceManager manager = Utils.getFaceManagerOrNull(context);
|
FaceManager manager = Utils.getFaceManagerOrNull(context);
|
||||||
return manager != null && manager.isHardwareDetected();
|
boolean isHardwareDetected = false;
|
||||||
|
if (manager == null) {
|
||||||
|
Log.d(TAG, "FaceManager is null");
|
||||||
|
} else {
|
||||||
|
isHardwareDetected = manager.isHardwareDetected();
|
||||||
|
Log.d(TAG, "FaceManager is not null. Hardware detected: " + isHardwareDetected);
|
||||||
|
}
|
||||||
|
return manager != null && isHardwareDetected;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -126,7 +137,7 @@ public class FaceSettings extends DashboardFragment {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
final Context context = getPrefContext();
|
final Context context = getPrefContext();
|
||||||
if (!isAvailable(context)) {
|
if (!isFaceHardwareDetected(context)) {
|
||||||
Log.w(TAG, "no faceManager, finish this");
|
Log.w(TAG, "no faceManager, finish this");
|
||||||
finish();
|
finish();
|
||||||
return;
|
return;
|
||||||
@@ -273,7 +284,7 @@ public class FaceSettings extends DashboardFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
|
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
|
||||||
if (!isAvailable(context)) {
|
if (!isFaceHardwareDetected(context)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
mControllers = buildPreferenceControllers(context, getSettingsLifecycle());
|
mControllers = buildPreferenceControllers(context, getSettingsLifecycle());
|
||||||
@@ -314,7 +325,7 @@ public class FaceSettings extends DashboardFragment {
|
|||||||
@Override
|
@Override
|
||||||
public List<AbstractPreferenceController> createPreferenceControllers(
|
public List<AbstractPreferenceController> createPreferenceControllers(
|
||||||
Context context) {
|
Context context) {
|
||||||
if (isAvailable(context)) {
|
if (isFaceHardwareDetected(context)) {
|
||||||
return buildPreferenceControllers(context, null /* lifecycle */);
|
return buildPreferenceControllers(context, null /* lifecycle */);
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
@@ -323,7 +334,7 @@ public class FaceSettings extends DashboardFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean isPageSearchEnabled(Context context) {
|
protected boolean isPageSearchEnabled(Context context) {
|
||||||
if (isAvailable(context)) {
|
if (isFaceHardwareDetected(context)) {
|
||||||
return hasEnrolledBiometrics(context);
|
return hasEnrolledBiometrics(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -333,7 +344,10 @@ public class FaceSettings extends DashboardFragment {
|
|||||||
@Override
|
@Override
|
||||||
public List<String> getNonIndexableKeys(Context context) {
|
public List<String> getNonIndexableKeys(Context context) {
|
||||||
final List<String> keys = super.getNonIndexableKeys(context);
|
final List<String> keys = super.getNonIndexableKeys(context);
|
||||||
if (isAvailable(context)) {
|
final boolean isFaceHardwareDetected = isFaceHardwareDetected(context);
|
||||||
|
Log.d(TAG, "Get non indexable keys. isFaceHardwareDetected: "
|
||||||
|
+ isFaceHardwareDetected + ", size:" + keys.size());
|
||||||
|
if (isFaceHardwareDetected) {
|
||||||
final boolean hasEnrolled = hasEnrolledBiometrics(context);
|
final boolean hasEnrolled = hasEnrolledBiometrics(context);
|
||||||
keys.add(hasEnrolled ? PREF_KEY_ENROLL_FACE_UNLOCK
|
keys.add(hasEnrolled ? PREF_KEY_ENROLL_FACE_UNLOCK
|
||||||
: PREF_KEY_DELETE_FACE_DATA);
|
: PREF_KEY_DELETE_FACE_DATA);
|
||||||
|
@@ -22,10 +22,10 @@ import android.content.Context;
|
|||||||
import android.hardware.face.FaceManager;
|
import android.hardware.face.FaceManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import com.android.settings.Utils;
|
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
|
import com.android.settings.Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Preference controller for Face settings page controlling the ability to use
|
* Preference controller for Face settings page controlling the ability to use
|
||||||
* Face authentication in apps (through BiometricPrompt).
|
* Face authentication in apps (through BiometricPrompt).
|
||||||
@@ -51,7 +51,7 @@ public class FaceSettingsAppPreferenceController extends FaceSettingsPreferenceC
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isChecked() {
|
public boolean isChecked() {
|
||||||
if (!FaceSettings.isAvailable(mContext)) {
|
if (!FaceSettings.isFaceHardwareDetected(mContext)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return Settings.Secure.getIntForUser(
|
return Settings.Secure.getIntForUser(
|
||||||
@@ -67,7 +67,7 @@ public class FaceSettingsAppPreferenceController extends FaceSettingsPreferenceC
|
|||||||
@Override
|
@Override
|
||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
super.updateState(preference);
|
super.updateState(preference);
|
||||||
if (!FaceSettings.isAvailable(mContext)) {
|
if (!FaceSettings.isFaceHardwareDetected(mContext)) {
|
||||||
preference.setEnabled(false);
|
preference.setEnabled(false);
|
||||||
} else if (!mFaceManager.hasEnrolledTemplates(getUserId())) {
|
} else if (!mFaceManager.hasEnrolledTemplates(getUserId())) {
|
||||||
preference.setEnabled(false);
|
preference.setEnabled(false);
|
||||||
|
@@ -93,7 +93,7 @@ public class FaceSettingsAttentionPreferenceController extends FaceSettingsPrefe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isChecked() {
|
public boolean isChecked() {
|
||||||
if (!FaceSettings.isAvailable(mContext)) {
|
if (!FaceSettings.isFaceHardwareDetected(mContext)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// Set to disabled until we know the true value.
|
// Set to disabled until we know the true value.
|
||||||
|
@@ -25,7 +25,6 @@ import android.provider.Settings;
|
|||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.TogglePreferenceController;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Preference controller giving the user an option to always require confirmation.
|
* Preference controller giving the user an option to always require confirmation.
|
||||||
@@ -65,7 +64,7 @@ public class FaceSettingsConfirmPreferenceController extends FaceSettingsPrefere
|
|||||||
@Override
|
@Override
|
||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
super.updateState(preference);
|
super.updateState(preference);
|
||||||
if (!FaceSettings.isAvailable(mContext)) {
|
if (!FaceSettings.isFaceHardwareDetected(mContext)) {
|
||||||
preference.setEnabled(false);
|
preference.setEnabled(false);
|
||||||
} else if (!mFaceManager.hasEnrolledTemplates(getUserId())) {
|
} else if (!mFaceManager.hasEnrolledTemplates(getUserId())) {
|
||||||
preference.setEnabled(false);
|
preference.setEnabled(false);
|
||||||
|
@@ -53,7 +53,7 @@ public class FaceSettingsKeyguardPreferenceController extends FaceSettingsPrefer
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isChecked() {
|
public boolean isChecked() {
|
||||||
if (!FaceSettings.isAvailable(mContext)) {
|
if (!FaceSettings.isFaceHardwareDetected(mContext)) {
|
||||||
return false;
|
return false;
|
||||||
} else if (getRestrictingAdmin() != null) {
|
} else if (getRestrictingAdmin() != null) {
|
||||||
return false;
|
return false;
|
||||||
@@ -77,7 +77,7 @@ public class FaceSettingsKeyguardPreferenceController extends FaceSettingsPrefer
|
|||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
EnforcedAdmin admin;
|
EnforcedAdmin admin;
|
||||||
super.updateState(preference);
|
super.updateState(preference);
|
||||||
if (!FaceSettings.isAvailable(mContext)) {
|
if (!FaceSettings.isFaceHardwareDetected(mContext)) {
|
||||||
preference.setEnabled(false);
|
preference.setEnabled(false);
|
||||||
} else if ((admin = getRestrictingAdmin()) != null) {
|
} else if ((admin = getRestrictingAdmin()) != null) {
|
||||||
((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
|
((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
|
||||||
|
@@ -47,7 +47,7 @@ public class FaceSettingsLockscreenBypassPreferenceController
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isChecked() {
|
public boolean isChecked() {
|
||||||
if (!FaceSettings.isAvailable(mContext)) {
|
if (!FaceSettings.isFaceHardwareDetected(mContext)) {
|
||||||
return false;
|
return false;
|
||||||
} else if (getRestrictingAdmin() != null) {
|
} else if (getRestrictingAdmin() != null) {
|
||||||
return false;
|
return false;
|
||||||
@@ -69,7 +69,7 @@ public class FaceSettingsLockscreenBypassPreferenceController
|
|||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
EnforcedAdmin admin;
|
EnforcedAdmin admin;
|
||||||
super.updateState(preference);
|
super.updateState(preference);
|
||||||
if (!FaceSettings.isAvailable(mContext)) {
|
if (!FaceSettings.isFaceHardwareDetected(mContext)) {
|
||||||
preference.setEnabled(false);
|
preference.setEnabled(false);
|
||||||
} else if ((admin = getRestrictingAdmin()) != null) {
|
} else if ((admin = getRestrictingAdmin()) != null) {
|
||||||
((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
|
((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
|
||||||
|
@@ -165,7 +165,7 @@ public class FaceSettingsRemoveButtonPreferenceController extends BasePreference
|
|||||||
.findViewById(R.id.security_settings_face_settings_remove_button);
|
.findViewById(R.id.security_settings_face_settings_remove_button);
|
||||||
mButton.setOnClickListener(this);
|
mButton.setOnClickListener(this);
|
||||||
|
|
||||||
if (!FaceSettings.isAvailable(mContext)) {
|
if (!FaceSettings.isFaceHardwareDetected(mContext)) {
|
||||||
mButton.setEnabled(false);
|
mButton.setEnabled(false);
|
||||||
} else {
|
} else {
|
||||||
mButton.setEnabled(!mRemoving);
|
mButton.setEnabled(!mRemoving);
|
||||||
|
@@ -41,7 +41,7 @@ public class FaceStatusPreferenceController extends BiometricStatusPreferenceCon
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean isDeviceSupported() {
|
protected boolean isDeviceSupported() {
|
||||||
return mFaceManager != null && mFaceManager.isHardwareDetected();
|
return FaceSettings.isFaceHardwareDetected(mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -21,6 +21,7 @@ import static android.provider.Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENA
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
@@ -31,6 +32,7 @@ import com.android.settings.overlay.FeatureFactory;
|
|||||||
|
|
||||||
public class AssistGestureSettingsPreferenceController extends GesturePreferenceController {
|
public class AssistGestureSettingsPreferenceController extends GesturePreferenceController {
|
||||||
|
|
||||||
|
private static final String TAG = "AssistGesture";
|
||||||
private static final String PREF_KEY_VIDEO = "gesture_assist_video";
|
private static final String PREF_KEY_VIDEO = "gesture_assist_video";
|
||||||
|
|
||||||
private static final String SECURE_KEY_ASSIST = ASSIST_GESTURE_ENABLED;
|
private static final String SECURE_KEY_ASSIST = ASSIST_GESTURE_ENABLED;
|
||||||
@@ -55,8 +57,11 @@ public class AssistGestureSettingsPreferenceController extends GesturePreference
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
final boolean isAvailable = mAssistOnly ? mFeatureProvider.isSupported(mContext)
|
final boolean isSupported = mFeatureProvider.isSupported(mContext);
|
||||||
: mFeatureProvider.isSensorAvailable(mContext);
|
final boolean isSensorAvailable = mFeatureProvider.isSensorAvailable(mContext);
|
||||||
|
final boolean isAvailable = mAssistOnly ? isSupported : isSensorAvailable;
|
||||||
|
Log.d(TAG, "mAssistOnly:" + mAssistOnly + ", isSupported:" + isSupported
|
||||||
|
+ ", isSensorAvailable:" + isSensorAvailable);
|
||||||
return isAvailable ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
return isAvailable ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user