A specialized Android launcher designed for automotive headunits and large-screen tablets. The interface is inspired by the Tesla Model 3 UI, providing a high-contrast, streamlined experience optimized for in-vehicle use. It features an integrated update system and deep customization options.
- Dashboard Widgets: Toggle between a digital speedometer and a clock interface on the primary display.
- Managed Application Grid: Define which applications appear on the home screen via the settings menu to minimize distractions.
- UI Scaling: Adjust the interface density (DPI) within the app to ensure optimal visibility across different screen sizes and resolutions.
- Visual Personalization:
- Configurable background and vehicle profile images.
- Support for custom application icons via long-press in the application list.
- Automated Updates: Integrated version checking using the GitHub REST API, allowing for seamless background downloading and installation of new releases.
- System Controls: Integrated brightness adjustment and dark mode toggle.
- Navigate to the Releases section of this repository.
- Download the latest
HeadunitLauncher.apk. - Transfer the file to your Android device.
- Enable "Install from Unknown Sources" in your Android System Settings.
- Install the APK and set HeadunitLauncher as the default Home application.
The project is developed in Kotlin and utilizes the following Android components:
- DownloadManager: Handles background APK retrieval with progress tracking.
- FileProvider: Manages secure file sharing with the Android Package Installer, ensuring compatibility with Android 11 through Android 16.
- Scoped Storage: Uses external cache directories to comply with modern Android security requirements while maintaining write access.
- GitHub API Integration: Polls repository metadata to compare local build versions with the latest available release.
MainActivity.kt: Manages the primary UI, widgets, and the application launch grid.SettingsActivity.kt: Contains the configuration logic, UI scaling calculations, and the update engine.AppSelectAdapter.kt: Handles the logic for selecting and persistence of authorized applications.
- Android Version: Android 8.0 (Oreo) or higher.
- Network: Internet access required for version checking and downloading updates.
- Permissions: Requires
REQUEST_INSTALL_PACKAGESandWRITE_SETTINGSfor full functionality.


