Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba59ee15 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update default face implementation"

parents d37dae51 cfb5499a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@
namespace aidl::android::hardware::biometrics::face {

const int kSensorId = 0;
const common::SensorStrength kSensorStrength = common::SensorStrength::WEAK;
const common::SensorStrength kSensorStrength = common::SensorStrength::STRONG;
const int kMaxEnrollmentsPerUser = 5;
const FaceSensorType kSensorType = FaceSensorType::RGB;
const bool kHalControlsPreview = true;
+41 −3
Original line number Diff line number Diff line
@@ -21,17 +21,35 @@
namespace aidl::android::hardware::biometrics::face {

class CancellationSignal : public common::BnCancellationSignal {
  private:
    std::shared_ptr<ISessionCallback> cb_;
  public:
    ndk::ScopedAStatus cancel() override { return ndk::ScopedAStatus::ok(); }
    explicit CancellationSignal(std::shared_ptr<ISessionCallback> cb) : cb_(std::move(cb)) {}

    ndk::ScopedAStatus cancel() override {
        cb_->onError(Error::CANCELED, 0 /* vendorCode */);
        cb_->onStateChanged(0, SessionState::IDLING);
        return ndk::ScopedAStatus::ok();
    }
};

Session::Session(std::shared_ptr<ISessionCallback> cb) : cb_(std::move(cb)) {}

ndk::ScopedAStatus Session::generateChallenge(int32_t /*cookie*/, int32_t /*timeoutSec*/) {
    if (cb_) {
        cb_->onStateChanged(0, SessionState::GENERATING_CHALLENGE);
        cb_->onChallengeGenerated(0);
        cb_->onStateChanged(0, SessionState::IDLING);
    }
    return ndk::ScopedAStatus::ok();
}

ndk::ScopedAStatus Session::revokeChallenge(int32_t /*cookie*/, int64_t /*challenge*/) {
ndk::ScopedAStatus Session::revokeChallenge(int32_t /*cookie*/, int64_t challenge) {
    if (cb_) {
        cb_->onStateChanged(0, SessionState::REVOKING_CHALLENGE);
        cb_->onChallengeRevoked(challenge);
        cb_->onStateChanged(0, SessionState::IDLING);
    }
    return ndk::ScopedAStatus::ok();
}

@@ -47,7 +65,7 @@ ndk::ScopedAStatus Session::authenticate(int32_t /*cookie*/, int64_t /*keystoreO
    if (cb_) {
        cb_->onStateChanged(0, SessionState::AUTHENTICATING);
    }
    *return_val = SharedRefBase::make<CancellationSignal>();
    *return_val = SharedRefBase::make<CancellationSignal>(cb_);
    return ndk::ScopedAStatus::ok();
}

@@ -57,15 +75,30 @@ ndk::ScopedAStatus Session::detectInteraction(
}

ndk::ScopedAStatus Session::enumerateEnrollments(int32_t /*cookie*/) {
    if (cb_) {
        cb_->onStateChanged(0, SessionState::ENUMERATING_ENROLLMENTS);
        cb_->onEnrollmentsEnumerated(std::vector<int32_t>());
        cb_->onStateChanged(0, SessionState::IDLING);
    }
    return ndk::ScopedAStatus::ok();
}

ndk::ScopedAStatus Session::removeEnrollments(int32_t /*cookie*/,
                                              const std::vector<int32_t>& /*enrollmentIds*/) {
    if (cb_) {
      cb_->onStateChanged(0, SessionState::REMOVING_ENROLLMENTS);
      cb_->onEnrollmentsRemoved(std::vector<int32_t>());
      cb_->onStateChanged(0, SessionState::IDLING);
    }
    return ndk::ScopedAStatus::ok();
}

ndk::ScopedAStatus Session::getAuthenticatorId(int32_t /*cookie*/) {
    if (cb_) {
        cb_->onStateChanged(0, SessionState::GETTING_AUTHENTICATOR_ID);
        cb_->onAuthenticatorIdRetrieved(0 /* authenticatorId */);
        cb_->onStateChanged(0, SessionState::IDLING);
    }
    return ndk::ScopedAStatus::ok();
}

@@ -75,6 +108,11 @@ ndk::ScopedAStatus Session::invalidateAuthenticatorId(int32_t /*cookie*/) {

ndk::ScopedAStatus Session::resetLockout(int32_t /*cookie*/,
                                         const keymaster::HardwareAuthToken& /*hat*/) {
    if (cb_) {
        cb_->onStateChanged(0, SessionState::RESETTING_LOCKOUT);
        cb_->onLockoutCleared();
        cb_->onStateChanged(0, SessionState::IDLING);
    }
    return ndk::ScopedAStatus::ok();
}
}  // namespace aidl::android::hardware::biometrics::face