# SilverDROID **Android WASM/PWA Launcher with Glassmorphism UI** A modern Android launcher application for Progressive Web Apps (PWAs) and WebAssembly (WASM) applications, featuring a beautiful glassmorphism design inspired by SilverPOWERSHELL. ## ✨ Features ### Core Functionality - 🚀 **PWA Launcher** - Install and manage Progressive Web Apps - 🌐 **WASM Support** - Full WebAssembly support via optimized WebView - 📱 **Native Container** - PWAs run in a native Android wrapper - 💾 **Offline Support** - Apps work offline with cached resources - 🔔 **Notifications** - PWA push notification forwarding ### Beautiful UI - ✨ **Glassmorphism Design** - Frosted glass effects throughout - 🎨 **Material Design 3** - Modern Android design language - 🌓 **Dynamic Theming** - Adapts to system theme (light/dark) - 🖼️ **App Grid** - Beautiful card-based launcher grid - 💫 **Smooth Animations** - Fluid transitions and effects ### Technical - ⚡ **Jetpack Compose** - Modern declarative UI - 🏗️ **Clean Architecture** - MVVM + Repository pattern - 💿 **Room Database** - Efficient local app storage - 🔧 **WebView Optimization** - Enhanced for WASM/PWA performance ## 🎯 Technology Stack - **Language:** Kotlin - **UI Framework:** Jetpack Compose + Material Design 3 - **WebView:** Android System WebView (Chromium) - **Database:** Room Persistence Library - **Architecture:** MVVM with Clean Architecture - **Min SDK:** 26 (Android 8.0) - **Target SDK:** 35 (Android 15) ## 🏗️ Architecture ``` SilverDROID/ ├── ui/ │ ├── launcher/ # Main launcher screen │ │ ├── LauncherScreen.kt │ │ └── LauncherViewModel.kt │ ├── webview/ # PWA container │ │ ├── WebViewActivity.kt │ │ └── WasmWebView.kt │ ├── components/ # Reusable glass components │ │ └── GlassComponents.kt │ └── theme/ # Material Design 3 theme │ ├── Color.kt │ ├── Theme.kt │ └── Type.kt ├── data/ │ ├── model/ # Data models │ │ └── PwaApp.kt │ ├── repository/ # Data repositories │ │ └── PwaRepository.kt │ ├── PwaDatabase.kt # Room database │ └── PwaAppDao.kt # DAO interface └── MainActivity.kt # App entry point ``` ## 🚀 Getting Started ### Prerequisites - Android Studio Ladybug (2024.2.1) or later - JDK 17 or later - Android SDK 26+ ### Building the Project 1. **Clone the repository** ```bash git clone https://gitlab.silverlabs.uk/SilverLABS/silverdroid.git cd silverdroid ``` 2. **Open in Android Studio** - Open Android Studio - File → Open → Select the `SilverDROID` folder 3. **Sync Gradle** - Android Studio will automatically sync Gradle dependencies - Wait for the sync to complete 4. **Run the app** - Connect an Android device or start an emulator - Click the "Run" button (▶️) in Android Studio ### Quick Start Commands ```bash # Build debug APK ./gradlew assembleDebug # Build release APK ./gradlew assembleRelease # Install on connected device ./gradlew installDebug # Run tests ./gradlew test ``` ## 📦 Building for Production 1. **Generate a signing key** (first time only) ```bash keytool -genkey -v -keystore silverdroid.keystore \ -alias silverdroid -keyalg RSA -keysize 2048 -validity 10000 ``` 2. **Configure signing in `app/build.gradle.kts`** ```kotlin android { signingConfigs { create("release") { storeFile = file("../silverdroid.keystore") storePassword = "your_password" keyAlias = "silverdroid" keyPassword = "your_password" } } } ``` 3. **Build release APK** ```bash ./gradlew assembleRelease ``` 4. **Output location** ``` app/build/outputs/apk/release/app-release.apk ``` ## 🎨 Glassmorphism Components SilverDROID includes custom glassmorphism components: ### GlassCard ```kotlin GlassCard( modifier = Modifier.fillMaxWidth(), cornerRadius = 16.dp ) { Text("Frosted glass card") } ``` ### FrostedGlassPanel ```kotlin FrostedGlassPanel( cornerRadius = 20.dp ) { // Your content } ``` ### GlassBackground ```kotlin GlassBackground() // Gradient background ``` ## 📱 Adding Apps ### Manually 1. Tap the **+** button 2. Enter the PWA URL (e.g., `https://twitter.com`) 3. Optionally enter a custom name 4. Tap **Add** ### Sample Apps The app includes sample PWAs you can add: - Twitter (mobile.twitter.com) - Spotify (open.spotify.com) - YouTube (m.youtube.com) - WebAssembly Demo (webassembly.org/demo) ## 🔧 WebView Configuration SilverDROID's WebView is optimized for PWA/WASM: - ✅ JavaScript enabled - ✅ DOM Storage enabled - ✅ Database storage enabled - ✅ App cache enabled - ✅ Mixed content allowed (dev) - ✅ File access enabled - ✅ Wide viewport support - ✅ WebAssembly support ## 🤝 Contributing Contributions are welcome! This is a SilverLABS project. ## 📄 License Copyright © 2025 SilverLABS. All rights reserved. ## 🆘 Support For issues or questions: - GitLab Issues: https://gitlab.silverlabs.uk/SilverLABS/silverdroid/issues - SilverLABS Infrastructure: See `~/.claude/Knowledge/` ## 🎉 Credits Built with ❤️ by SilverLABS Inspired by: - **SilverPOWERSHELL** - Electron + Svelte architecture - **Material Design 3** - Google's design system - **Glassmorphism** - Modern UI trend --- **Note:** This launcher is designed for PWAs and WASM apps. Regular Android apps from Google Play Store are not supported.