Releases: yrkan/nomride
Releases · yrkan/nomride
v1.2.2
Emoji Food Templates
- Food templates now include emoji icons (⚡ Energy Gel, 🍫 Energy Bar, 🍌 Banana, etc.)
- Small data field layouts show just the emoji for maximum space efficiency
- Larger layouts show emoji + full name (e.g. "⚡ Energy Gel")
- Water logging shows 💧 emoji
- Custom food items default to text-only (emoji optional)
v1.2.1
v1.2.0
Data Fields Redesign
- 6 layout sizes (SMALL, SMALL_WIDE, MEDIUM_WIDE, MEDIUM, LARGE, NARROW) for precise fit on every Karoo grid config
- Centralized color system (GlanceColors) with dynamic balance/burn-rate/time-since color functions
- Reusable Glance composables (DataFieldContainer, ColoredFieldContainer, ValueText, LabelText, MetricValueRow, DualMetric, TripleMetric)
- Burn rate shown in CarbBalance and QuickLogStatus views
- Hydration rate (ml/h) and sip count in HydrationView
- Text overflow protection with maxLines on all text elements
- Rounded corners on field containers matching Karoo system UI
- Explicit font sizes per layout variant (no more multiplier-based sizing)
- Removed TextSizeHelper
v1.0.0
Real-time nutrition tracking extension for Hammerhead Karoo 2 & 3.
Data Fields
| Field | Type | Description |
|---|---|---|
| Carb Balance | Graphical | Real-time carbs eaten minus burned (g), color-coded by zone (green/yellow/red) |
| Carbs Burned | Numeric | Total carbohydrates burned during ride based on power/FTP zones |
| Carbs Eaten | Numeric | Total carbohydrates consumed during ride |
| Burn Rate | Numeric | Current carbohydrate burn rate in g/h |
| Quick Log Status | Graphical | Last logged food item with time since last intake |
| Hydration | Graphical | Water intake tracking with volume display |
Bonus Actions
- Log Food — opens food logging screen with templates and custom input
- Log Water — quick water intake logging
- Quick Gel — instant one-tap log of your default food template
- Undo Last — undo the last intake entry (60-second window)
Nutrition Engine
- Carb burn estimation from real-time power output relative to FTP
- 5 intensity zones with progressive carb burn fractions (Z1: 20% → Z5: 95%)
- Configurable FTP and weight — use Karoo profile or manual override
- State saved every 30 seconds, survives service restarts
Alerts & Reminders
- Configurable eat reminders (default: every 20 minutes)
- Configurable drink reminders (default: every 15 minutes)
- Sound alerts toggle
- Smart recommendations based on current carb balance
FIT File Export
- Writes
carbs_burned,carbs_eaten,carb_balanceas DeveloperFields - 1Hz recording rate during ride, session summary on pause
- Toggle on/off in settings
Food Templates
8 built-in templates: Energy Gel (25g), Energy Bar (40g), Banana (27g), Energy Drink (60g), Rice Cake (30g), Date (18g), Stroopwafel (22g), Half Sandwich (35g). Fully customizable — add, edit, delete, set default for Quick Gel action.
Technical
- Foreground service for reliable background operation during long rides
- Auto-start on device boot via BootReceiver
- Glance-based graphical views (fresh RemoteViews per update, no accumulation crashes)
- R8 minification and resource shrinking enabled
- Karoo extension settings accessible from extension list (CONFIGURE_EXTENSION intent)
- Min SDK 23, Target SDK 34, compiled against SDK 35
Installation
adb install nomride.apk
The extension will appear automatically in Karoo's extension list. Tap it to configure settings.