SysAdmin f6f9633ea3 Fix gradlew scripts - use complete Gradle wrapper
The previous gradlew script was incomplete and missing the CLASSPATH
configuration, causing the wrapper JAR to not be found. This commit
replaces it with the complete official Gradle wrapper scripts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-04 17:18:13 +01:00

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

    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

# 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)

    keytool -genkey -v -keystore silverdroid.keystore \
      -alias silverdroid -keyalg RSA -keysize 2048 -validity 10000
    
  2. Configure signing in app/build.gradle.kts

    android {
        signingConfigs {
            create("release") {
                storeFile = file("../silverdroid.keystore")
                storePassword = "your_password"
                keyAlias = "silverdroid"
                keyPassword = "your_password"
            }
        }
    }
    
  3. Build release APK

    ./gradlew assembleRelease
    
  4. Output location

    app/build/outputs/apk/release/app-release.apk
    

🎨 Glassmorphism Components

SilverDROID includes custom glassmorphism components:

GlassCard

GlassCard(
    modifier = Modifier.fillMaxWidth(),
    cornerRadius = 16.dp
) {
    Text("Frosted glass card")
}

FrostedGlassPanel

FrostedGlassPanel(
    cornerRadius = 20.dp
) {
    // Your content
}

GlassBackground

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:

🎉 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.

Description
SilverSHELL AppStore Android client
Readme 130 MiB
Languages
Kotlin 88.6%
PowerShell 6.7%
Shell 4.7%