feat(appstore): add AppStore client features

- AppStoreJsBridge: JS bridge for native APK install, version check, update
- InstalledAppDao, InstalledApp entity: Room DB for tracking installed apps
- UpdateCheckerWorker: background update polling via WorkManager
- InstallerService: APK download + SHA-256 verify + PackageInstaller session
- Updated AndroidManifest: REQUEST_INSTALL_PACKAGES, FileProvider, receivers
- Updated MainActivity: notification channel, WorkManager, JS bridge wiring
- config.json: targetUrl = https://store.silverlabs.uk
- file_paths.xml: FileProvider paths for APK installs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-04 14:06:04 +00:00
parent 0f1b6a6157
commit 0dea0bb506
12 changed files with 654 additions and 8 deletions

View File

@@ -0,0 +1,12 @@
package uk.silverlabs.silverdroid.update
import kotlinx.serialization.Serializable
@Serializable
data class UpdateCheckResponseDto(
val hasUpdate: Boolean,
val latestVersion: String,
val downloadUrl: String? = null,
val sha256: String? = null,
val releaseNotes: String? = null
)