feat(android): reach desktop feature parity and fix 16 KB page-size crash
Swap lazysodium/JNA for a pure-Java Bouncy Castle crypto envelope so the APK ships no native .so files (resolves the Android 15 16 KB alignment crash) while staying byte-compatible with the desktop libsodium sync. Bring the Android app up to the desktop feature set: full item CRUD with an add/edit screen and FAB, inline editing on the detail view (status, rating, favorite, per-unit/segment watched toggles, delete), online metadata search (TMDB/OpenLibrary/AniList/RAWG) that pre-fills the editor, library filtering and sorting, a statistics view, and settings polish for dark mode and provider API keys/language. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
de353f0218
commit
c0389bd8d2
24 changed files with 2162 additions and 75 deletions
|
|
@ -68,12 +68,9 @@ dependencies {
|
|||
implementation(libs.kotlinx.serialization.json)
|
||||
implementation(libs.coil.compose)
|
||||
|
||||
// lazysodium-android pulls JNA as a plain jar; on Android we need the aar
|
||||
// (it carries the native .so), so exclude the transitive jar and add the aar.
|
||||
implementation(libs.lazysodium.android) {
|
||||
exclude(group = "net.java.dev.jna", module = "jna")
|
||||
}
|
||||
implementation(libs.jna) { artifact { type = "aar" } }
|
||||
// Bouncy Castle (pure Java) provides Argon2id + ChaCha20-Poly1305 with no
|
||||
// native .so, so the app stays compatible with Android 15's 16 KB page size.
|
||||
implementation(libs.bouncycastle)
|
||||
implementation(libs.androidx.security.crypto)
|
||||
|
||||
debugImplementation(libs.androidx.ui.tooling)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue