Designed with dual-screen devices in mind, Jarngreipr is a clean, powerful launcher that lets you decide exactly where your apps open and much more.
Járngreipr is a modern, highly customizable launcher built with Jetpack Compose that combines beautiful aesthetics with powerful functionality. Optimized for devices like the AYN Thor, it excels on bottom screens and dual-screen setups while working perfectly on any Android device.
It is recommended to be used with Mjolnir, an app that transforms your Home button into a powerful dual-screen controller.
Just as Thor needs his iron gloves, Járngreipr 🧤, to safely wield Mjolnir 🔨, this launcher helps you grip control of your device's interface.
- Apps Tab - Traditional grid layout with apps only
- Apps & Widgets Tab - Combine apps and Android widgets on the same page
- App Drawer - Full app list with instant search and filtering
- Multiple Pages - Create unlimited home screen pages with different layouts
- Page Customization - Set different modes for each page independently
- Folder Support - Organize apps into folders with custom names
- Free-Positioned Apps - Drag apps anywhere on the screen, not just in grid cells
- Drag Lock - Lock app positions to prevent accidental moves
- App Visibility Control - Show/hide specific apps on each page
- Custom Icons - Set custom icons for individual apps
- App Display Preferences - Choose between icon only, name only, or both
- App Size Control - Adjust app icon sizes per your preference
- Recent Apps - Quick access to recently used applications
- Quick Delete - Batch uninstall multiple apps at once
- Android Widgets - Add resizable Android widgets to any Apps & Widgets page
- Widget Picker - Browse and add widgets from all installed apps
- Resize Mode - Dynamically resize widgets to fit your layout
- Widget Positioning - Place widgets anywhere on compatible pages
- Full D-Pad Navigation - Complete gamepad support throughout the UI
- Control Pad Settings - Customize gamepad button mappings
- Joystick Mode - Configure analog stick sensitivity and behavior
- Button Mapping - Map specific gamepad buttons to custom actions
- Focus Management - Intelligent focus handling for seamless navigation
- On-Screen Keyboard - Built-in keyboard that doesn't overlap your apps
- Back Button Shortcuts - Configure custom back button actions
-
6 Built-in Color Themes
- Pink & Violet
- Blue & Yellow
- Green & Cyan
- Purple & Orange
- Red & Blue
- Magenta & Lime
-
Custom Theme Creator - Design your own themes with custom primary and secondary colors
-
OLED Mode - True black backgrounds for OLED displays to save battery
-
Icon Pack Support - Use any installed icon pack (Lawnicons, Arcticons, etc.)
-
Icon Pack Browser - Preview and switch between icon packs in-app
-
Theme Sharing - Share your current theme with nearby devices via Bluetooth (Ping)
- Ping is an open sourced library developed to allow seemless
Theme Sharingbetween two devices runningJarngreipr. It usesbluetooth low energy (BLE)to transfer Themes and Google'sNearby Connections APIfor transferring Wallpapers. Go toSettings -> Appearance -> Theme Sharingand accept the required permissions to get started. Want to know more about Ping? Here is the GitHub repo!
- System Wallpaper - Use your device's current wallpaper
- Custom Images - Set any image from your gallery
- Default Themes - Beautiful gradient backgrounds
- Live Preview - See changes instantly
- Grid Settings - Customize rows and columns for each page
- Unlimited Mode - Disable grid limits for free-form layouts
- Header Visibility - Show/hide top header bar
- Power Button - Toggle power button visibility
- App Names - Show/hide app names under icons
- Notification Badges - Display notification counts on app icons
Note: Notification Badges will only work if you download Jarngreipr from the Play Store.
- Smart Search - Fast app search across all pages and drawer
- Auto-Refresh - Automatically updates when apps are installed/uninstalled
- Auto-Update Checker - Get notified of new launcher versions
- Crash Logger - Built-in crash reporting and log viewer
- Performance Monitor - Track app performance metrics
- Shizuku Integration - Enhanced system-level features with Shizuku
- Crash Logs Viewer - View and export crash logs for debugging
- What's New Dialog - See new features after updates
- FAQ & Help - Built-in help documentation
- Export Settings - Backup and restore your configuration
- Debug Mode - Additional diagnostic information
Note: All screenshots were captured from an AYN Thor's bottom screen.
Quick.Jarngreipr.Walkthrough.mov
- Android 13 (API 33) or higher
- Recommended: 4GB+ RAM for smooth widget performance
- Optional: Shizuku for advanced features
- Download the latest APK from the Releases page
- Transfer to your device if needed
- Enable "Install from Unknown Sources" in Settings → Security
- Install the APK
- Set Járngreipr as your default launcher when prompted
# Clone the repository
git clone https://github.com/BrianJr03/Jarngreipr.git
cd Jarngreipr
# Build with Gradle
./gradlew assembleRelease
# Install to connected device
adb install app/build/outputs/apk/release/app-release.apkRequirements for building:
- Android Studio Ladybug or higher
- JDK 11 or higher
- Android SDK 36
Touch:
- Tap to select apps/options
- Long press for context menus
- Swipe left/right between pages
- Pinch to zoom (where supported)
Gamepad/D-Pad:
- Arrow Keys/D-Pad - Navigate between apps and UI elements
- Enter/A Button - Launch app or select option
- Back/B Button - Go back or cancel
- Menu/Start - Open app options (long press)
- Triggers - Page navigation (if configured)
-
First Launch
- Grant necessary permissions (Accessibility, Usage Stats)
- Choose your preferred theme
- Set up your first home screen page
-
Adding Apps
- Apps automatically appear on your first page
- Long press apps to move, hide, or add to folders
- Use the App Drawer to find and add apps
-
Creating Folders
- Long press an app → "Create Folder"
- Name your folder and add multiple apps
- Tap folders to open, long press to edit
-
Adding Widgets
- Create an "Apps & Widgets" page
- Tap "+" → Select widget
- Resize and position as needed
Themes & Appearance:
- Tap ⚙️ Settings icon
- Appearance section:
- Theme Selector - Choose from 6 themes or create custom
- Icon Pack - Browse and apply icon packs
- OLED Mode - Enable true black backgrounds
- Wallpaper - Set custom backgrounds
Layout Configuration:
- Settings → Layout section:
- Grid Settings - Adjust columns/rows per page
- Unlimited Mode - Enable free-form positioning
- Header Visibility - Show/hide top bar
- App Names - Toggle name display
Control Pad (Gamepad):
- Settings → Extras → Control Pad
- Configure button mappings
- Adjust joystick sensitivity
- Choose joystick mode (L/R/Both)
Free Positioning:
- Enable "Unlimited Mode" in Grid Settings
- Long press and drag apps anywhere
- Use "Drag Lock" to prevent accidental moves
App Visibility:
- Long press background → "App Visibility"
- Toggle which apps appear on current page
- Different pages can show different apps
Quick Delete:
- Settings → Extras → Quick Delete
- Select multiple apps to uninstall at once
- Useful for cleaning up after gaming sessions
| Theme | Primary | Secondary | Description |
|---|---|---|---|
| Pink & Violet | Blue Violet | Hot Pink | Vibrant and playful |
| Blue & Yellow | Royal Blue | Gold | Classic and bold |
| Green & Cyan | Sea Green | Dark Cyan | Fresh and modern |
| Purple & Orange | Dark Violet | Dark Orange | Energetic contrast |
| Red & Blue | Royal Blue | Crimson | Patriotic vibes |
| Magenta & Lime | Magenta | Lime Green | Maximum pop |
| Custom | Your Choice | Your Choice | Design your own! |
Járngreipr supports Shizuku for enhanced system features:
- Install Shizuku from Play Store or GitHub
- Grant Shizuku ADB permissions or root access
- Launch Járngreipr - it will detect Shizuku automatically
- Enjoy enhanced features like advanced app management
Járngreipr supports sharing themes and wallpapers wirelessly with nearby devices using the Ping library (Bluetooth LE) and the Nearby Connections API.
Broadcasts your current theme to nearby Járngreipr devices over BLE so others can receive and apply it instantly.
Setup:
- Navigate to Settings → Theme Share
- Grant Bluetooth permissions when prompted
- Grant battery optimization exemption for reliable background operation
- Tap Start Sharing in the Theme Sharing section to begin broadcasting
Auto-Start: Enable auto-start in Theme Share Settings to begin broadcasting automatically every time the launcher opens.
Quick Settings Tile: A system Quick Settings tile is available for toggling theme sharing without opening the app.
Discovers and receives wallpapers from nearby devices using the Nearby Connections API over Wi-Fi/Bluetooth.
Setup:
- Navigate to Settings → Theme Share
- Grant Nearby/Wi-Fi permissions when prompted
- Toggle Nearby Wallpaper to start discovering
Received wallpapers are saved and accessible in the Received Wallpapers list on the same screen.
Both received themes and wallpapers are stored locally and shown in the Theme Share screen, where you can apply or delete them.
| Permission | Purpose |
|---|---|
BLUETOOTH_SCAN / BLUETOOTH_ADVERTISE / BLUETOOTH_CONNECT |
BLE theme broadcasting |
FOREGROUND_SERVICE / FOREGROUND_SERVICE_CONNECTED_DEVICE |
Background sharing |
ACCESS_FINE_LOCATION / ACCESS_WIFI_STATE / CHANGE_WIFI_STATE |
Nearby wallpaper discovery |
NEARBY_WIFI_DEVICES (API 33+) |
Nearby Connections |
Contributions are welcome! Whether it's bug fixes, new features, or documentation improvements.
How to contribute:
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Code Quality:
- The project uses Jetpack Compose and modern Android architecture (MVVM + Hilt)
- Comprehensive test suite with 472+ tests
- Clean code principles and consistent patterns
- All PRs should maintain or improve test coverage
Found a bug or have an idea? Open an issue with:
- Bug Reports: Device model, Android version, steps to reproduce
- Feature Requests: Use case description and expected behavior
- Questions: Check FAQ first, then ask away!
This project is open source and available under the MIT License.
If you enjoy using Járngreipr, consider supporting development:
Your support helps maintain and improve the launcher with new features, bug fixes, and updates!
Built with modern Android development practices:
- UI: 100% Jetpack Compose
- Architecture: MVVM with Clean Architecture
- DI: Hilt/Dagger
- Async: Kotlin Coroutines & Flow
- Persistence: DataStore Preferences
- Testing: JUnit, Turbine, MockK (472+ tests)
- Material Design 3 with custom theming
- Minimum SDK: 33 (Android 13)
- Target SDK: 36 (Android 14+)
- FAQ & Help - Common questions and troubleshooting
- Changelog - Version history and updates
- API Documentation - For developers extending the launcher
- AYN - For creating the Thor handheld that inspired this launcher
- Mjolnir - The companion app for enhanced dual-screen control
- Icon Pack Creators - For beautiful icon packs that work seamlessly
- Community Contributors - For feedback, bug reports, and feature ideas
- You - For using Járngreipr! 🧤
- Ko-fi icon by Icons8
- Discord icon by Icons8
- Buy Me a Coffee icon by Icons8
Completed ✅
- Full widget support
- Folder management
- Free positioning mode
- Custom theme creator
- Control pad configuration
- OLED mode
- Icon pack support
- Quick delete feature
- Auto-update checker
- Theme sharing via Bluetooth (Ping)
- Wallpaper sharing via Nearby Connections
Coming Soon 🚀
- Gesture customization
- App groups/categories
- Smart app suggestions
- Backup/restore to cloud
- Tablet-optimized layouts
- Additional animation options
- Plugin system for extensions
Made with ❤️ by BrianJr03
Wield your launcher like Thor wields Mjolnir 🔨


