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:
2026-02-03 09:09:20 -06:00
parent 43d91e89ca
commit 6dc1a73d2e
17 changed files with 727 additions and 13 deletions
+57 -13
View File
@@ -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*