blob: 2270eca532ed8e7d9e5e9c187d23dd5333985f36 [file] [log] [blame]
Jeff Pu63f33c72022-07-28 16:06:23 -04001/*
2 * Copyright (C) 2021 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
17#pragma once
18#include "FakeFingerprintEngine.h"
19
20using namespace ::aidl::android::hardware::biometrics::common;
21
22namespace aidl::android::hardware::biometrics::fingerprint {
23
24// A fake engine that is backed by system properties instead of hardware.
25class FakeFingerprintEngineUdfps : public FakeFingerprintEngine {
26 public:
27 static constexpr int32_t defaultSensorLocationX = 400;
28 static constexpr int32_t defaultSensorLocationY = 1600;
29 static constexpr int32_t defaultSensorRadius = 150;
30
Jeff Pu52653182022-10-12 16:27:23 -040031 static constexpr int32_t uiReadyTimeoutInMs = 5000;
32
33 FakeFingerprintEngineUdfps();
Jeff Pu63f33c72022-07-28 16:06:23 -040034 ~FakeFingerprintEngineUdfps() {}
35
Jeff Pu52653182022-10-12 16:27:23 -040036 ndk::ScopedAStatus onPointerDownImpl(int32_t pointerId, int32_t x, int32_t y, float minor,
37 float major) override;
Jeff Pu63f33c72022-07-28 16:06:23 -040038
Jeff Pu52653182022-10-12 16:27:23 -040039 ndk::ScopedAStatus onPointerUpImpl(int32_t pointerId) override;
Jeff Pu63f33c72022-07-28 16:06:23 -040040
Jeff Pu52653182022-10-12 16:27:23 -040041 ndk::ScopedAStatus onUiReadyImpl() override;
Jeff Pu63f33c72022-07-28 16:06:23 -040042
Jeff Pu52653182022-10-12 16:27:23 -040043 SensorLocation defaultSensorLocation() override;
44
Jeff Pudef5b042023-05-25 14:28:16 -040045 void updateContext(WorkMode mode, ISessionCallback* cb, std::future<void>& cancel,
46 int64_t operationId, const keymaster::HardwareAuthToken& hat);
47 void fingerDownAction();
Jeff Pu52653182022-10-12 16:27:23 -040048
49 std::string toString() const {
50 std::ostringstream os;
51 os << FakeFingerprintEngine::toString();
52 os << "----- FakeFingerprintEngineUdfps -----" << std::endl;
Jeff Pu52653182022-10-12 16:27:23 -040053 os << ", mUiReadyTime:" << mUiReadyTime;
54 os << ", mPointerDownTime:" << mPointerDownTime << std::endl;
55 return os.str();
56 }
57
58 private:
Jeff Pu52653182022-10-12 16:27:23 -040059 int64_t mPointerDownTime;
60 int64_t mUiReadyTime;
Jeff Pu63f33c72022-07-28 16:06:23 -040061};
62
63} // namespace aidl::android::hardware::biometrics::fingerprint