Remove all Android/phone code: the app is standalone desktop
shared/ carried the vendored phone app's tree behind a 30-entry
exclude list. Deleted the 46 phone-only files (recording service,
widgets, Room DB, Nextcloud/local-only/folder-sync providers, TOFU
trust, Android settings stores, phone UI screens) and kept only the
seven the desktop compiles: CustomShonarProvider, ProviderTypes,
ShonarProvider, ShonarAuthStore, ShonarHandshake, ProviderRegistry,
AiContent. ProviderRegistry reduces to its id constant; handshake
drops the TOFU param; provider defaults self-identify as desktop.
Gradle exclude list gone — srcDir('../shared') is pure desktop now.
This commit is contained in:
parent
751428cf3e
commit
71b55715b4
52 changed files with 24 additions and 9049 deletions
|
|
@ -19,43 +19,10 @@ kotlin {
|
|||
sourceSets {
|
||||
main {
|
||||
kotlin {
|
||||
// Portable shared sources vendored into this project (formerly
|
||||
// compiled in place from the sibling Android repo). Android-only
|
||||
// files excluded below.
|
||||
// Portable provider/recording sources vendored into this
|
||||
// project (the Android-only files were removed; this app is
|
||||
// standalone desktop).
|
||||
srcDir("../shared")
|
||||
exclude(
|
||||
"com/shonar/ShonarApplication.kt",
|
||||
"com/shonar/MainActivity.kt",
|
||||
// settings store impls are Android (DataStore/Keystore);
|
||||
// desktop provides its own (desktopSettingsStore.kt).
|
||||
"com/shonar/settings/SettingsStore.kt",
|
||||
// recording: only AiContent.kt is portable.
|
||||
"com/shonar/recording/MigrationRunner.kt",
|
||||
"com/shonar/recording/RecordingDao.kt",
|
||||
"com/shonar/recording/RecordingEntity.kt",
|
||||
"com/shonar/recording/RecordingNotificationHelper.kt",
|
||||
"com/shonar/recording/PlaybackController.kt",
|
||||
"com/shonar/recording/RecordingPermissionHelper.kt",
|
||||
"com/shonar/recording/RecordingRepository.kt",
|
||||
"com/shonar/recording/RecordingService.kt",
|
||||
"com/shonar/recording/RecordingStateStore.kt",
|
||||
"com/shonar/recording/ShonarDatabase.kt",
|
||||
"com/shonar/recording/SyncDrain.kt",
|
||||
"com/shonar/recording/SyncSlots.kt",
|
||||
"com/shonar/recording/SyncStateConverter.kt",
|
||||
"com/shonar/recording/SyncWorker.kt",
|
||||
// widget + rename-after-save UI: Android-only (AppWidget,
|
||||
// ShonarApplication references).
|
||||
"com/shonar/widget/**",
|
||||
"com/shonar/ui/rename/**",
|
||||
// ui: only ui/folder/FolderList.kt is portable.
|
||||
"com/shonar/ui/detail/**",
|
||||
"com/shonar/ui/home/**",
|
||||
"com/shonar/ui/provider/**",
|
||||
"com/shonar/ui/settings/**",
|
||||
"com/shonar/ui/theme/**",
|
||||
"com/shonar/ui/folder/FolderBrowserScreen.kt",
|
||||
)
|
||||
srcDir("src/main/kotlin")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ import okhttp3.OkHttpClient
|
|||
/**
|
||||
* Desktop app state (Stage 3). Plain class + StateFlows — no ViewModel
|
||||
* framework. Talks to the SHONAR backend through the *shared*
|
||||
* [CustomShonarProvider] (same files the Android app compiles).
|
||||
* [CustomShonarProvider] (vendored portable sources in ../shared).
|
||||
*/
|
||||
class DesktopState(private val appDir: File = defaultAppDir()) {
|
||||
|
||||
|
|
|
|||
|
|
@ -20,10 +20,9 @@ import androidx.compose.ui.unit.Dp
|
|||
import androidx.compose.ui.unit.dp
|
||||
|
||||
/**
|
||||
* SHONAR Desktop theme — the Android companion's "deep-sea sonar" palette,
|
||||
* copied exactly from android ui/theme/Theme.kt dark scheme: dark navy +
|
||||
* teal ping. Same seven role overrides the phone app sets; everything else
|
||||
* falls through to Material3 defaults, same as Android.
|
||||
* SHONAR Desktop theme — the "deep-sea sonar" palette: dark navy +
|
||||
* teal ping. Seven role overrides; everything else falls through to
|
||||
* Material3 defaults.
|
||||
*
|
||||
* Status semantics in the library list map to scheme roles:
|
||||
* done -> primary (teal), failed -> error (red), queued/running ->
|
||||
|
|
@ -52,7 +51,7 @@ fun ShonarTheme(content: @Composable () -> Unit) {
|
|||
}
|
||||
|
||||
/**
|
||||
* The SHONAR sonar-ping logo — same geometry as the Android launcher's
|
||||
* The SHONAR sonar-ping logo — same geometry as the brand's launcher
|
||||
* ic_launcher_foreground.xml: a center dot with quarter arcs ringing out
|
||||
* (teal upper-right, teal-dark lower-left), 108-unit viewport.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue