[Synced Transcripts] Add fingerprint gradle module#5322
Open
sztomek wants to merge 3 commits into
Open
Conversation
Collaborator
Generated by 🚫 Danger |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new :modules:services:fingerprint Android library module intended to host UniFFI-generated Kotlin bindings plus prebuilt native .so binaries for audio fingerprinting, wiring it into the Gradle project and adding a JNA dependency.
Changes:
- Register new
:modules:services:fingerprintmodule insettings.gradle.kts. - Add a new Android library module with a JNA API dependency and bundled JNI libs.
- Add a global Spotless exclude for
**/uniffi/**/*.ktand introducenet.java.dev.jna:jnain the version catalog.
Reviewed changes
Copilot reviewed 3 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
settings.gradle.kts |
Includes the new fingerprint services module. |
modules/services/fingerprint/build.gradle.kts |
Defines the new Android library module configuration and dependencies. |
modules/services/fingerprint/src/main/java/uniffi/fingerprint_uniffi/fingerprint_uniffi.kt |
Adds the generated UniFFI Kotlin bindings and FFI scaffolding. |
gradle/libs.versions.toml |
Adds the JNA dependency to the version catalog. |
build.gradle.kts |
Excludes UniFFI-generated Kotlin sources from Spotless/ktlint. |
cd17406 to
95bd8f9
Compare
76c3c89 to
a34f814
Compare
geekygecko
approved these changes
May 26, 2026
95bd8f9 to
63540a0
Compare
318df65 to
420ac0d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR is part of the Radical Speed Month initiative.
Adds the
:modules:services:fingerprintGradle module containing auto-generated UniFFI Kotlin bindings and pre-compiled native libraries for audio fingerprinting. The Rust-based fingerprint library (link) is compiled for 4 architectures (arm64-v8a, armeabi-v7a, x86, x86_64) and exposed via UniFFI-generated Kotlin wrappers that use JNA for FFI calls.The Kotlin bindings file is auto-generated and excluded from spotless/ktlint via
targetExclude("**/uniffi/**/*.kt").Note: the
.sofiles add ~7MB across all architectures, which is not ideal. I'm planning to use Automattic's internal library distribution system on S3 to replace the current system of distribution, so in the future we could just simply add it as a gradle depdency.Testing Instructions
Just review the code please.
Checklist
./gradlew spotlessApplyto automatically apply formatting/linting)modules/services/localization/src/main/res/values/strings.xml