- Android PWA/WASM launcher with glassmorphism UI - Loads https://admin.dark.side directly on launch - Complete GitLab CI/CD pipeline configuration - Automated builds for Debug, Release, and AAB - Full WASM support with optimized WebView - Material Design 3 theme - Comprehensive documentation Features: - Auto-load target URL on app launch - Glassmorphism components (frosted glass effects) - Full PWA/WASM support - Room database for future extensions - Jetpack Compose UI - CI/CD with artifact storage Built for SilverLABS
222 lines
5.6 KiB
Markdown
222 lines
5.6 KiB
Markdown
# 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. |