Davide Ferrari a80433d00d feat(stats): add new records and categorized swipeable UI (#44)
* feat(stats): add new records and categorized swipeable UI

- Add new records: longest gap without charging, longest gap without
  driving, longest driving streak, biggest battery gain, biggest
  battery drain
- Organize records into 4 swipeable categories: Drives, Battery,
  Weather & Altitude, Distances
- Add horizontal pager with emoji+label indicators
- Compute driving streak in Kotlin (Room doesn't support window
  functions in CTEs)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(stats): fixed page height with 6 records per page constraint

- Each page now displays exactly 6 record slots (3 rows × 2 columns)
- Categories with more than 6 records are split into multiple pages
- Added page indicator dots for multi-page categories
- Added RECORDS_PER_PAGE constant with comment documenting the hard
  constraint for future updates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(stats): enforce fixed row height for consistent page size

- Set RECORD_CARD_HEIGHT = 72.dp for each row
- Each row now has fixed height regardless of content
- Empty placeholder boxes fill the same space as cards
- Prevents page resizing when swiping between categories

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(stats): remove redundant category title from record pages

The swipe indicator already shows current category, no need for title

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: update changelog with swipeable record categories

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 21:38:33 +01:00
2025-12-22 13:41:40 +01:00
2026-01-10 23:26:27 +01:00

MateDroid

A native Android application for viewing Tesla vehicle data from your self-hosted Teslamate instance via the TeslamateApi.

DISCLAIMER: This app has been vibe-coded

Features

  • Dashboard - Real-time vehicle status at a glance with 3D car image matching your vehicle's color and wheels
  • Stats for Nerds - Tap car image for advanced statistics: records, extremes, AC/DC ratio and much more!
  • Charging History - View all charging sessions with statistics and charts
  • Charge Details - Interactive map and detailed power/voltage/temperature charts
  • Drive History - Track trips with efficiency metrics and route visualization
  • Battery Health - Monitor battery degradation over time
  • Software Updates - Track update history
  • Car color based themes - Light/dark themes with palette based on the car color

Main dashboard Battery health Mileage Software versions

Drives Drive details Charges Charge details Stats for nerds

Requirements

This projects needs Teslamate API to work, it will not work just with plan Teslamate. Please follow the Teslamate API instructions and make sure it is working as expected before opening any issue, thanks!

Installation

Download the latest APK from the Releases page and install it on your Android device.

Build from Source

Prerequisites

  • Java 17 or higher
  • Android SDK (API 35)
  • (Optional) Android Studio

Build Steps

# Clone the repository
git clone https://github.com/vide/matedroid.git
cd matedroid

# Build debug APK
./gradlew assembleDebug

# The APK will be at: app/build/outputs/apk/debug/app-debug.apk

# Or install directly to a connected device/emulator
./gradlew installDebug

Development

Please see DEVELOPMENT.md for more details on how this app was created and how to build and test it.

License

This project is licensed under the GNU General Public License v3.0. See LICENSE for details.

Acknowledgments

  • Teslamate - Self-hosted Tesla data logger
  • TeslamateApi - RESTful API for Teslamate
  • t-buddy - iOS app that triggered this development and was used as inspiration. Many kudos, it's a wonderful app and you should use it if you are on iOS!
S
Description
⚠️ ARCHIVED: Original GitHub repository no longer exists. Preserved as backup on 2026-01-19T21:11:53.274Z
Readme GPL-3.0 11 MiB
Languages
Kotlin 98.4%
Python 1.4%
Makefile 0.2%