App 2.22.0: Overview style Cockpit, segmented rings and a power trace

A third Overview style beside Tiles and Dashboard: rings for battery,
power (zero at the top, regeneration anticlockwise in green) with the
speed and gear inside, and 5-minute usage with a tick for the average
since start; below, the power of the last two minutes, the clock,
climate and odometer. Unread values light nothing and show "—"; the
trace leaves gaps (PowerTrace, unit-tested). Emulator only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
This commit is contained in:
2026-10-24 16:48:49 +02:00
co-authored by Claude Opus 5.5
parent 234a7e1b60
commit cd0dfcd612
11 changed files with 634 additions and 13 deletions
+25
View File
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- The Overview as a cockpit (Settings → Overview style → Cockpit): segmented rings for battery,
power with the speed inside, and efficiency; below them the power of the last two minutes,
the clock, climate and odometer. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingStart="24dp" android:paddingEnd="24dp" android:paddingTop="12dp" android:paddingBottom="12dp">
<LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal" android:baselineAligned="false">
<com.evsuite.abrp.RingView android:id="@+id/cockpit_battery" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:layout_marginTop="44dp" android:layout_marginBottom="20dp" />
<com.evsuite.abrp.RingView android:id="@+id/cockpit_power" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1.3" android:layout_marginStart="12dp" android:layout_marginEnd="12dp" />
<com.evsuite.abrp.RingView android:id="@+id/cockpit_usage" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:layout_marginTop="44dp" android:layout_marginBottom="20dp" />
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="128dp" android:layout_marginTop="10dp" android:orientation="horizontal" android:gravity="center_vertical" android:paddingStart="24dp" android:paddingEnd="28dp" android:paddingTop="10dp" android:paddingBottom="10dp" android:background="@drawable/bg_glass" android:baselineAligned="false">
<LinearLayout android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:orientation="vertical">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/cockpit_trace_title" android:textColor="?attr/evAccentLight" android:textSize="14sp" android:letterSpacing="0.16" />
<com.evsuite.abrp.TraceView android:id="@+id/cockpit_trace" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginTop="2dp" />
</LinearLayout>
<View android:layout_width="1dp" android:layout_height="match_parent" android:layout_marginStart="28dp" android:layout_marginEnd="28dp" android:background="@color/ev_outline" />
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center_horizontal">
<TextClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:format24Hour="HH:mm" android:format12Hour="HH:mm" android:textColor="@color/ev_text_primary" android:textSize="44sp" android:fontFamily="sans-serif-light" android:fontFeatureSettings="tnum" />
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal">
<TextView android:id="@+id/cockpit_climate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/no_value" android:textColor="?attr/evAccentLight" android:textSize="18sp" android:fontFeatureSettings="tnum" />
<TextView android:id="@+id/cockpit_odometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="18dp" android:text="@string/no_value" android:textColor="@color/ev_text_secondary" android:textSize="18sp" android:fontFeatureSettings="tnum" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
+6
View File
@@ -127,6 +127,12 @@
<string name="dash_unit_battery">SOC</string>
<string name="dash_total">TOTAL %1$s</string>
<string name="dash_trip">TRIP %1$s</string>
<string name="overview_style_cockpit">Cockpit</string>
<string name="cockpit_battery">BATTERY</string>
<string name="cockpit_usage">USAGE · 5 MIN</string>
<string name="cockpit_usage_unit">kWh/100 km</string>
<string name="cockpit_usage_trip">since start %1$s</string>
<string name="cockpit_trace_title">POWER · LAST 2 MIN</string>
<string name="label_voice_key">Double-press the voice key to open this app</string>
<string name="hint_voice_key">Press the voice key on the steering wheel twice quickly. The voice assistant may still react to the presses.</string>
<string name="label_abrp_upload_enabled">Send live data</string>