diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/AuthenticateReason.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/AuthenticateReason.aidl new file mode 100644 index 0000000000..f639ead601 --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/AuthenticateReason.aidl @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@VintfStability +union AuthenticateReason { + android.hardware.biometrics.common.AuthenticateReason.Vendor vendorAuthenticateReason; + android.hardware.biometrics.common.AuthenticateReason.Face faceAuthenticateReason; + android.hardware.biometrics.common.AuthenticateReason.Fingerprint fingerprintAuthenticateReason; + @VintfStability + parcelable Vendor { + ParcelableHolder extension; + } + @Backing(type="int") @VintfStability + enum Fingerprint { + UNKNOWN, + } + @Backing(type="int") @VintfStability + enum Face { + UNKNOWN, + STARTED_WAKING_UP, + PRIMARY_BOUNCER_SHOWN, + ASSISTANT_VISIBLE, + ALTERNATE_BIOMETRIC_BOUNCER_SHOWN, + NOTIFICATION_PANEL_CLICKED, + OCCLUDING_APP_REQUESTED, + PICK_UP_GESTURE_TRIGGERED, + QS_EXPANDED, + SWIPE_UP_ON_BOUNCER, + UDFPS_POINTER_DOWN, + } +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/DisplayState.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/DisplayState.aidl new file mode 100644 index 0000000000..176e8d603b --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/DisplayState.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum DisplayState { + UNKNOWN, + LOCKSCREEN, + NO_UI, + SCREENSAVER, + AOD, +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationContext.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationContext.aidl index 305e422778..378017e8d4 100644 --- a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationContext.aidl +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationContext.aidl @@ -37,7 +37,12 @@ package android.hardware.biometrics.common; parcelable OperationContext { int id = 0; android.hardware.biometrics.common.OperationReason reason = android.hardware.biometrics.common.OperationReason.UNKNOWN; + /** + * @deprecated use displayState instead. + */ boolean isAod = false; boolean isCrypto = false; android.hardware.biometrics.common.WakeReason wakeReason = android.hardware.biometrics.common.WakeReason.UNKNOWN; + android.hardware.biometrics.common.DisplayState displayState = android.hardware.biometrics.common.DisplayState.UNKNOWN; + @nullable android.hardware.biometrics.common.AuthenticateReason authenticateReason; } diff --git a/biometrics/common/aidl/android/hardware/biometrics/common/AuthenticateReason.aidl b/biometrics/common/aidl/android/hardware/biometrics/common/AuthenticateReason.aidl new file mode 100644 index 0000000000..fcf52949be --- /dev/null +++ b/biometrics/common/aidl/android/hardware/biometrics/common/AuthenticateReason.aidl @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.biometrics.common; + +/** + * Reason for an authenticate operation. + * + * @hide + */ +@VintfStability +union AuthenticateReason { + /** Vendor reason for invoking an authenticate operation. */ + @VintfStability + parcelable Vendor { + ParcelableHolder extension; + } + + /** Reason for invoking fingerprint authentication. */ + @VintfStability + @Backing(type="int") + enum Fingerprint { + UNKNOWN, + } + + /** Reason for invoking face authentication. */ + @VintfStability + @Backing(type="int") + enum Face { + UNKNOWN, + STARTED_WAKING_UP, + PRIMARY_BOUNCER_SHOWN, + ASSISTANT_VISIBLE, + ALTERNATE_BIOMETRIC_BOUNCER_SHOWN, + NOTIFICATION_PANEL_CLICKED, + OCCLUDING_APP_REQUESTED, + PICK_UP_GESTURE_TRIGGERED, + QS_EXPANDED, + SWIPE_UP_ON_BOUNCER, + UDFPS_POINTER_DOWN, + } + + AuthenticateReason.Vendor vendorAuthenticateReason; + AuthenticateReason.Face faceAuthenticateReason; + AuthenticateReason.Fingerprint fingerprintAuthenticateReason; +} diff --git a/biometrics/common/aidl/android/hardware/biometrics/common/DisplayState.aidl b/biometrics/common/aidl/android/hardware/biometrics/common/DisplayState.aidl new file mode 100644 index 0000000000..d01eac83f3 --- /dev/null +++ b/biometrics/common/aidl/android/hardware/biometrics/common/DisplayState.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.biometrics.common; + +/** + * Display state during an operation. + * + * @hide + */ +@VintfStability +@Backing(type="int") +enum DisplayState { + /** The display state is unknown. */ + UNKNOWN, + + /** The display is on and showing the lockscreen (or an occluding app). */ + LOCKSCREEN, + + /** The display is off or dozing. */ + NO_UI, + + /** The display is showing a screensaver (dreaming). */ + SCREENSAVER, + + /** The display is dreaming with always on display. */ + AOD, +} diff --git a/biometrics/common/aidl/android/hardware/biometrics/common/OperationContext.aidl b/biometrics/common/aidl/android/hardware/biometrics/common/OperationContext.aidl index a8f768d805..f4191d751a 100644 --- a/biometrics/common/aidl/android/hardware/biometrics/common/OperationContext.aidl +++ b/biometrics/common/aidl/android/hardware/biometrics/common/OperationContext.aidl @@ -16,6 +16,8 @@ package android.hardware.biometrics.common; +import android.hardware.biometrics.common.AuthenticateReason; +import android.hardware.biometrics.common.DisplayState; import android.hardware.biometrics.common.OperationReason; import android.hardware.biometrics.common.WakeReason; @@ -43,7 +45,7 @@ parcelable OperationContext { */ OperationReason reason = OperationReason.UNKNOWN; - /* Flag indicating that the display is in AOD mode. */ + /** @deprecated use displayState instead. */ boolean isAod = false; /** Flag indicating that crypto was requested. */ @@ -58,4 +60,15 @@ parcelable OperationContext { * policy. */ WakeReason wakeReason = WakeReason.UNKNOWN; + + /** The current display state. */ + DisplayState displayState = DisplayState.UNKNOWN; + + /** + * An associated reason for an authenticate operation. + * + * This should be interpreted as a hint to enable optimizations or tracing. The + * framework may choose to omit the reason at any time based on the device's policy. + */ + @nullable AuthenticateReason authenticateReason; }