Add isUdfps method to biometrics.fingerprint@2.3

Bug: 158135499
Test: atest VtsHalBiometricsFingerprintV2_3TargetTest
Change-Id: I10a75f8362f2596709399a45555bf9f09451f962
This commit is contained in:
Ilya Matyukhin
2020-06-26 10:47:46 -07:00
parent b132f55629
commit 134ace098a
2 changed files with 54 additions and 22 deletions

View File

@@ -22,22 +22,45 @@ import @2.2::IBiometricsFingerprint;
* The interface for biometric fingerprint authentication.
*/
interface IBiometricsFingerprint extends @2.2::IBiometricsFingerprint {
/**
* Notifies about a finger touching the sensor area.
*
* @param x The screen x-coordinate of the center of the touch contact area, in
* display pixels.
* @param y The screen y-coordinate of the center of the touch contact area, in
* display pixels.
* @param minor The length of the minor axis of an ellipse that describes the
* touch area, in display pixels.
* @param major The length of the major axis of an ellipse that describes the
* touch area, in display pixels.
*/
oneway onFingerDown(uint32_t x, uint32_t y, float minor, float major);
/**
* Returns whether the fingerprint sensor is an under-display fingerprint
* sensor.
* @param sensorId the unique sensor ID for which the operation should be
* performed.
* @return isUdfps indicating whether the specified sensor is an
* under-display fingerprint sensor.
*/
isUdfps(uint32_t sensorId) generates (bool isUdfps);
/**
* Notifies about a finger leaving the sensor area.
*/
oneway onFingerUp();
/**
* Notifies about a touch occurring within the under-display fingerprint
* sensor area.
*
* It it assumed that the device can only have one active under-display
* fingerprint sensor at a time.
*
* If multiple fingers are detected within the sensor area, only the
* chronologically first event will be reported.
*
* @param x The screen x-coordinate of the center of the touch contact area, in
* display pixels.
* @param y The screen y-coordinate of the center of the touch contact area, in
* display pixels.
* @param minor The length of the minor axis of an ellipse that describes the
* touch area, in display pixels.
* @param major The length of the major axis of an ellipse that describes the
* touch area, in display pixels.
*/
onFingerDown(uint32_t x, uint32_t y, float minor, float major);
/**
* Notifies about a finger leaving the under-display fingerprint sensor area.
*
* It it assumed that the device can only have one active under-display
* fingerprint sensor at a time.
*
* If multiple fingers have left the sensor area, only the finger which
* previously caused a "finger down" event will be reported.
*/
onFingerUp();
};

View File

@@ -14,6 +14,8 @@
* limitations under the License.
*/
#define ASSERT_OK(v) ASSERT_TRUE(v.isOk())
#include <android/hardware/biometrics/fingerprint/2.3/IBiometricsFingerprint.h>
#include <gtest/gtest.h>
#include <hidl/GtestPrinter.h>
@@ -41,14 +43,21 @@ class FingerprintHidlTest : public ::testing::TestWithParam<std::string> {
sp<IBiometricsFingerprint> mService;
};
// This is a one-way method that doesn't return anything.
TEST_P(FingerprintHidlTest, onFingerDownTest) {
mService->onFingerDown(1, 2, 3.0f, 4.0f);
// This method returns true or false depending on the implementation.
TEST_P(FingerprintHidlTest, isUdfpsTest) {
// Arbitrary ID
uint32_t sensorId = 1234;
ASSERT_OK(mService->isUdfps(sensorId));
}
// This is a one-way method that doesn't return anything.
// This method that doesn't return anything.
TEST_P(FingerprintHidlTest, onFingerDownTest) {
ASSERT_OK(mService->onFingerDown(1, 2, 3.0f, 4.0f));
}
// This method that doesn't return anything.
TEST_P(FingerprintHidlTest, onFingerUp) {
mService->onFingerUp();
ASSERT_OK(mService->onFingerUp());
}
} // anonymous namespace