feat: add ota and ui changes

This commit is contained in:
TCFDONMEZ
2026-09-29 14:32:25 +03:00
parent c102625306
commit 511c166436
61 changed files with 895 additions and 2178 deletions
+85 -66
View File
@@ -1,69 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Per-app styles (not synced by tools/sync-tokens.mjs — see styles_ev.xml for the
shared set). -->
<resources>
<!-- Icon-over-label nav tab, identical to EVProfile's and EVTasker's. The tabs
share the bar's width equally, so the label has to shrink rather than push its
neighbours around: hence autoSize and a single line. Selected state is
View.isSelected, set by MainActivity.markCurrentPage, read by the
res/color/nav_tab_*.xml selectors — no color is ever set from code. -->
<style name="Widget.EV.NavTab" parent="Widget.Material3.Button.OutlinedButton">
<item name="android:minWidth">0dp</item>
<item name="android:minHeight">0dp</item>
<item name="android:insetTop">0dp</item>
<item name="android:insetBottom">0dp</item>
<item name="android:paddingStart">@dimen/spacing_xs</item>
<item name="android:paddingEnd">@dimen/spacing_xs</item>
<item name="android:paddingTop">@dimen/spacing_xs</item>
<item name="android:paddingBottom">@dimen/spacing_xs</item>
<item name="android:maxLines">1</item>
<item name="android:textStyle">bold</item>
<item name="android:letterSpacing">0.02</item>
<item name="android:textAllCaps">false</item>
<item name="android:textColor">@color/nav_tab_foreground</item>
<item name="autoSizeTextType">uniform</item>
<item name="autoSizeMinTextSize">12sp</item>
<item name="autoSizeMaxTextSize">@dimen/text_label</item>
<item name="iconGravity">top</item>
<item name="iconSize">28dp</item>
<item name="iconPadding">@dimen/spacing_xs</item>
<item name="iconTint">@color/nav_tab_foreground</item>
<item name="backgroundTint">@color/nav_tab_background</item>
<item name="strokeColor">@color/nav_tab_stroke</item>
<item name="strokeWidth">1dp</item>
<item name="cornerRadius">@dimen/ev_corner</item>
<item name="elevation">0dp</item>
</style>
<!-- Vehicle page. A label/value table: the label takes the slack (stretchColumns=0)
and the value is right-aligned so the numbers line up down the column, which
is what makes a reading legible at a glance from the driver's seat. -->
<style name="DataRow" parent="">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:paddingTop">@dimen/spacing_sm</item>
<item name="android:paddingBottom">@dimen/spacing_sm</item>
<item name="android:gravity">center_vertical</item>
</style>
<style name="DataLabel" parent="Text.EV.Body">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">@color/ev_text_secondary</item>
</style>
<style name="DataValue" parent="Text.EV.Body">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:paddingStart">@dimen/spacing_md</item>
<item name="android:gravity">end</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/ev_text_primary</item>
<!-- Placeholder, replaced on the first refresh tick. A dash, never a zero:
see the note at the top of pane_vehicle.xml. -->
<item name="android:text">—</item>
</style>
<style name="Widget.EV.NavTab" parent="Widget.Material3.Button.OutlinedButton">
<item name="android:minWidth">0dp</item>
<item name="android:minHeight">64dp</item>
<item name="android:insetTop">0dp</item>
<item name="android:insetBottom">0dp</item>
<item name="android:paddingStart">16dp</item>
<item name="android:paddingEnd">12dp</item>
<item name="android:gravity">start|center_vertical</item>
<item name="android:maxLines">1</item>
<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:textSize">16sp</item>
<item name="android:textAllCaps">false</item>
<item name="android:textColor">@color/nav_tab_foreground</item>
<item name="iconGravity">start</item>
<item name="iconSize">24dp</item>
<item name="iconPadding">12dp</item>
<item name="iconTint">@color/nav_tab_foreground</item>
<item name="backgroundTint">@color/nav_tab_background</item>
<item name="strokeColor">@color/nav_tab_stroke</item>
<item name="strokeWidth">1dp</item>
<item name="cornerRadius">18dp</item>
<item name="elevation">0dp</item>
</style>
<style name="Widget.EV.NavTab.Compact">
<item name="android:paddingStart">2dp</item>
<item name="android:paddingEnd">2dp</item>
<item name="android:gravity">center</item>
<item name="iconGravity">top</item>
<item name="iconPadding">5dp</item>
</style>
<style name="Widget.EV.Input" parent="Widget.Material3.TextInputLayout.OutlinedBox">
<item name="boxBackgroundColor">@color/ev_background</item>
<item name="boxStrokeColor">@color/input_stroke</item>
<item name="boxStrokeWidth">1dp</item>
<item name="boxStrokeWidthFocused">2dp</item>
<item name="boxCornerRadiusTopStart">16dp</item>
<item name="boxCornerRadiusTopEnd">16dp</item>
<item name="boxCornerRadiusBottomStart">16dp</item>
<item name="boxCornerRadiusBottomEnd">16dp</item>
<item name="hintTextColor">@color/ev_accent</item>
<item name="endIconTint">@color/ev_text_secondary</item>
<item name="helperTextTextAppearance">@style/Text.EV.Secondary</item>
</style>
<style name="Text.EV.Eyebrow" parent="Text.EV.SectionHeader">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/ev_accent</item>
<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:letterSpacing">0.12</item>
</style>
<style name="Text.EV.Hero" parent="Text.EV.Display">
<item name="android:textSize">48sp</item>
<item name="android:fontFamily">sans-serif-light</item>
<item name="android:letterSpacing">-0.025</item>
<item name="android:fontFeatureSettings">tnum</item>
</style>
<style name="Text.EV.Metric" parent="Text.EV.Display">
<item name="android:textSize">34sp</item>
<item name="android:fontFamily">sans-serif-light</item>
<item name="android:fontFeatureSettings">tnum</item>
</style>
<style name="Text.EV.Metric.Compact">
<item name="android:textSize">28sp</item>
</style>
<style name="DataRow" parent="">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:minHeight">48dp</item>
<item name="android:paddingTop">10dp</item>
<item name="android:paddingBottom">10dp</item>
<item name="android:gravity">center_vertical</item>
</style>
<style name="DataLabel" parent="Text.EV.Secondary">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="DataValue" parent="Text.EV.Body">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:paddingStart">16dp</item>
<item name="android:gravity">end</item>
<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:fontFeatureSettings">tnum</item>
<item name="android:textColor">@color/ev_text_primary</item>
<item name="android:text">—</item>
</style>
</resources>