feat(backend): Phase 2.1 scaffolding for bookshelf-api + ABS

- Port BookshelfApiService, AudiobookshelfApiService and all models from Book's Story.
- Add Hilt 2.56.1 plugin, @HiltAndroidApp, NetworkModule, BackendModule.
- Add Retrofit/OkHttp/Kotlinx Serialization dependencies.
- Provide minimal SharedPreferences-based ServerSettings for URL/token storage.
- Copy UriUtils (fixUriScheme/normalizeUri) from Book's Story.
- No wiring into UI yet; OPDS/Gutenberg/LocalFolder still present.
- ':app:assembleOssDebug' passes (APK ~80 MB).
This commit is contained in:
Atte149 2026-06-24 11:15:24 +03:00
parent 9e30933077
commit 88113d9de6
25 changed files with 1070 additions and 0 deletions

View file

@ -11,6 +11,7 @@ plugins {
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.kotlin.ksp)
alias(libs.plugins.hilt)
id("com.diffplug.spotless") version "8.2.1"
alias(libs.plugins.kover)
}
@ -228,6 +229,16 @@ dependencies {
implementation(libs.androidx.material3.window.size.class1.android)
implementation(libs.androidx.credentials)
// Hilt
implementation(libs.hilt.android)
ksp(libs.hilt.compiler)
implementation(libs.hilt.navigation.compose)
// Networking
implementation(libs.retrofit)
implementation(libs.retrofit.kotlinx.serialization)
implementation(libs.okhttp.logging)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))