spirit cef6ab1c6a
CI / build (push) Has been cancelled
CI / lint (push) Has been cancelled
feat: Add local SQLite analytics tracking
- AnalyticsEvent: Data class for tracked events
- AnalyticsDao: Room DAO with CRUD operations
- AnalyticsDatabase: Room database singleton
- AnalyticsManager: High-level API for logging events
- Unit tests for AnalyticsEvent

Event types: page_view, session_start, session_end,
idle_reset, admin_access, config_sync, signage_rotate

Supports JSON/CSV export for admin panel integration.
2026-02-03 20:52:10 +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%