Loading fingerprint/Android.bp +2 −2 Original line number Diff line number Diff line Loading @@ -14,10 +14,10 @@ // See the License for the specific language governing permissions and // limitations under the License. cc_binary { name: "android.hardware.biometrics.fingerprint@2.0-service.kitakami", name: "android.hardware.biometrics.fingerprint@2.1-service.kitakami", defaults: ["hidl_defaults"], relative_install_path: "hw", init_rc: ["android.hardware.biometrics.fingerprint@2.0-service.kitakami.rc"], init_rc: ["android.hardware.biometrics.fingerprint@2.1-service.kitakami.rc"], srcs: ["service.cpp", "BiometricsFingerprint.cpp"], shared_libs: [ "libutils", Loading fingerprint/BiometricsFingerprint.cpp +13 −26 Original line number Diff line number Diff line Loading @@ -13,8 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ #define LOG_TAG "android.hardware.biometrics.fingerprint@2.0-service.kitakami" #define LOG_VERBOSE "android.hardware.biometrics.fingerprint@2.0-service.kitakami" #define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.kitakami" #define LOG_VERBOSE "android.hardware.biometrics.fingerprint@2.1-service.kitakami" #include <hardware/hw_auth_token.h> Loading Loading @@ -184,30 +184,8 @@ Return<RequestStatus> BiometricsFingerprint::cancel() { return ErrorFilter(ret); } #define MAX_FINGERPRINTS 100 typedef int (*enumerate_2_0)(struct fingerprint_device *dev, fingerprint_finger_id_t *results, uint32_t *max_size); Return<RequestStatus> BiometricsFingerprint::enumerate() { fingerprint_finger_id_t results[MAX_FINGERPRINTS]; uint32_t n = MAX_FINGERPRINTS; enumerate_2_0 enumerate = (enumerate_2_0) mDevice->enumerate; int ret = enumerate(mDevice, results, &n); if (ret == 0 && mClientCallback != nullptr) { ALOGD("Got %d enumerated templates", n); for (uint32_t i = 0; i < n; i++) { const uint64_t devId = reinterpret_cast<uint64_t>(mDevice); const auto& fp = results[i]; ALOGD("onEnumerate(fid=%d, gid=%d)", fp.fid, fp.gid); if (!mClientCallback->onEnumerate(devId, fp.fid, fp.gid, n - i - 1).isOk()) { ALOGE("failed to invoke fingerprint onEnumerate callback"); } } } return ErrorFilter(ret); return ErrorFilter(mDevice->enumerate(mDevice)); } Return<RequestStatus> BiometricsFingerprint::remove(uint32_t gid, uint32_t fid) { Loading Loading @@ -365,7 +343,16 @@ void BiometricsFingerprint::notify(const fingerprint_msg_t *msg) { } break; case FINGERPRINT_TEMPLATE_ENUMERATING: // ignored, won't happen for 2.0 HALs ALOGD("onEnumerate(fid=%d, gid=%d, rem=%d)", msg->data.enumerated.finger.fid, msg->data.enumerated.finger.gid, msg->data.enumerated.remaining_templates); if (!thisPtr->mClientCallback->onEnumerate(devId, msg->data.enumerated.finger.fid, msg->data.enumerated.finger.gid, msg->data.enumerated.remaining_templates).isOk()) { ALOGE("failed to invoke fingerprint onEnumerate callback"); } break; } } Loading fingerprint/android.hardware.biometrics.fingerprint@2.0-service.kitakami.rc→fingerprint/android.hardware.biometrics.fingerprint@2.1-service.kitakami.rc +1 −1 Original line number Diff line number Diff line service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.0-service.kitakami service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.kitakami # "class hal" causes a race condition on some devices due to files created # in /data. As a workaround, postpone startup until later in boot once # /data is mounted. Loading sepolicy/vendor/file_contexts +1 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ /data/etc(/.*) u:object_r:ta_data_file:s0 # Fingerprint /(vendor|system/vendor)/bin/hw/android\.hardware\.biometrics\.fingerprint@2\.0-service.kitakami u:object_r:hal_fingerprint_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.biometrics\.fingerprint@2\.1-service.kitakami u:object_r:hal_fingerprint_default_exec:s0 # Fingerprint sensor SPI device /data/fpc(/.*)? u:object_r:fpc_data_file:s0 Loading Loading
fingerprint/Android.bp +2 −2 Original line number Diff line number Diff line Loading @@ -14,10 +14,10 @@ // See the License for the specific language governing permissions and // limitations under the License. cc_binary { name: "android.hardware.biometrics.fingerprint@2.0-service.kitakami", name: "android.hardware.biometrics.fingerprint@2.1-service.kitakami", defaults: ["hidl_defaults"], relative_install_path: "hw", init_rc: ["android.hardware.biometrics.fingerprint@2.0-service.kitakami.rc"], init_rc: ["android.hardware.biometrics.fingerprint@2.1-service.kitakami.rc"], srcs: ["service.cpp", "BiometricsFingerprint.cpp"], shared_libs: [ "libutils", Loading
fingerprint/BiometricsFingerprint.cpp +13 −26 Original line number Diff line number Diff line Loading @@ -13,8 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ #define LOG_TAG "android.hardware.biometrics.fingerprint@2.0-service.kitakami" #define LOG_VERBOSE "android.hardware.biometrics.fingerprint@2.0-service.kitakami" #define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.kitakami" #define LOG_VERBOSE "android.hardware.biometrics.fingerprint@2.1-service.kitakami" #include <hardware/hw_auth_token.h> Loading Loading @@ -184,30 +184,8 @@ Return<RequestStatus> BiometricsFingerprint::cancel() { return ErrorFilter(ret); } #define MAX_FINGERPRINTS 100 typedef int (*enumerate_2_0)(struct fingerprint_device *dev, fingerprint_finger_id_t *results, uint32_t *max_size); Return<RequestStatus> BiometricsFingerprint::enumerate() { fingerprint_finger_id_t results[MAX_FINGERPRINTS]; uint32_t n = MAX_FINGERPRINTS; enumerate_2_0 enumerate = (enumerate_2_0) mDevice->enumerate; int ret = enumerate(mDevice, results, &n); if (ret == 0 && mClientCallback != nullptr) { ALOGD("Got %d enumerated templates", n); for (uint32_t i = 0; i < n; i++) { const uint64_t devId = reinterpret_cast<uint64_t>(mDevice); const auto& fp = results[i]; ALOGD("onEnumerate(fid=%d, gid=%d)", fp.fid, fp.gid); if (!mClientCallback->onEnumerate(devId, fp.fid, fp.gid, n - i - 1).isOk()) { ALOGE("failed to invoke fingerprint onEnumerate callback"); } } } return ErrorFilter(ret); return ErrorFilter(mDevice->enumerate(mDevice)); } Return<RequestStatus> BiometricsFingerprint::remove(uint32_t gid, uint32_t fid) { Loading Loading @@ -365,7 +343,16 @@ void BiometricsFingerprint::notify(const fingerprint_msg_t *msg) { } break; case FINGERPRINT_TEMPLATE_ENUMERATING: // ignored, won't happen for 2.0 HALs ALOGD("onEnumerate(fid=%d, gid=%d, rem=%d)", msg->data.enumerated.finger.fid, msg->data.enumerated.finger.gid, msg->data.enumerated.remaining_templates); if (!thisPtr->mClientCallback->onEnumerate(devId, msg->data.enumerated.finger.fid, msg->data.enumerated.finger.gid, msg->data.enumerated.remaining_templates).isOk()) { ALOGE("failed to invoke fingerprint onEnumerate callback"); } break; } } Loading
fingerprint/android.hardware.biometrics.fingerprint@2.0-service.kitakami.rc→fingerprint/android.hardware.biometrics.fingerprint@2.1-service.kitakami.rc +1 −1 Original line number Diff line number Diff line service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.0-service.kitakami service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.kitakami # "class hal" causes a race condition on some devices due to files created # in /data. As a workaround, postpone startup until later in boot once # /data is mounted. Loading
sepolicy/vendor/file_contexts +1 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ /data/etc(/.*) u:object_r:ta_data_file:s0 # Fingerprint /(vendor|system/vendor)/bin/hw/android\.hardware\.biometrics\.fingerprint@2\.0-service.kitakami u:object_r:hal_fingerprint_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.biometrics\.fingerprint@2\.1-service.kitakami u:object_r:hal_fingerprint_default_exec:s0 # Fingerprint sensor SPI device /data/fpc(/.*)? u:object_r:fpc_data_file:s0 Loading