spirit 4f33255417
CI / build (push) Has been cancelled
CI / lint (push) Has been cancelled
feat: Add digital signage mode (URL rotation)
- SignageManager.kt: Handles URL rotation with configurable interval
- Admin UI: Toggle, URL list (one per line), interval setting
- SignageManagerTest.kt: 9 unit tests for rotation logic

Features:
- Enable/disable signage mode
- Configure list of URLs to rotate
- Set rotation interval (min 5 seconds)
- Pauses on user interaction (resumes after 1 min)
- Resets to first URL on idle timeout

Note: MainActivity integration pending
2026-02-03 19:53:54 +00:00

Android Kiosk Browser

A customizable locked-down browser for Android kiosk and digital signage deployments.

Features (MVP)

  • 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

Tech Stack

  • Kotlin
  • Android WebView
  • Lock Task Mode (API 21+)
  • DataStore Preferences
  • Material Design 3

Requirements

  • Android 5.0+ (API 21)
  • For Lock Task Mode: Device Owner provisioning

Building

./gradlew assembleDebug

Device Setup

To enable Lock Task Mode (full kiosk lockdown):

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

MIT License - hobbs.farm


Project managed in Vikunja | Docs on Wiki

S
Description
Android Kiosk Browser - Customizable restricted browser for kiosk/digital signage use
Readme 96 KiB
Languages
Kotlin 94.9%
HTML 5.1%