Releases: vide/matedroid
v1.7.0
Drives and charges lists are fully redesigned — compact editorial rows with accent edges, all-caps datelines, and a bold headline metric. Plus a draggable scrollbar on all list screens.
Changed:
- Redesigned drives & charges rows (accent edge, hero km/kWh, shorter rows)
Added:
- Draggable month scrollbar with floating date label
- New branded loading spinner
Fixed:
- Filters no longer reset after backgrounding the app
- "Where was I?" date in non-UTC timezones
v1.7.0-beta1
Long lists got two upgrades: a draggable month scrollbar to fly through history with a date label tracking your finger, and a redesigned editorial row for drives and charges. A branded MD spinner replaces the generic one on long loads.
Added:
- Draggable month scrollbar on drives, charges, trips
- Branded MD pulse spinner
Changed:
- Editorial row layout for drives and charges
- Faster mileage screen
Fixed:
- "Where was I?" Invalid date in non-UTC timezones
- Charges unit reads kWh, not KWH
v1.6.0
Trips just got a top-to-bottom rebuild — the marquee feature of this release.
Added
- Trips list redesign: rows are ~60% shorter and carry a 6dp timeline "fingerprint" strip beneath the route — a compressed version of the detail timeline so different trips (multi-day with DC + AC overnight, daily commute with a parking gap, a single short drive) are visually distinguishable at a glance. Date chip · route · distance up top, fingerprint middle, duration · stops · kWh meta below.
- Trip detail timeline: horizontal bar under the map. Each drive, charge, and parking gap is a colored segment proportional to its duration — drives in the car's accent color, AC/DC charges in the green/orange palette harmonized with the car's theme, parking in muted neutral. Tap a segment for details. Multi-day parking is sqrt-compressed so driving and charging stay readable. First segment of each kind shows a small white icon (steering wheel, bolt, plug, P) so the legend is self-explanatory.
- Edit trips: "Add leg" lists drives and charges within ±2 days of the trip not already claimed by another saved trip; "Merge trip" lists adjacent trips within ±14 days and rolls everything (including AC charges) between them into one. Dashed line on the map for non-contiguous legs (e.g. car transported). Delete via the top-bar overflow to revert.
- Trip cost donut: each charge stop is a donut segment sized by share of total cost, with DC and AC stops in distinct lightness shades of their palette color. Total cost in the center; tap a segment to pop it out and surface that stop's city, AC/DC chip, cost, kWh, duration. Expandable for avg-cost-per-100 km/mi and per-kWh pills plus a per-charge list.
- Horizontal battery energy-flow card: a Sankey-style flow replacing the old battery stats grid. Battery pictogram in the middle, two inflow streams (DC top, AC below) cubic-bezier-expanding to their share of battery height, one outflow tapering off on the right. Per-inflow kWh + avg kW, per-outflow kWh + Wh/km (or Wh/mi).
- Weather during the trip: temperature sparkline with weather-condition icons floating on the line at each sample. Samples drawn from the trip's GPS points, ~1 per drive-hour (3–12 total), fetched from Open-Meteo. Card hides itself if the trip is too recent for Open-Meteo's archive.
- Trip persistence: trips are now first-class database entities, which is what unlocks edit and merge. Existing history is unaffected.
- Trip map overlays: date range and total distance render as translucent accent-color chips on the map directly.
- Trip legs count in header: collapsible "Trip legs" card shows the composition inline (
3 🚘 + 2 ⚡). - Cost filter on the charges list: new
Costdropdown alongsideTypeandLocation(the row was reshuffled into three single-select dropdowns: ⚡ Type, 💰 Cost, 📍 Location). PickNo costto isolate sessions where no price has been recorded — most useful for cleaning up DC charges where TeslaMate doesn't pull a cost automatically. From there, the existing "edit on TeslaMate" trailing icon gets you to the right place. For cars with Free Supercharging enabled, pickingNo costsurfaces a one-line hint so the filter stays useful for non-Supercharger DC stops.
Changed
- Trip detail performance: back-nav no longer blanks to a spinner; map keeps tiles + polyline, donut doesn't re-animate, timeline doesn't rebuild.
- 90-day and yearly charts on charges / drives / trips now render every week/month, including empty ones, so trends visually show inactivity.
- Trips list summary card: total distance and total energy charged lost their decimals; total driving time uses cascading units (
2d 3h,1w 2d,1mo 2w). - Internal dependency bumps (AGP 9.1 / Kotlin 2.3 / Hilt 2.59 / WorkManager 2.10 / OkHttp 5 / Retrofit 3).
Fixed
- DatePicker timezone off-by-one on "Where was I that day?" — picked date now matches the user's tap in every zone.
- Charges / Drives list flashed on date-filter change when a secondary filter (AC/DC, distance) had zeroed out the visible list. The full-screen spinner now only appears on the true initial load.
v1.6.0-beta4
Tap-to-open is back on the home screen widget.
Fixed:
- Widget tap now opens the app on Android 15+ — the last library bump ran into new background-launch restrictions, and tapping the widget silently did nothing. Routed through the launcher's own dispatch so it opens reliably. Also guarded by a new regression test so it stays fixed.
v1.6.0-beta3
Beta3 finishes the cleanup of the beta1 trips-list crash.
Fixed:
- Upgrade-from-beta1 crash: devices that already carried literal duplicate saved trips in their database still crashed on every trips list open, even after beta2. The app now heals the database on load — duplicate saved trips are collapsed, keeping user-merged / user-edited ones over auto-detected ones — and the list renders safely while cleanup runs.
v1.6.0-beta2
Beta2 polishes the new trips list and squashes the startup crash beta1 introduced.
Fixed:
- Trips list no longer crashes when saved and auto-detected trips overlap
Changed:
- Date chip on each trip row now shows the year (21 APR 26)
- Long durations cascade units (2d 3h, 1w 2d, 1mo 2w)
- Summary card rounds distance and kWh — no more decimals
- Add leg / Merge trip moved next to the legs card on trip detail
- Internal library and toolchain updates
v1.6.0-beta1
The Trips tab got a proper makeover. Shorter list rows with a per-trip "fingerprint" strip. Redesigned detail: timeline with kind icons, cost donut with AC/DC per-stop shades, horizontal battery energy-flow card, weather sparkline along the way.
Added
- Trips list fingerprint strips — each row now carries a compact 6dp timeline strip so multi-day road trips, daily commutes, and single drives are visually distinguishable before you read any text. Row height dropped by ~40%.
- Trip cost donut + pills — donut breakdown with distinct lightness shades per DC/AC stop; always-visible pills for cost/100 km and cost/kWh.
- Battery energy-flow card — horizontal Sankey-style flow: DC + AC streams converge into a horizontal battery pictogram on the left, single Used stream exits on the right. Stream thickness scales with kWh proportion.
- Weather during the trip — temperature sparkline with condition icons, sampled ~1/hour of drive time from Open-Meteo.
- Edit / merge / delete trips — Add leg, Merge trip, and Delete actions on the trip detail screen.
Changed
- Trip detail screen doesn't flash to a spinner on back-navigation anymore; map tiles, polyline, donut, and timeline stay mounted. Map overlay preparation moved off the main thread for smoother first-render.
- Charts with "Last 90 days" / "Last year" filters now render every week/month in the range, including empty ones, with year-qualified week labels.
Fixed
- DC unplug warning mis-firing on AC: warning was showing on completed AC sessions too. The DC session type is now persisted while active and reused after completion.
- DatePicker timezone off-by-one: "Where was I that day?" on the dashboard could pick the previous day in some time zones. Extraction is now UTC-anchored.
Contributors
Huge thanks to @MARMdeveloper who continues to contribute bug fixes: PR #235 (DatePicker timezone fix) and PR #164 (fixed-weeks/months charts) are both in this release. 🙏
v1.5.1
Small bugfix release. AC charging sessions no longer trigger the DC unplug warning when you leave the cable plugged in, and a typo in the Spanish Sentry translation has been fixed.
Fixed:
- AC charges no longer trigger the DC "unplug cable" warning
- Typo in Spanish Sentry alert strings
v1.5.0
MateDroid now supports HTTP Basic Auth, making it easy to connect through MyTeslaMate and other authenticated reverse proxies. You can also filter drives, charges, and trips by custom date ranges.
Added:
- HTTP Basic Auth support for servers behind authenticated reverse proxies
- Custom date range filter on drives, charges, and trips
- Live charging elapsed timer in the status bar
- DC unplug warning when charge completes but cable stays plugged in
Thanks to @MARMdeveloper for contributing to this release!
v1.5.0-beta1
New ways to filter your data and better charging notifications.
Added:
- HTTP Basic Auth support for servers behind a reverse proxy
- Custom date range filter on drives, charges, and trips
- Charging elapsed timer in the status bar notification
- DC unplug warning when charge completes but cable stays plugged in
Thanks to @MARMdeveloper for contributing to this release!