feat: MVP implementation - Kiosk Browser
- Fullscreen WebView with immersive mode - URL whitelist system - Admin PIN-protected settings - Boot receiver for auto-launch - Idle timeout with homepage reset - Lock Task Mode support - Material Design 3 UI Team: Pluto (coordinator), Margaret, Spirit
This commit is contained in:
@@ -1,26 +1,70 @@
|
||||
# Android Kiosk Browser
|
||||
|
||||
A customizable Android browser application designed for kiosk and digital signage deployments.
|
||||
A customizable locked-down browser for Android kiosk and digital signage deployments.
|
||||
|
||||
## Features (Planned)
|
||||
## Features (MVP)
|
||||
|
||||
- **Restricted Browsing**: Lock to specific URLs or domains
|
||||
- **Kiosk Mode**: Full-screen immersive experience
|
||||
- **Admin Interface**: Remote configuration management
|
||||
- **Offline Support**: Cache pages for offline viewing
|
||||
- **Auto-refresh**: Periodic page refresh for digital signage
|
||||
- **Fullscreen WebView** - Immersive mode, no address bar or browser chrome
|
||||
- **URL Whitelist** - Only allow configured domains
|
||||
- **Lock Task Mode** - Disables home/back/recent buttons
|
||||
- **Admin PIN Exit** - PIN-protected escape from kiosk mode
|
||||
- **Auto-launch on Boot** - Starts automatically when device powers on
|
||||
- **Idle Timeout** - Returns to homepage after inactivity
|
||||
- **Admin Settings** - Configure whitelist, homepage, timeout, PIN
|
||||
|
||||
## Project Status
|
||||
## Tech Stack
|
||||
|
||||
🚧 **In Development**
|
||||
- Kotlin
|
||||
- Android WebView
|
||||
- Lock Task Mode (API 21+)
|
||||
- DataStore Preferences
|
||||
- Material Design 3
|
||||
|
||||
## Getting Started
|
||||
## Requirements
|
||||
|
||||
TBD
|
||||
- Android 5.0+ (API 21)
|
||||
- For Lock Task Mode: Device Owner provisioning
|
||||
|
||||
## Building
|
||||
|
||||
```bash
|
||||
./gradlew assembleDebug
|
||||
```
|
||||
|
||||
## Device Setup
|
||||
|
||||
To enable Lock Task Mode (full kiosk lockdown):
|
||||
|
||||
```bash
|
||||
adb shell dpm set-device-owner farm.hobbs.kioskbrowser/.KioskDeviceAdminReceiver
|
||||
```
|
||||
|
||||
## Admin Access
|
||||
|
||||
Triple-tap the top-left corner of the screen to access admin settings.
|
||||
|
||||
Default PIN: `1234`
|
||||
|
||||
## Configuration
|
||||
|
||||
Settings available in Admin panel:
|
||||
- Homepage URL
|
||||
- Allowed domains (comma-separated)
|
||||
- Idle timeout (seconds)
|
||||
- Admin PIN
|
||||
|
||||
## Future Enhancements
|
||||
|
||||
- [ ] Remote configuration
|
||||
- [ ] Multiple profiles
|
||||
- [ ] Usage analytics
|
||||
- [ ] Digital signage mode (URL rotation)
|
||||
- [ ] Session data clearing on idle
|
||||
|
||||
## License
|
||||
|
||||
TBD
|
||||
MIT License - hobbs.farm
|
||||
|
||||
---
|
||||
*Project initialized: 2026-02-03*
|
||||
|
||||
*Project managed in Vikunja | Docs on Wiki*
|
||||
|
||||
Reference in New Issue
Block a user