1/*
2 * Copyright 2020 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package android.hardware.biometrics.fingerprint@2.3;
18
19import @2.2::IBiometricsFingerprint;
20
21/**
22 * New use of this interface is strongly discouraged. The recommended option is
23 * to use the AIDL interface, android.hardware.biometrics.fingerprint
24 * (IFingerprint).
25 *
26 * The interface for biometric fingerprint authentication.
27 */
28interface IBiometricsFingerprint extends @2.2::IBiometricsFingerprint {
29    /**
30     * Returns whether the fingerprint sensor is an under-display fingerprint
31     * sensor.
32     * @param sensorId the unique sensor ID for which the operation should be
33     * performed.
34     * @return isUdfps indicating whether the specified sensor is an
35     * under-display fingerprint sensor.
36     */
37    isUdfps(uint32_t sensorId) generates (bool isUdfps);
38
39    /**
40     * Notifies about a touch occurring within the under-display fingerprint
41     * sensor area.
42     *
43     * It it assumed that the device can only have one active under-display
44     * fingerprint sensor at a time.
45     *
46     * If multiple fingers are detected within the sensor area, only the
47     * chronologically first event will be reported.
48     *
49     * @param x The screen x-coordinate of the center of the touch contact area, in
50     * display pixels.
51     * @param y The screen y-coordinate of the center of the touch contact area, in
52     * display pixels.
53     * @param minor The length of the minor axis of an ellipse that describes the
54     * touch area, in display pixels.
55     * @param major The length of the major axis of an ellipse that describes the
56     * touch area, in display pixels.
57     */
58    onFingerDown(uint32_t x, uint32_t y, float minor, float major);
59
60    /**
61     * Notifies about a finger leaving the under-display fingerprint sensor area.
62     *
63     * It it assumed that the device can only have one active under-display
64     * fingerprint sensor at a time.
65     *
66     * If multiple fingers have left the sensor area, only the finger which
67     * previously caused a "finger down" event will be reported.
68     */
69    onFingerUp();
70};
71