From 96b9659bdd057a4894448223d5b066f1d234e529 Mon Sep 17 00:00:00 2001 From: Nils Stinnesbeck Date: Mon, 26 Oct 2026 18:54:48 +0100 Subject: [PATCH] App 2.37.0: Overview styles Time circuits and Quest Time circuits, after Back to the Future: three LED rows (the car as the destination, the present time, the last departure from P), the speed in red digits and a flux capacitor that flows with the power; at 88 km/h it all flashes. Letters on fourteen segments (Segments14, tested). Quest, after World of Warcraft's interface: player frame, minimap, gold speed, cast bar, quest tracker, chat, action bar and the odometer as experience. Both in their own colours, the app with them. In THEMES.md with screenshots. Emulator only; not tried on the car. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6 --- AGENTS.md | 2 +- README.md | 6 +- SPECS.md | 15 + THEMES.md | 33 +- app/build.gradle | 4 +- .../java/com/evsuite/abrp/MainActivity.java | 9 +- .../java/com/evsuite/abrp/OverviewStyle.java | 4 +- .../main/java/com/evsuite/abrp/QuestView.java | 430 ++++++++++++++++++ .../java/com/evsuite/abrp/Segments14.java | 77 ++++ .../java/com/evsuite/abrp/StylePalette.java | 2 + .../com/evsuite/abrp/TimeCircuitsView.java | 404 ++++++++++++++++ app/src/main/res/values/strings.xml | 2 + app/src/main/res/values/style_palettes.xml | 20 + .../java/com/evsuite/abrp/Segments14Test.java | 39 ++ screenshots/themes/quest-panel.png | Bin 0 -> 41976 bytes screenshots/themes/quest.png | Bin 0 -> 34149 bytes screenshots/themes/time-circuits-panel.png | Bin 0 -> 51002 bytes screenshots/themes/time-circuits.png | Bin 0 -> 41967 bytes 18 files changed, 1035 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/com/evsuite/abrp/QuestView.java create mode 100644 app/src/main/java/com/evsuite/abrp/Segments14.java create mode 100644 app/src/main/java/com/evsuite/abrp/TimeCircuitsView.java create mode 100644 app/src/test/java/com/evsuite/abrp/Segments14Test.java create mode 100644 screenshots/themes/quest-panel.png create mode 100644 screenshots/themes/quest.png create mode 100644 screenshots/themes/time-circuits-panel.png create mode 100644 screenshots/themes/time-circuits.png diff --git a/AGENTS.md b/AGENTS.md index 2c5b3bf..95554a1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -75,7 +75,7 @@ Repository: `ssh://git@git.stinnesbeck.com:2222/nils/mg4.git` (remote `origin`), | Tab | Contents | |---|---| -| Overview | value tiles (battery, range, range/usage/energy since start, 5-min averages of range, usage, power, speed), vehicle info (odometer, lease allowance and the odometer against it), tyre pressures; read every 0.2 s on a background thread. Styles (Settings → Overview style): Tiles, Gauges (`GaugeView` needles), Cockpit (`RingView` rings, `TraceView` power trace), Retro (`RetroView`, seven-segment VFD), Futuristic (`FlowView`, animated energy flow), Sci-fi (`SciFiView`, starship console), Cartoon (`CartoonView`), MG (`OctagonView`, octagonal dials after the classic MG dashboards), and on `ClusterCanvasView`: Minimal, Terminal, Nixie tubes, Chronograph, Grid (`GridView`, neon lines over a moving grid floor, power as a light-cycle trail from `ClusterValues.powerTrail`); the drawn styles share `ClusterValues`. A style shown in its own palette (Sci-fi, Cartoon, Nixie; Retro, Terminal and Grid with "Original") gives the whole app its colours (`StylePalette`, `res/values/style_palettes.xml`) instead of the accent colour. A button in the navigation's header hides the navigation for a full-width Overview (`PREF_OVERVIEW_FULLSCREEN`); a swipe in from the left edge (`EdgeSwipe`) brings it back; without the app's own full screen the car's sidebar takes that edge, so a tab at the left edge (`edge_tab`) is tapped or swiped instead. Pages change only by the navigation (the pager's own swiping is off) | +| Overview | value tiles (battery, range, range/usage/energy since start, 5-min averages of range, usage, power, speed), vehicle info (odometer, lease allowance and the odometer against it), tyre pressures; read every 0.2 s on a background thread. Styles (Settings → Overview style): Tiles, Gauges (`GaugeView` needles), Cockpit (`RingView` rings, `TraceView` power trace), Retro (`RetroView`, seven-segment VFD), Futuristic (`FlowView`, animated energy flow), Sci-fi (`SciFiView`, starship console), Cartoon (`CartoonView`), MG (`OctagonView`, octagonal dials after the classic MG dashboards), and on `ClusterCanvasView`: Minimal, Terminal, Nixie tubes, Chronograph, Grid (`GridView`, neon lines over a moving grid floor, power as a light-cycle trail from `ClusterValues.powerTrail`), Time circuits (`TimeCircuitsView`, the time machine's LED rows with `Segments14` letters and a flux capacitor), Quest (`QuestView`, a fantasy game interface); the drawn styles share `ClusterValues`. A style shown in its own palette (Sci-fi, Cartoon, Nixie, Time circuits, Quest; Retro, Terminal and Grid with "Original") gives the whole app its colours (`StylePalette`, `res/values/style_palettes.xml`) instead of the accent colour. A button in the navigation's header hides the navigation for a full-width Overview (`PREF_OVERVIEW_FULLSCREEN`); a swipe in from the left edge (`EdgeSwipe`) brings it back; without the app's own full screen the car's sidebar takes that edge, so a tab at the left edge (`edge_tab`) is tapped or swiped instead. Pages change only by the navigation (the pager's own swiping is off) | | Consumption / Charging | period totals, daily log, charging sessions and curve | | Live data | on/off, ABRP API key and user token, upload frequency | | Server | URL, pairing by QR, ingest token, installation ID (read-only), config import | diff --git a/README.md b/README.md index b346193..036efad 100644 --- a/README.md +++ b/README.md @@ -39,8 +39,8 @@ APIs. ## Screenshots -**Overview styles:** the Overview comes in thirteen looks, from an 80s fluorescent display to a -starship console, a watch face and a neon grid. [THEMES.md](THEMES.md) shows each one, with and without the +**Overview styles:** the Overview comes in fifteen looks, from an 80s fluorescent display to a +starship console, a watch face, a neon grid, a time machine and a fantasy game. [THEMES.md](THEMES.md) shows each one, with and without the navigation, and what inspired it.

@@ -88,7 +88,7 @@ with the server using a token of its own, obtained by pairing with a phone (belo | Tab | What it shows | |---|---| -| **Overview** | Battery, range, power and speed; range, usage and energy since start; 5-minute averages of range, usage, power and speed; vehicle info (odometer, lease allowance, climate setpoint) and tyre pressures. Read five times a second. Looks to choose from in Settings → Overview style: Tiles, Gauges, Cockpit, Retro, Futuristic, Sci-fi, Cartoon, MG, Minimal, Terminal, Nixie tubes, Chronograph and Grid ([THEMES.md](THEMES.md) shows them all). A style with its own colours (Sci-fi, Cartoon, Nixie tubes, and Retro, Terminal and Grid with "Original") colours the whole app to match, e.g. turquoise for Retro. The small button next to the MG4 logo in the navigation hides the navigation for a full-width Overview; swipe in from the left edge (a faint handle marks it) to bring it back; with Settings → Full screen off, the car's own sidebar sits at that edge, so tap the small tab at the left edge (›) instead. Pages change only by the navigation, not by swiping sideways | +| **Overview** | Battery, range, power and speed; range, usage and energy since start; 5-minute averages of range, usage, power and speed; vehicle info (odometer, lease allowance, climate setpoint) and tyre pressures. Read five times a second. Looks to choose from in Settings → Overview style: Tiles, Gauges, Cockpit, Retro, Futuristic, Sci-fi, Cartoon, MG, Minimal, Terminal, Nixie tubes, Chronograph, Grid, Time circuits and Quest ([THEMES.md](THEMES.md) shows them all). A style with its own colours (Sci-fi, Cartoon, Nixie tubes, Time circuits, Quest, and Retro, Terminal and Grid with "Original") colours the whole app to match, e.g. turquoise for Retro. The small button next to the MG4 logo in the navigation hides the navigation for a full-width Overview; swipe in from the left edge (a faint handle marks it) to bring it back; with Settings → Full screen off, the car's own sidebar sits at that edge, so tap the small tab at the left edge (›) instead. Pages change only by the navigation, not by swiping sideways | | **Consumption** | Lifetime, last 7 and 30 days, Trip A and B (distance, energy, average consumption and speed, SOC change), and a daily log of the last four months | | **Charging** | The current session (SOC, voltage, current, power, energy into the battery and from the grid, time, cost) and its SOC/power curve | | **Live data** | Live data on/off, ABRP credentials for sending directly from the car, upload frequency | diff --git a/SPECS.md b/SPECS.md index 52de890..9c36bc9 100644 --- a/SPECS.md +++ b/SPECS.md @@ -138,6 +138,21 @@ tyre pressures, GPS (lat, lon, elevation, heading) and the is_* flags. It does * confirmed car facts, app structure, UI conventions, build/test/ship, documents. It replaces upstream's EVABRPUploader text. The test emulator is now in the flake: `nix run .#car-emulator` (Android 9 AOSP at 1920×720, 160 dpi; the car build installs as the system user — checked). +- 2026-10-26 — App 2.37.0: Overview styles **Time circuits** (after Back to the Future, + `TimeCircuitsView`) and **Quest** (after World of Warcraft's interface, `QuestView`); both + with their own palette, the app in red and gold with them. Time circuits: three LED rows in a + metal panel with embossed tape — red "DESTINATION" (gear as DRV/REV/NTL/PRK, charge, range, + power/regen lamps, usage), green "PRESENT TIME" (date and time from the head unit's clock), + amber "LAST TIME DEPARTED" (when the car last left P, tracked from the readings, dashes until + seen); the speed in red digits, a flux capacitor whose light runs inwards with the power and + outwards in regen; at 88 km/h the speed burns white, the tape reads "88 KM/H — HOLD ON" and the + capacitor flashes. Letters on fourteen segments (`Segments14`, pure, tested). Quest: player + frame (gear as level, battery as health, power as energy), minimap with the clock, gold speed, + a cast bar (Accelerating, Regenerating, Coasting, Resting in P), a road-trip quest tracker, + system chat lines, P R N D action buttons, the odometer as experience (a level per 1000 km), a + "Low battery!" raid warning below 20 %. Names avoid the trademarks; drawings and fonts are the + app's own. THEMES.md with two screenshots each. Emulator: sample values (also 92 km/h and + 15 %), with and without the navigation, and no data (dashes); no crash. Not tried on the car. - 2026-10-26 — App 2.36.0: Overview style **Grid**, after the Tron films (`GridView`): neon lines on black, a perspective grid floor that runs towards the driver with the speed (4 m tiles, ~30 fps only while moving and on screen), the speed large and thin, the battery as a diff --git a/THEMES.md b/THEMES.md index 11a501f..2a36d1d 100644 --- a/THEMES.md +++ b/THEMES.md @@ -1,6 +1,6 @@ # Overview styles -The Overview can look thirteen ways: pick one under **Settings → Overview style**. Every style shows +The Overview can look fifteen ways: pick one under **Settings → Overview style**. Every style shows the same readings (battery, range, power, speed, gear, usage, trip, climate, odometer, time) and shows "—" for anything the car did not answer, never a made-up zero. @@ -11,7 +11,7 @@ emulator has no car; on the car the values are live. **Colours.** Most styles are drawn in the accent colour you pick from the MG4 paints (Settings → Accent colour; shown here in Dynamic Red). Retro, Terminal and Grid can also show their original -colours, and Sci-fi, Cartoon and Nixie tubes always do; while one of those is shown, the whole app +colours, and Sci-fi, Cartoon, Nixie tubes, Time circuits and Quest always do; while one of those is shown, the whole app (navigation, buttons, switches) takes on its colours too. | Style | Look | Colours | @@ -29,6 +29,8 @@ colours, and Sci-fi, Cartoon and Nixie tubes always do; while one of those is sh | [Nixie tubes](#nixie-tubes) | glowing glass tubes | own | | [Chronograph](#chronograph) | a watch face | accent | | [Grid](#grid) | neon lines on a glowing grid floor | original or accent | +| [Time circuits](#time-circuits) | a time machine's LED displays | own | +| [Quest](#quest) | a fantasy game's interface | own | ## Tiles @@ -157,3 +159,30 @@ films' other side. ![Grid with the navigation](screenshots/themes/grid-panel.png) ![Grid, full screen](screenshots/themes/grid.png) + +## Time circuits + +After the time machine in Back to the Future: three rows of LED read-outs in a metal panel, +labelled with embossed tape. The red row, "DESTINATION", shows where you can still get to — the +gear as a word (DRV, REV, NTL, PRK), the charge, the range and the usage, with lamps for power and +regeneration; the green row is the present date and time, as in the film; the amber row, "LAST +TIME DEPARTED", is when you last shifted out of P. Beside them the speed in large red digits and +the flux capacitor, whose light runs to its centre with the power and outwards while +regenerating. At 88 km/h the speed burns white and the flux capacitor flashes. The app turns red +with it. + +![Time circuits with the navigation](screenshots/themes/time-circuits-panel.png) +![Time circuits, full screen](screenshots/themes/time-circuits.png) + +## Quest + +After the interface of a fantasy online game like World of Warcraft, with the car as the player +character: a portrait with the gear as its level, the battery as the health bar and power as the +energy bar; a minimap with the clock; the speed in large gold numbers over a cast bar that reads +"Accelerating", "Regenerating", "Coasting" or, in P, "Resting"; a road-trip quest whose objectives +are the trip, the usage and the climate; a chat window with system lines; P R N D as action +buttons, and the odometer as the experience bar, a level per 1000 km. Below 20 % a raid warning +flashes "Low battery!". The app turns gold with it. + +![Quest with the navigation](screenshots/themes/quest-panel.png) +![Quest, full screen](screenshots/themes/quest.png) diff --git a/app/build.gradle b/app/build.gradle index 166a8fe..d0df532 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -34,8 +34,8 @@ android { applicationId "com.stinnesbeck.nilsmg4" minSdk 27 targetSdk 36 - versionCode 139 - versionName "2.36.0" + versionCode 140 + versionName "2.37.0" // Nothing about the server ships in the APK: its URL and ingest token are entered in // the app's Server tab (ServerConfig), and the database is only reachable by the server. diff --git a/app/src/main/java/com/evsuite/abrp/MainActivity.java b/app/src/main/java/com/evsuite/abrp/MainActivity.java index 44f10d3..4f1aa6d 100644 --- a/app/src/main/java/com/evsuite/abrp/MainActivity.java +++ b/app/src/main/java/com/evsuite/abrp/MainActivity.java @@ -345,12 +345,14 @@ public class MainActivity extends AppCompatActivity { terminalView = new TerminalView(this); gridView = new GridView(this); java.util.Collections.addAll(canvasStyles, new MinimalView(this), terminalView, - new NixieView(this), new ChronographView(this), gridView); + new NixieView(this), new ChronographView(this), gridView, new TimeCircuitsView(this), + new QuestView(this)); View[] canvasPanes = new View[canvasStyles.size()]; for (int i = 0; i < canvasPanes.length; i++) canvasPanes[i] = drawnPane(canvasStyles.get(i)); stylePanes = new View[] { vehiclePane, gaugesPane, cockpitPane, retroPane, futuristicPane, sciFiPane, cartoonPane, mgPane, - canvasPanes[0], canvasPanes[1], canvasPanes[2], canvasPanes[3], canvasPanes[4] }; + canvasPanes[0], canvasPanes[1], canvasPanes[2], canvasPanes[3], canvasPanes[4], + canvasPanes[5], canvasPanes[6] }; // The Overview page holds every style; Settings → Overview style picks the one shown. android.widget.FrameLayout overviewPage = new android.widget.FrameLayout(this); overviewPage.setLayoutParams(new android.view.ViewGroup.LayoutParams( @@ -1749,7 +1751,8 @@ public class MainActivity extends AppCompatActivity { getString(R.string.overview_style_mg), getString(R.string.overview_style_minimal), getString(R.string.overview_style_terminal), getString(R.string.overview_style_nixie), - getString(R.string.overview_style_chronograph), getString(R.string.overview_style_grid) }; + getString(R.string.overview_style_chronograph), getString(R.string.overview_style_grid), + getString(R.string.overview_style_time_circuits), getString(R.string.overview_style_quest) }; } /** The style drop-down; every style is fed on every reading, only the chosen one is shown. */ diff --git a/app/src/main/java/com/evsuite/abrp/OverviewStyle.java b/app/src/main/java/com/evsuite/abrp/OverviewStyle.java index d51b8b1..1de5016 100644 --- a/app/src/main/java/com/evsuite/abrp/OverviewStyle.java +++ b/app/src/main/java/com/evsuite/abrp/OverviewStyle.java @@ -26,7 +26,9 @@ enum OverviewStyle { TERMINAL(true, true), NIXIE(false, false), CHRONOGRAPH(true, false), - GRID(true, true); + GRID(true, true), + TIME_CIRCUITS(false, false), + QUEST(false, false); static final String PREF_KEY = "overview_style"; diff --git a/app/src/main/java/com/evsuite/abrp/QuestView.java b/app/src/main/java/com/evsuite/abrp/QuestView.java new file mode 100644 index 0000000..66212e6 --- /dev/null +++ b/app/src/main/java/com/evsuite/abrp/QuestView.java @@ -0,0 +1,430 @@ +package com.evsuite.abrp; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.LinearGradient; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.RectF; +import android.graphics.Shader; +import android.graphics.Typeface; +import android.os.SystemClock; + +import java.util.Locale; + +/** + * The Quest Overview style, after the interface of a fantasy online game like World of Warcraft: + * gold-trimmed frames over a dusk landscape, the car as the player character. + * + * Top left, the player frame: a round portrait, the gear in the level badge, the battery as the + * health bar and power as the energy bar. Top right, the minimap with the clock. In the middle + * the speed in large gold numbers, and under it the cast bar — "Accelerating" while drawing + * power, "Regenerating" while recovering it, "Coasting" in between and "Resting" in P. Right, + * the quest tracker: a road trip whose objectives are the trip, the usage and the climate. + * Bottom left, a chat window with system lines; bottom, P R N D as action buttons and the + * odometer as the experience bar (a level per 1000 km). Below 20 % a raid warning flashes. + * Unread values show "—" and fill nothing. Drawn per reading; only the raid warning blinks, by + * the readings that redraw it. + */ +final class QuestView extends ClusterCanvasView { + + private static final int GOLD = 0xFFC9A24A, GOLD_DARK = 0xFF7A5C24, YELLOW = 0xFFFFD100, + PANEL = 0xE01A130D, HEALTH = 0xFF26B33A, ENERGY = 0xFFF2D21B, REGEN = 0xFF3FBF6F, + XP = 0xFF8E44C9, RED = 0xFFFF3B30, SYSTEM = 0xFFFFE96A; + + private final Paint line = new Paint(Paint.ANTI_ALIAS_FLAG); + private final Paint fill = new Paint(Paint.ANTI_ALIAS_FLAG); + private final Paint text = new Paint(Paint.ANTI_ALIAS_FLAG); + private final Paint skyPaint = new Paint(); + private final Path path = new Path(); + private final RectF r = new RectF(); + private final Typeface serif = Typeface.create(Typeface.SERIF, Typeface.BOLD); + private final Typeface sans = Typeface.create("sans-serif-condensed", Typeface.BOLD); + private int skyFor = -1; + + QuestView(Context context) { + super(context); + line.setStyle(Paint.Style.STROKE); + } + + @Override + protected void onDraw(Canvas c) { + super.onDraw(c); + float w = getWidth(), h = getHeight(); + if (w <= 0 || h <= 0) return; + float u = Math.min(h / 640f, w / 1100f); + drawLandscape(c, w, h); + drawPlayer(c, u); + drawMinimap(c, w, u); + drawSpeed(c, w, u); + drawCastBar(c, w, u); + drawQuests(c, w, u); + drawChat(c, u); + drawActionBar(c, w, h, u); + drawXp(c, w, h, u); + } + + // ---------- World ---------- + + private void drawLandscape(Canvas c, float w, float h) { + if (skyFor != (int) h) { + skyPaint.setShader(new LinearGradient(0, 0, 0, h, new int[] { 0xFF0B1424, 0xFF1C2A3A, 0xFF2A2418 }, + new float[] { 0f, 0.55f, 1f }, Shader.TileMode.CLAMP)); + skyFor = (int) h; + } + c.drawRect(0, 0, w, h, skyPaint); + // Two ranges of hills, the near one darker. + hills(c, w, h, h * 0.62f, 0xFF16202A, 0.9f); + hills(c, w, h, h * 0.72f, 0xFF10171D, 1.6f); + } + + private void hills(Canvas c, float w, float h, float base, int colour, float wave) { + path.reset(); + path.moveTo(0, h); + for (int i = 0; i <= 24; i++) { + float x = w * i / 24f; + float y = base - (float) (Math.sin(i * wave) * 0.5 + Math.sin(i * wave * 0.37 + 1) * 0.5) * h * 0.06f; + path.lineTo(x, y); + } + path.lineTo(w, h); + path.close(); + fill.setColor(colour); + c.drawPath(path, fill); + } + + // ---------- Frames ---------- + + /** A dark panel with a gold rim. */ + private void panel(Canvas c, float l, float t, float rr, float b, float u) { + r.set(l, t, rr, b); + fill.setColor(PANEL); + c.drawRoundRect(r, 6f * u, 6f * u, fill); + line.setColor(GOLD_DARK); + line.setStrokeWidth(4f * u); + c.drawRoundRect(r, 6f * u, 6f * u, line); + line.setColor(GOLD); + line.setStrokeWidth(1.5f * u); + c.drawRoundRect(r, 6f * u, 6f * u, line); + } + + /** Text with a dark outline, as game interfaces write over the world. */ + private void outlined(Canvas c, String s, float x, float y, float size, int colour, Typeface face, + Paint.Align align, float u) { + text.setTypeface(face); + text.setTextSize(size); + text.setTextAlign(align); + text.setStyle(Paint.Style.STROKE); + text.setStrokeWidth(Math.max(2f * u, size * 0.08f)); + text.setStrokeJoin(Paint.Join.ROUND); + text.setColor(0xFF000000); + c.drawText(s, x, y, text); + text.setStyle(Paint.Style.FILL); + text.setColor(colour); + c.drawText(s, x, y, text); + } + + /** A bar with a dark track, a fill of [frac] and centred text. */ + private void bar(Canvas c, float l, float t, float rr, float b, float frac, int colour, String label, float u) { + r.set(l, t, rr, b); + fill.setColor(0xFF0A0A0A); + c.drawRect(r, fill); + if (frac > 0f) { + r.set(l, t, l + (rr - l) * Math.min(1f, frac), b); + fill.setColor(colour); + c.drawRect(r, fill); + fill.setColor(0x33FFFFFF); + c.drawRect(r.left, t, r.right, t + (b - t) * 0.35f, fill); + } + line.setColor(GOLD_DARK); + line.setStrokeWidth(2f * u); + c.drawRect(l, t, rr, b, line); + outlined(c, label, (l + rr) / 2f, b - (b - t) * 0.22f, (b - t) * 0.72f, 0xFFFFFFFF, sans, + Paint.Align.CENTER, u); + } + + // ---------- Player ---------- + + private void drawPlayer(Canvas c, float u) { + float px = 86f * u, py = 86f * u, pr = 60f * u; + // Name plate and bars, behind the portrait. + float l = px + 20f * u, rr = px + 380f * u; + panel(c, l, py - 56f * u, rr, py + 46f * u, u); + outlined(c, "MG4", l + 60f * u, py - 28f * u, 24f * u, YELLOW, serif, Paint.Align.LEFT, u); + float soc = v.socPercent == null ? 0f : v.socPercent / 100f; + boolean low = v.socPercent != null && v.socPercent < 20f; + bar(c, l + 56f * u, py - 18f * u, rr - 12f * u, py + 10f * u, soc, low ? RED : HEALTH, + fmt(v.socPercent, "%.0f %%", "—") + " · " + fmt(v.rangeKm, "%.0f km", "—"), u); + boolean regen = v.powerKw != null && v.powerKw < -0.5f; + float energy = v.powerKw == null ? 0f : Math.abs(v.powerKw) / 150f; + bar(c, l + 56f * u, py + 14f * u, rr - 12f * u, py + 36f * u, energy, regen ? REGEN : ENERGY, + v.powerKw == null ? "—" : String.format(Locale.US, regen ? "+%.1f kW" : "%.1f kW", Math.abs(v.powerKw)), u); + + // The portrait: a gold ring round the car's name. + fill.setColor(0xFF140F0A); + c.drawCircle(px, py, pr, fill); + line.setColor(GOLD_DARK); + line.setStrokeWidth(10f * u); + c.drawCircle(px, py, pr, line); + line.setColor(GOLD); + line.setStrokeWidth(3f * u); + c.drawCircle(px, py, pr + 3f * u, line); + drawCarGlyph(c, px, py + 6f * u, pr * 0.62f, u); + // The level badge: the gear. + float bx = px - pr * 0.72f, by = py + pr * 0.72f, br = 20f * u; + fill.setColor(0xFF140F0A); + c.drawCircle(bx, by, br, fill); + line.setColor(GOLD); + line.setStrokeWidth(3f * u); + c.drawCircle(bx, by, br, line); + String gear = Gear.label(v.gear); + outlined(c, gear.isEmpty() ? "?" : gear, bx, by + 8f * u, 22f * u, YELLOW, serif, Paint.Align.CENTER, u); + } + + /** A small car in profile for the portrait. */ + private void drawCarGlyph(Canvas c, float cx, float cy, float s, float u) { + path.reset(); + path.moveTo(cx - s, cy + s * 0.15f); + path.lineTo(cx - s * 0.92f, cy - s * 0.12f); + path.quadTo(cx - s * 0.55f, cy - s * 0.2f, cx - s * 0.35f, cy - s * 0.48f); + path.lineTo(cx + s * 0.3f, cy - s * 0.5f); + path.quadTo(cx + s * 0.62f, cy - s * 0.22f, cx + s * 0.95f, cy - s * 0.1f); + path.lineTo(cx + s, cy + s * 0.15f); + path.close(); + fill.setColor(GOLD); + c.drawPath(path, fill); + fill.setColor(0xFF140F0A); + c.drawCircle(cx - s * 0.55f, cy + s * 0.18f, s * 0.2f, fill); + c.drawCircle(cx + s * 0.55f, cy + s * 0.18f, s * 0.2f, fill); + fill.setColor(GOLD); + c.drawCircle(cx - s * 0.55f, cy + s * 0.18f, s * 0.11f, fill); + c.drawCircle(cx + s * 0.55f, cy + s * 0.18f, s * 0.11f, fill); + } + + // ---------- Minimap ---------- + + private void drawMinimap(Canvas c, float w, float u) { + float cx = w - 120f * u, cy = 128f * u, mr = 84f * u; + outlined(c, "The Open Road", cx, 30f * u, 20f * u, YELLOW, serif, Paint.Align.CENTER, u); + fill.setColor(0xFF1E3524); + c.drawCircle(cx, cy, mr, fill); + // Roads and a river, clipped to the map. + c.save(); + path.reset(); + path.addCircle(cx, cy, mr, Path.Direction.CW); + c.clipPath(path); + line.setColor(0xFF8A7650); + line.setStrokeWidth(5f * u); + c.drawLine(cx, cy + mr, cx, cy - mr, line); + c.drawLine(cx - mr, cy - mr * 0.35f, cx + mr, cy + mr * 0.1f, line); + line.setColor(0xFF2E5C8A); + line.setStrokeWidth(7f * u); + path.reset(); + path.moveTo(cx - mr, cy + mr * 0.5f); + path.quadTo(cx - mr * 0.2f, cy + mr * 0.2f, cx + mr, cy + mr * 0.7f); + c.drawPath(path, line); + c.restore(); + // The player arrow. + path.reset(); + path.moveTo(cx, cy - 13f * u); + path.lineTo(cx + 9f * u, cy + 10f * u); + path.lineTo(cx, cy + 5f * u); + path.lineTo(cx - 9f * u, cy + 10f * u); + path.close(); + fill.setColor(YELLOW); + c.drawPath(path, fill); + line.setColor(0xFF000000); + line.setStrokeWidth(1.5f * u); + c.drawPath(path, line); + // The stone rim. + line.setColor(0xFF4A4036); + line.setStrokeWidth(12f * u); + c.drawCircle(cx, cy, mr + 5f * u, line); + line.setColor(GOLD); + line.setStrokeWidth(2f * u); + c.drawCircle(cx, cy, mr + 11f * u, line); + c.drawCircle(cx, cy, mr - 1f * u, line); + // The clock under it. + panel(c, cx - 50f * u, cy + mr + 16f * u, cx + 50f * u, cy + mr + 48f * u, u); + outlined(c, v.clock.isEmpty() ? "—" : v.clock, cx, cy + mr + 40f * u, 22f * u, 0xFFFFFFFF, sans, + Paint.Align.CENTER, u); + } + + // ---------- Speed and cast bar ---------- + + private void drawSpeed(Canvas c, float w, float u) { + boolean low = v.socPercent != null && v.socPercent < 20f; + if (low && (SystemClock.uptimeMillis() / 600) % 2 == 0) { + outlined(c, "Low battery!", w / 2f, 64f * u, 34f * u, RED, serif, Paint.Align.CENTER, u); + } + outlined(c, fmt(v.speedKmh, "%.0f", "—"), w / 2f, 236f * u, 150f * u, YELLOW, serif, Paint.Align.CENTER, u); + outlined(c, "km/h", w / 2f, 270f * u, 24f * u, GOLD, serif, Paint.Align.CENTER, u); + } + + private void drawCastBar(Canvas c, float w, float u) { + boolean parked = v.gear != null && v.gear == 1; + Float p = v.powerKw; + String spell; + int colour; + float frac; + if (parked) { + spell = "Resting"; + colour = 0xFF5B7BD9; + frac = 1f; + } else if (p == null) { + spell = "—"; + colour = ENERGY; + frac = 0f; + } else if (p > 0.5f) { + spell = "Accelerating"; + colour = 0xFFFFB300; + frac = p / 150f; + } else if (p < -0.5f) { + spell = "Regenerating"; + colour = REGEN; + frac = -p / 50f; + } else { + spell = "Coasting"; + colour = 0xFF8F8F8F; + frac = 0.02f; + } + float bw = Math.min(520f * u, w * 0.36f), l = (w - bw) / 2f + 18f * u, rr = l + bw, t = 296f * u, b = t + 30f * u; + // The spell icon. + float il = l - 40f * u; + r.set(il, t - 3f * u, il + 36f * u, b + 3f * u); + fill.setColor(0xFF140F0A); + c.drawRect(r, fill); + line.setColor(GOLD); + line.setStrokeWidth(2f * u); + c.drawRect(r, line); + drawSpellIcon(c, r.centerX(), r.centerY(), 13f * u, spell, colour, u); + r.set(l, t, rr, b); + fill.setColor(0xFF0A0A0A); + c.drawRect(r, fill); + r.set(l, t, l + bw * Math.max(0f, Math.min(1f, frac)), b); + fill.setColor(colour); + c.drawRect(r, fill); + fill.setColor(0x33FFFFFF); + c.drawRect(r.left, t, r.right, t + 10f * u, fill); + line.setColor(GOLD); + line.setStrokeWidth(2.5f * u); + c.drawRect(l, t, rr, b, line); + outlined(c, spell, l + 10f * u, b - 8f * u, 20f * u, 0xFFFFFFFF, sans, Paint.Align.LEFT, u); + outlined(c, p == null ? "—" : String.format(Locale.US, "%.1f kW", Math.abs(p)), rr - 10f * u, b - 8f * u, + 20f * u, 0xFFFFFFFF, sans, Paint.Align.RIGHT, u); + } + + private void drawSpellIcon(Canvas c, float cx, float cy, float s, String spell, int colour, float u) { + fill.setColor(colour); + path.reset(); + switch (spell) { + case "Accelerating": // a lightning bolt + path.moveTo(cx + s * 0.2f, cy - s); + path.lineTo(cx - s * 0.6f, cy + s * 0.1f); + path.lineTo(cx, cy + s * 0.1f); + path.lineTo(cx - s * 0.2f, cy + s); + path.lineTo(cx + s * 0.6f, cy - s * 0.15f); + path.lineTo(cx, cy - s * 0.15f); + path.close(); + c.drawPath(path, fill); + break; + case "Regenerating": // a leaf + path.moveTo(cx - s * 0.8f, cy + s * 0.8f); + path.quadTo(cx - s, cy - s, cx + s * 0.8f, cy - s * 0.8f); + path.quadTo(cx + s, cy + s * 0.9f, cx - s * 0.8f, cy + s * 0.8f); + c.drawPath(path, fill); + break; + case "Resting": + outlined(c, "Zz", cx, cy + s * 0.5f, s * 1.5f, colour, serif, Paint.Align.CENTER, u); + break; + default: + c.drawCircle(cx, cy, s * 0.5f, fill); + } + } + + // ---------- Quest tracker and chat ---------- + + private void drawQuests(Canvas c, float w, float u) { + float x = w - 400f * u, y = 310f * u; + fill.setColor(YELLOW); + c.drawCircle(x - 18f * u, y - 9f * u, 11f * u, fill); + outlined(c, "!", x - 18f * u, y - 1f * u, 18f * u, 0xFF000000, serif, Paint.Align.CENTER, u); + outlined(c, "Road trip", x, y, 26f * u, YELLOW, serif, Paint.Align.LEFT, u); + String[] objectives = { + "Distance: " + fmt(v.tripKm, "%.1f km", "—"), + "Usage, 5 min: " + fmt(v.usage5Min, "%.1f kWh/100 km", "—"), + "Since start: " + fmt(v.usageTrip, "%.1f kWh/100 km", "—"), + "Climate: " + fmt(v.climateCelsius, "%.0f °C", "—"), + }; + for (int i = 0; i < objectives.length; i++) { + outlined(c, "– " + objectives[i], x + 8f * u, y + (34f + i * 30f) * u, 21f * u, 0xFFE8E8E8, sans, + Paint.Align.LEFT, u); + } + } + + private void drawChat(Canvas c, float u) { + float l = 22f * u, t = 368f * u, rr = l + 470f * u, b = 520f * u; + r.set(l, t, rr, b); + fill.setColor(0x66000000); + c.drawRoundRect(r, 6f * u, 6f * u, fill); + String state = v.gear == null ? "The car is not answering." + : v.gear == 1 ? "You feel rested." + : v.gear == 2 ? "You are moving backwards." + : "You are on the road."; + String[] lines = { + "Range remaining: " + fmt(v.rangeKm, "%.0f km", "—") + ".", + "Odometer: " + fmt(v.odometerKm, "%,.0f km", "—") + ".", + state, + }; + for (int i = 0; i < lines.length; i++) { + outlined(c, lines[i], l + 14f * u, t + (38f + i * 40f) * u, 21f * u, SYSTEM, sans, Paint.Align.LEFT, u); + } + } + + // ---------- Action bar and experience ---------- + + private void drawActionBar(Canvas c, float w, float h, float u) { + String[] gears = { "P", "R", "N", "D" }; + String now = Gear.label(v.gear); + float s = 64f * u, gap = 8f * u, total = gears.length * s + (gears.length - 1) * gap; + float x = (w - total) / 2f, top = h - 104f * u; + panel(c, x - 12f * u, top - 10f * u, x + total + 12f * u, top + s + 10f * u, u); + for (int i = 0; i < gears.length; i++) { + boolean on = gears[i].equals(now); + r.set(x, top, x + s, top + s); + fill.setColor(on ? 0xFF3A2A12 : 0xFF141414); + c.drawRect(r, fill); + line.setColor(on ? YELLOW : GOLD_DARK); + line.setStrokeWidth((on ? 4f : 2f) * u); + c.drawRect(r, line); + outlined(c, gears[i], x + s / 2f, top + s * 0.72f, 36f * u, on ? YELLOW : 0xFF9A9A9A, serif, + Paint.Align.CENTER, u); + outlined(c, String.valueOf(i + 1), x + s - 6f * u, top + 16f * u, 13f * u, 0xFFD0D0D0, sans, + Paint.Align.RIGHT, u); + x += s + gap; + } + } + + /** The odometer as experience: a level per 1000 km, the bar the way through this one. */ + private void drawXp(Canvas c, float w, float h, float u) { + float l = 22f * u, rr = w - 22f * u, t = h - 26f * u, b = h - 10f * u; + r.set(l, t, rr, b); + fill.setColor(0xFF0A0A0A); + c.drawRect(r, fill); + String label = "—"; + if (v.odometerKm != null) { + float into = v.odometerKm % 1000f; + r.set(l, t, l + (rr - l) * into / 1000f, b); + fill.setColor(XP); + c.drawRect(r, fill); + label = String.format(Locale.US, "Level %d · %.0f / 1000 km", (int) (v.odometerKm / 1000f) + 1, into); + } + line.setColor(GOLD_DARK); + line.setStrokeWidth(1.5f * u); + for (int i = 1; i < 20; i++) { + float x = l + (rr - l) * i / 20f; + c.drawLine(x, t, x, b, line); + } + c.drawRect(l, t, rr, b, line); + outlined(c, label, w / 2f, b - 3f * u, 13f * u, 0xFFFFFFFF, sans, Paint.Align.CENTER, u); + } +} diff --git a/app/src/main/java/com/evsuite/abrp/Segments14.java b/app/src/main/java/com/evsuite/abrp/Segments14.java new file mode 100644 index 0000000..8771fb2 --- /dev/null +++ b/app/src/main/java/com/evsuite/abrp/Segments14.java @@ -0,0 +1,77 @@ +package com.evsuite.abrp; + +/** + * Fourteen-segment letters, as on the time circuits the Time circuits style is drawn after: the + * months and the gear words. Pure Java so it can be tested off the car. + * + * Segments as bits: the outer seven like {@link SevenSegment} (a top, b upper right, c lower + * right, d bottom, e lower left, f upper left), the middle bar in two halves (g1 left, g2 + * right), and the inner six: h from the upper left corner to the centre, i up the middle, j to + * the upper right corner, k to the lower left, l down the middle, m to the lower right. + */ +final class Segments14 { + + static final int A = 1, B = 2, C = 4, D = 8, E = 16, F = 32, G1 = 64, G2 = 128, + H = 256, I = 512, J = 1024, K = 2048, L = 4096, M = 8192; + + private Segments14() {} + + /** The segments a letter, digit or '-' lights; anything else (a space) lights none. */ + static int mask(char ch) { + switch (Character.toUpperCase(ch)) { + case 'A': return A | B | C | E | F | G1 | G2; + case 'B': return A | B | C | D | I | L | G2; + case 'C': return A | D | E | F; + case 'D': return A | B | C | D | I | L; + case 'E': return A | D | E | F | G1 | G2; + case 'F': return A | E | F | G1; + case 'G': return A | C | D | E | F | G2; + case 'H': return B | C | E | F | G1 | G2; + case 'I': return A | D | I | L; + case 'J': return B | C | D | E; + case 'K': return E | F | G1 | J | M; + case 'L': return D | E | F; + case 'M': return B | C | E | F | H | J; + case 'N': return B | C | E | F | H | M; + case 'O': return A | B | C | D | E | F; + case 'P': return A | B | E | F | G1 | G2; + case 'R': return A | B | E | F | G1 | G2 | M; + case 'S': return A | C | D | F | G1 | G2; + case 'T': return A | I | L; + case 'U': return B | C | D | E | F; + case 'V': return E | F | J | K; + case 'W': return B | C | E | F | K | M; + case 'Y': return H | J | L; + case '0': return A | B | C | D | E | F | J | K; + case '1': return B | C; + case '2': return A | B | D | E | G1 | G2; + case '3': return A | B | C | D | G2; + case '4': return B | C | F | G1 | G2; + case '5': return A | C | D | F | G1 | G2; + case '6': return A | C | D | E | F | G1 | G2; + case '7': return A | B | C; + case '8': return A | B | C | D | E | F | G1 | G2; + case '9': return A | B | C | D | F | G1 | G2; + case '-': return G1 | G2; + default: return 0; + } + } + + /** The three-letter month as the time circuits show it: JAN … DEC; "---" out of range. */ + static String month(int month0) { + String[] m = { "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" }; + return month0 >= 0 && month0 < 12 ? m[month0] : "---"; + } + + /** The gear as a three-letter word for the time circuits: PRK, REV, NTL, DRV; "---" unread. */ + static String gearWord(Integer gear) { + if (gear == null) return "---"; + switch (gear) { + case 1: return "PRK"; + case 2: return "REV"; + case 3: return "NTL"; + case 4: return "DRV"; + default: return "---"; + } + } +} diff --git a/app/src/main/java/com/evsuite/abrp/StylePalette.java b/app/src/main/java/com/evsuite/abrp/StylePalette.java index fccedfe..4b1162a 100644 --- a/app/src/main/java/com/evsuite/abrp/StylePalette.java +++ b/app/src/main/java/com/evsuite/abrp/StylePalette.java @@ -19,6 +19,8 @@ final class StylePalette { case CARTOON: return R.style.ThemeOverlay_EV_Style_Cartoon; case NIXIE: return R.style.ThemeOverlay_EV_Style_Nixie; case GRID: return R.style.ThemeOverlay_EV_Style_Grid; + case TIME_CIRCUITS: return R.style.ThemeOverlay_EV_Style_TimeCircuits; + case QUEST: return R.style.ThemeOverlay_EV_Style_Quest; default: return 0; } } diff --git a/app/src/main/java/com/evsuite/abrp/TimeCircuitsView.java b/app/src/main/java/com/evsuite/abrp/TimeCircuitsView.java new file mode 100644 index 0000000..bb39728 --- /dev/null +++ b/app/src/main/java/com/evsuite/abrp/TimeCircuitsView.java @@ -0,0 +1,404 @@ +package com.evsuite.abrp; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.LinearGradient; +import android.graphics.Paint; +import android.graphics.RectF; +import android.graphics.Shader; +import android.graphics.Typeface; +import android.os.SystemClock; + +import java.util.Calendar; +import java.util.Locale; + +/** + * The Time circuits Overview style, after the time machine in Back to the Future: three rows of + * LED read-outs in a metal panel, labelled with embossed tape, a red speed display and a flux + * capacitor. + * + * The rows keep the film's look, each in its colour: red "DESTINATION" — the gear as a word + * (DRV, REV, NTL, PRK), the charge, the range (where you can still get to), power or + * regeneration on the lamps, and the usage over 5 minutes; green "PRESENT TIME" — today's date + * and time; amber "LAST TIME DEPARTED" — when the car last left P, dashes until it has been seen + * to. Right, the speed in large red digits and the flux capacitor, whose light runs to its + * centre faster with more power and outwards while regenerating; at 88 km/h it flashes. Along + * the bottom, trip, usage since start, climate and odometer. Unread values show dashes and light + * nothing. It animates (about 30 frames a second) only while there is power to show or at 88, + * and only on screen. + */ +final class TimeCircuitsView extends ClusterCanvasView { + + private static final int RED = 0xFFFF3A26, GREEN = 0xFF3DFF5A, AMBER = 0xFFFFA726, WHITE_HOT = 0xFFFFF4D6; + + private final Paint line = new Paint(Paint.ANTI_ALIAS_FLAG); + private final Paint fill = new Paint(Paint.ANTI_ALIAS_FLAG); + private final Paint text = new Paint(Paint.ANTI_ALIAS_FLAG); + private final Paint metal = new Paint(Paint.ANTI_ALIAS_FLAG); + private final RectF r = new RectF(); + private final Typeface tape = Typeface.create("sans-serif-condensed", Typeface.BOLD); + private int metalFor = -1; + + /** When the car last left P, wall clock; 0 until that has been seen. */ + private long departedAt; + private Integer lastGear; + private float fluxPhase; + private long lastFrame; + + TimeCircuitsView(Context context) { + super(context); + line.setStyle(Paint.Style.STROKE); + line.setStrokeCap(Paint.Cap.ROUND); + } + + @Override + void setValues(ClusterValues values) { + // Readings arrive whether or not the style is shown, so the departure is never missed. + Integer gear = values == null ? null : values.gear; + if (gear != null && lastGear != null && lastGear == 1 && gear != 1) { + departedAt = System.currentTimeMillis(); + } + if (gear != null) lastGear = gear; + super.setValues(values); + } + + @Override + protected void onDraw(Canvas c) { + super.onDraw(c); + float w = getWidth(), h = getHeight(); + if (w <= 0 || h <= 0) return; + float u = Math.min(h / 640f, w / 1100f); + advance(); + c.drawColor(0xFF050505); + + float split = w * 0.64f; + drawPanel(c, 12f * u, 10f * u, split - 6f * u, h - 10f * u, u); + float rowLeft = 34f * u, rowRight = split - 24f * u; + drawCarRow(c, rowLeft, rowRight, 22f * u, u); + drawTimeRow(c, rowLeft, rowRight, 170f * u, u, GREEN, "PRESENT TIME", System.currentTimeMillis()); + drawTimeRow(c, rowLeft, rowRight, 318f * u, u, AMBER, "LAST TIME DEPARTED", departedAt); + drawBottom(c, rowLeft, rowRight, 470f * u, u); + + drawPanel(c, split + 6f * u, 10f * u, w - 12f * u, h - 10f * u, u); + drawSpeed(c, split + 28f * u, w - 28f * u, 26f * u, u); + drawFlux(c, split + 28f * u, w - 28f * u, 262f * u, h - 26f * u, u); + + boolean moving = (v.powerKw != null && Math.abs(v.powerKw) > 0.5f) || at88(); + keepAnimating(moving, 33); + } + + private boolean at88() { + return v.speedKmh != null && v.speedKmh >= 88f; + } + + private void advance() { + long now = SystemClock.uptimeMillis(); + float dt = lastFrame == 0 ? 0f : Math.min(0.2f, (now - lastFrame) / 1000f); + lastFrame = now; + if (v.powerKw != null) fluxPhase = (fluxPhase + v.powerKw * 0.025f * dt + 1000f) % 1f; + } + + // ---------- Panels and tape ---------- + + private void drawPanel(Canvas c, float l, float t, float rr, float b, float u) { + if (metalFor != (int) (b - t)) { + metal.setShader(new LinearGradient(0, t, 0, b, 0xFF2C2D31, 0xFF18191B, Shader.TileMode.CLAMP)); + metalFor = (int) (b - t); + } + r.set(l, t, rr, b); + c.drawRoundRect(r, 10f * u, 10f * u, metal); + line.setColor(0xFF45464B); + line.setStrokeWidth(2f * u); + c.drawRoundRect(r, 10f * u, 10f * u, line); + fill.setColor(0xFF5A5B60); + for (float x : new float[] { l + 14f * u, rr - 14f * u }) { + for (float y : new float[] { t + 14f * u, b - 14f * u }) c.drawCircle(x, y, 4f * u, fill); + } + } + + /** Embossed label tape: black, raised white capitals, centred on x. */ + private void tape(Canvas c, String s, float x, float y, float u, int tint) { + text.setTypeface(tape); + text.setTextSize(18f * u); + text.setLetterSpacing(0.18f); + text.setTextAlign(Paint.Align.CENTER); + float tw = text.measureText(s); + r.set(x - tw / 2f - 14f * u, y - 18f * u, x + tw / 2f + 14f * u, y + 7f * u); + fill.setColor(tint); + c.drawRoundRect(r, 4f * u, 4f * u, fill); + fill.setColor(0x22FFFFFF); + c.drawRect(r.left + 4f * u, r.top + 3f * u, r.right - 4f * u, r.top + 5f * u, fill); + text.setColor(0xFFF2F2F2); + c.drawText(s, x, y, text); + text.setLetterSpacing(0f); + } + + /** A small caption above a field. */ + private void caption(Canvas c, String s, float x, float y, float u) { + text.setTypeface(tape); + text.setTextSize(13f * u); + text.setLetterSpacing(0.12f); + text.setTextAlign(Paint.Align.CENTER); + text.setColor(0xFFBFC1C6); + c.drawText(s, x, y, text); + text.setLetterSpacing(0f); + } + + // ---------- Rows ---------- + + /** The cells of one field: 'a' alphanumeric (fourteen segments), 'n' digits, 'l' lamps, ':' colon. */ + private static final class Field { + final char kind; + final int cells; + final String caption; + + Field(char kind, int cells, String caption) { + this.kind = kind; + this.cells = cells; + this.caption = caption; + } + } + + private static final Field[] CAR = { + new Field('a', 3, "GEAR"), new Field('n', 3, "CHARGE %"), new Field('n', 4, "RANGE KM"), + new Field('l', 0, ""), new Field('n', 3, "USAGE"), + }; + private static final Field[] TIME = { + new Field('a', 3, "MONTH"), new Field('n', 2, "DAY"), new Field('n', 4, "YEAR"), + new Field('l', 0, ""), new Field('n', 2, "HOUR"), new Field(':', 0, ""), new Field('n', 2, "MIN"), + }; + + private void drawCarRow(Canvas c, float left, float right, float top, float u) { + String charge = v.socPercent == null ? "---" : String.format(Locale.US, "%3.0f", v.socPercent).replace(' ', '0'); + String range = v.rangeKm == null ? "----" : String.format(Locale.US, "%04.0f", Math.min(9999f, v.rangeKm)); + String usage = v.usage5Min == null ? "---" : String.format(Locale.US, "%.1f", Math.min(99.9, Math.abs(v.usage5Min))); + boolean regen = v.powerKw != null && v.powerKw < -0.5f, power = v.powerKw != null && v.powerKw > 0.5f; + drawRow(c, left, right, top, u, RED, "DESTINATION", CAR, + new String[] { Segments14.gearWord(v.gear), charge, range, null, usage }, + new String[] { "POWER", "REGEN" }, new boolean[] { power, regen }); + } + + private void drawTimeRow(Canvas c, float left, float right, float top, float u, int colour, String title, long when) { + String[] values; + boolean[] lamps = { false, false }; + if (when <= 0) { + values = new String[] { "---", "--", "----", null, "--", null, "--" }; + } else { + Calendar cal = Calendar.getInstance(); + cal.setTimeInMillis(when); + int hour = cal.get(Calendar.HOUR_OF_DAY); + values = new String[] { Segments14.month(cal.get(Calendar.MONTH)), + String.format(Locale.US, "%02d", cal.get(Calendar.DAY_OF_MONTH)), + String.format(Locale.US, "%04d", cal.get(Calendar.YEAR)), null, + String.format(Locale.US, "%02d", hour), null, + String.format(Locale.US, "%02d", cal.get(Calendar.MINUTE)) }; + lamps = new boolean[] { hour < 12, hour >= 12 }; + } + drawRow(c, left, right, top, u, colour, title, TIME, values, new String[] { "AM", "PM" }, lamps); + } + + private void drawRow(Canvas c, float left, float right, float top, float u, int colour, String title, + Field[] fields, String[] values, String[] lampNames, boolean[] lampsOn) { + float boxTop = top + 22f * u, boxH = 78f * u, gap = 14f * u, pad = 8f * u; + float lampW = 74f * u, colonW = 16f * u; + int cells = 0; + float fixed = 0; + for (Field f : fields) { + cells += f.cells; + if (f.kind == 'l') fixed += lampW; + else if (f.kind == ':') fixed += colonW; + else fixed += 2 * pad; + } + fixed += gap * (fields.length - 1); + float cw = Math.min(boxH * 0.58f, (right - left - fixed) / cells); + float total = cells * cw + fixed, x = left + (right - left - total) / 2f; + for (int i = 0; i < fields.length; i++) { + Field f = fields[i]; + if (f.kind == 'l') { + drawLamps(c, x, boxTop, lampW, boxH, u, colour, lampNames, lampsOn); + x += lampW + gap; + continue; + } + if (f.kind == ':') { + fill.setColor(colour); + c.drawCircle(x + colonW / 2f, boxTop + boxH * 0.36f, 3.5f * u, fill); + c.drawCircle(x + colonW / 2f, boxTop + boxH * 0.64f, 3.5f * u, fill); + x += colonW + gap; + continue; + } + float bw = f.cells * cw + 2 * pad; + r.set(x, boxTop, x + bw, boxTop + boxH); + fill.setColor(0xFF020202); + c.drawRoundRect(r, 4f * u, 4f * u, fill); + line.setColor(0xFF5C5D62); + line.setStrokeWidth(2f * u); + c.drawRoundRect(r, 4f * u, 4f * u, line); + caption(c, f.caption, x + bw / 2f, top + 14f * u, u); + drawText(c, values[i], f.kind == 'a', x + pad, boxTop + 8f * u, cw, boxH - 16f * u, f.cells, colour, u); + x += bw + gap; + } + tape(c, title, (left + right) / 2f, boxTop + boxH + 34f * u, u, 0xFF0E0E0F); + } + + private void drawLamps(Canvas c, float x, float top, float w, float h, float u, int colour, + String[] names, boolean[] on) { + for (int k = 0; k < 2; k++) { + float cy = top + h * (k == 0 ? 0.3f : 0.72f), cx = x + w - 16f * u; + caption(c, names[k], x + 22f * u, cy + 5f * u, u); + fill.setColor(on[k] ? AccentColor.withAlpha(colour, 0x55) : 0x00000000); + c.drawCircle(cx, cy, 11f * u, fill); + fill.setColor(on[k] ? colour : AccentColor.withAlpha(colour, 0x30)); + c.drawCircle(cx, cy, 6f * u, fill); + } + } + + // ---------- Segments ---------- + + /** Right-aligned text in cells; a '.' joins the cell before it. */ + private void drawText(Canvas c, String s, boolean alpha, float x, float y, float cw, float ch, + int cells, int colour, float u) { + char[] chars = SevenSegment.cells(s == null ? "" : s, cells); + boolean[] dots = SevenSegment.dots(s == null ? "" : s, cells); + for (int i = 0; i < cells; i++) { + int mask = alpha ? Segments14.mask(chars[i]) : from7(SevenSegment.mask(chars[i])); + drawCell(c, x + i * cw, y, cw, ch, mask, alpha, colour, u); + if (dots[i]) { + fill.setColor(colour); + c.drawCircle(x + (i + 1) * cw - cw * 0.06f, y + ch - cw * 0.1f, cw * 0.07f, fill); + } + } + } + + /** Seven-segment bits as fourteen-segment ones (the middle bar is both halves). */ + private static int from7(int m) { + int out = m & 63; // a–f share their bits + if ((m & SevenSegment.G) != 0) out |= Segments14.G1 | Segments14.G2; + return out; + } + + private void drawCell(Canvas c, float x, float y, float cw, float ch, int mask, boolean alpha, int colour, float u) { + float m = cw * 0.16f, t = cw * 0.12f; + float x0 = x + m, x1 = x + cw - m, xc = (x0 + x1) / 2f, y0 = y + t, y1 = y + ch - t, ym = (y0 + y1) / 2f; + float[][] segs = { + { x0, y0, x1, y0, Segments14.A }, { x1, y0, x1, ym, Segments14.B }, { x1, ym, x1, y1, Segments14.C }, + { x0, y1, x1, y1, Segments14.D }, { x0, ym, x0, y1, Segments14.E }, { x0, y0, x0, ym, Segments14.F }, + { x0, ym, xc, ym, Segments14.G1 }, { xc, ym, x1, ym, Segments14.G2 }, + { x0, y0, xc, ym, Segments14.H }, { xc, y0, xc, ym, Segments14.I }, { x1, y0, xc, ym, Segments14.J }, + { x0, y1, xc, ym, Segments14.K }, { xc, ym, xc, y1, Segments14.L }, { x1, y1, xc, ym, Segments14.M }, + }; + for (float[] s : segs) { + int bit = (int) s[4]; + if (!alpha && bit >= Segments14.H) continue; // digits have no inner segments + boolean on = (mask & bit) != 0; + float dx = s[2] - s[0], dy = s[3] - s[1], len = (float) Math.hypot(dx, dy); + float g = Math.min(t * 0.8f, len * 0.3f), ux = dx / len * g, uy = dy / len * g; + float ax = s[0] + ux, ay = s[1] + uy, bx = s[2] - ux, by = s[3] - uy; + if (on) { + line.setColor(AccentColor.withAlpha(colour, 0x38)); + line.setStrokeWidth(t * 2.4f); + c.drawLine(ax, ay, bx, by, line); + } + line.setColor(on ? colour : AccentColor.withAlpha(colour, 0x1C)); + line.setStrokeWidth(bit >= Segments14.H ? t * 0.8f : t); + c.drawLine(ax, ay, bx, by, line); + } + } + + // ---------- Bottom read-outs ---------- + + private void drawBottom(Canvas c, float left, float right, float top, float u) { + String[][] cells = { + { "TRIP KM", fmt(v.tripKm, "%.1f", "---"), "5" }, + { "SINCE START", fmt(v.usageTrip, "%.1f", "---"), "4" }, + { "CLIMATE °C", fmt(v.climateCelsius, "%.0f", "--"), "3" }, + { "ODOMETER KM", fmt(v.odometerKm, "%.0f", "------"), "6" }, + }; + float gap = 18f * u, boxH = 62f * u, boxTop = top + 22f * u, pad = 8f * u; + int total = 0; + for (String[] cell : cells) total += Integer.parseInt(cell[2]); + float cw = Math.min(boxH * 0.55f, (right - left - gap * (cells.length - 1) - cells.length * 2 * pad) / total); + float width = total * cw + gap * (cells.length - 1) + cells.length * 2 * pad; + float x = left + (right - left - width) / 2f; + for (String[] cell : cells) { + int n = Integer.parseInt(cell[2]); + float bw = n * cw + 2 * pad; + r.set(x, boxTop, x + bw, boxTop + boxH); + fill.setColor(0xFF020202); + c.drawRoundRect(r, 4f * u, 4f * u, fill); + line.setColor(0xFF5C5D62); + line.setStrokeWidth(2f * u); + c.drawRoundRect(r, 4f * u, 4f * u, line); + caption(c, cell[0], x + bw / 2f, top + 14f * u, u); + drawText(c, cell[1], false, x + pad, boxTop + 7f * u, cw, boxH - 14f * u, n, AMBER, u); + x += bw + gap; + } + } + + // ---------- Speed and flux capacitor ---------- + + private void drawSpeed(Canvas c, float left, float right, float top, float u) { + float boxH = 168f * u, cells = 3; + float cw = Math.min(boxH * 0.56f, (right - left - 40f * u) / cells); + float bw = cells * cw + 40f * u, x = (left + right - bw) / 2f; + r.set(x, top, x + bw, top + boxH); + fill.setColor(0xFF020202); + c.drawRoundRect(r, 6f * u, 6f * u, fill); + line.setColor(0xFF5C5D62); + line.setStrokeWidth(2.5f * u); + c.drawRoundRect(r, 6f * u, 6f * u, line); + String speed = v.speedKmh == null ? "---" : String.format(Locale.US, "%.0f", Math.min(999f, v.speedKmh)); + // At 88 the digits burn white-hot, and flicker. + boolean hot = at88() && (SystemClock.uptimeMillis() / 90) % 3 != 0; + drawText(c, speed, false, x + 20f * u, top + 14f * u, cw, boxH - 28f * u, 3, hot ? WHITE_HOT : RED, u); + tape(c, at88() ? "88 KM/H — HOLD ON" : "KM/H", (left + right) / 2f, top + boxH + 34f * u, u, 0xFF0E0E0F); + } + + /** Three glass tubes in a Y, light running to the centre with the power (outwards in regen). */ + private void drawFlux(Canvas c, float left, float right, float top, float bottom, float u) { + float labelSpace = 70f * u, boxBottom = bottom - labelSpace; + float size = Math.min(right - left, boxBottom - top); + float cx = (left + right) / 2f, bx = cx - size / 2f; + r.set(bx, top, bx + size, boxBottom); + fill.setColor(0xFF0B0C0E); + c.drawRoundRect(r, 8f * u, 8f * u, fill); + line.setColor(0xFF6A6B70); + line.setStrokeWidth(3f * u); + c.drawRoundRect(r, 8f * u, 8f * u, line); + float cy = top + (boxBottom - top) * 0.52f, inset = size * 0.14f; + float[][] ends = { { bx + inset, top + inset }, { bx + size - inset, top + inset }, { cx, boxBottom - inset } }; + boolean flash = at88(); + boolean live = v.powerKw != null; + float strength = live ? Math.min(1f, Math.abs(v.powerKw) / 60f) : 0f; + for (float[] e : ends) { + line.setColor(0xFF2A2C30); + line.setStrokeWidth(16f * u); + c.drawLine(e[0], e[1], cx, cy, line); + line.setColor(flash ? WHITE_HOT : AccentColor.withAlpha(WHITE_HOT, live ? 0x40 + (int) (0x60 * strength) : 0x18)); + line.setStrokeWidth(5f * u); + c.drawLine(e[0], e[1], cx, cy, line); + if (live && Math.abs(v.powerKw) > 0.5f) { + // Pulses along the tube: phase 0 at the end, 1 at the centre. + for (int k = 0; k < 4; k++) { + float p = (fluxPhase + k / 4f) % 1f; + float px = e[0] + (cx - e[0]) * p, py = e[1] + (cy - e[1]) * p; + fill.setColor(AccentColor.withAlpha(WHITE_HOT, 0x50)); + c.drawCircle(px, py, 12f * u, fill); + fill.setColor(WHITE_HOT); + c.drawCircle(px, py, 5f * u, fill); + } + } + fill.setColor(0xFF6A6B70); + c.drawCircle(e[0], e[1], 12f * u, fill); + } + fill.setColor(AccentColor.withAlpha(WHITE_HOT, flash ? 0xA0 : live ? 0x30 + (int) (0x70 * strength) : 0x14)); + c.drawCircle(cx, cy, 34f * u, fill); + fill.setColor(flash || (live && strength > 0.05f) ? WHITE_HOT : 0xFF3A3B40); + c.drawCircle(cx, cy, 13f * u, fill); + + tape(c, "FLUX CAPACITOR", cx, boxBottom + 30f * u, u, 0xFF0E0E0F); + String power = !live ? "— KILOWATTS" + : v.powerKw < -0.5f ? String.format(Locale.US, "REGEN %.1f KILOWATTS", -v.powerKw) + : String.format(Locale.US, "%.1f KILOWATTS", v.powerKw); + tape(c, power, cx, boxBottom + 62f * u, u, 0xFF5A1410); + } +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f43e939..9be172b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -136,6 +136,8 @@ Terminal Original Grid + Time circuits + Quest Nixie tubes Chronograph BATTERY diff --git a/app/src/main/res/values/style_palettes.xml b/app/src/main/res/values/style_palettes.xml index 435f815..c419775 100644 --- a/app/src/main/res/values/style_palettes.xml +++ b/app/src/main/res/values/style_palettes.xml @@ -64,4 +64,24 @@ #80267A86 #1E6672 + + + + diff --git a/app/src/test/java/com/evsuite/abrp/Segments14Test.java b/app/src/test/java/com/evsuite/abrp/Segments14Test.java new file mode 100644 index 0000000..5af001b --- /dev/null +++ b/app/src/test/java/com/evsuite/abrp/Segments14Test.java @@ -0,0 +1,39 @@ +package com.evsuite.abrp; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; + +import org.junit.Test; + +/** The time circuits' fourteen-segment letters — pure JVM. */ +public class Segments14Test { + + @Test + public void everyMonthAndGearWordLightsEveryLetter() { + for (int m = 0; m < 12; m++) { + for (char ch : Segments14.month(m).toCharArray()) assertNotEquals(ch + "", 0, Segments14.mask(ch)); + } + for (int g = 1; g <= 4; g++) { + for (char ch : Segments14.gearWord(g).toCharArray()) assertNotEquals(ch + "", 0, Segments14.mask(ch)); + } + } + + @Test + public void unreadIsDashes() { + assertEquals("---", Segments14.gearWord(null)); + assertEquals("---", Segments14.gearWord(9)); + assertEquals("---", Segments14.month(12)); + assertEquals(Segments14.G1 | Segments14.G2, Segments14.mask('-')); + assertEquals(0, Segments14.mask(' ')); + } + + @Test + public void wordsAsTheCircuitsShowThem() { + assertEquals("OCT", Segments14.month(9)); + assertEquals("DRV", Segments14.gearWord(4)); + assertEquals("PRK", Segments14.gearWord(1)); + // The letters that need the diagonals do use them. + assertNotEquals(0, Segments14.mask('N') & Segments14.H); + assertNotEquals(0, Segments14.mask('V') & Segments14.K); + } +} diff --git a/screenshots/themes/quest-panel.png b/screenshots/themes/quest-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..8696cc6652e77e34853322d3a293d593855f9d10 GIT binary patch literal 41976 zcmX`SbwE_l7dO1i(%l`>N_WT7(jtO10)k5mEL{srON!F5fYQy209efUpobpm@v9&J z0BHV9?}Y|A9m_)x?IS({0zzV19%4!cGDbdTK3O0TKuShVL`*`%E=tcWNy{nDz#~OS zNgTdVOiJ4Zth%mN=t5rG4#y{3~c#S znBQNr^(>xe9P~2$_!B98Hj%!c!^5QNF3JIo#NtPMGKkC8j$7;hw1y?J6Ljyns^D6| z;(wpm()_06^hV0ziAK&ZR^`BRRrdpBeD)|lbCPfze0FREg(^M}5=D-Mdgug5{QnQC z07mvGa+oGQJ0OW%6%B~E>!>^TFWsG{@0&k2mvJhpPBz} zR5KPA8ttsifgn3`WDc*bRIE=Vg~4VIp|$zOrl$SoFcs_`DC0xnC4`zc1KM}AQJT1mF(;1zqvId>| znILm`4L5r@6j|&tG$?F6m46F?{V5m9=}~7@e~ABMJ0UAP)cC`DVotC#y4@yx)+~;^ zbgN51XEH5Vn$$czXz^n}V8%EBkggLljiDk7;+?K?Ei zJDt&VrO~n&*XPqYM+^M0Td|Qjl)%m-?gsboe`AwH=FWG_Mj8&(8I)M7W1VSl6h^F~ z+e*_PuR}+lEywb>tw^1Q0+)3EU}=4aDe2ZKQ9!O{79mKDBu$5A5IZzam$|ko7aLg| z!vh=%WVp647X8}z=a)IF(Wi#uCmxz70}8M0eh#*nI&=xB8QZawS=)H~wAY5Pmd(w2 zHA%c+_QJl1^RUemJf~^s`x>f`vQ7F8uogt@4V+V4=Yw5G&d*-8w7t1)C|`N=?z`LD zB@Zm;sAMrgZE8)he1bdbICtBeRxT%-j$7E9hxL-wkSK-6NiN~WE@P|f7vY#)pbFDx z!*t(_OlVBe3snm6o~T`I9A|)0n}OgcVZoclmYo;SGDYB$IT?xubS=>Sj~cP?+UMR* zDIxMpBhLp%92JS26|v_X5#dAlEM?=AkVeUUC(+@~z+#lZ$hYTF96tm*akTXz{yrv) zmr6!8Cm(u-CN4jeIv)B2{&I;-R%CA--Fapylo-%%cJ@QR2^|x4Q2?v0!$T(kt!I*M zK})RUqa|N*LM)}O&f6p#ipLKO>61`tpnO`M1`Dq3*NuC$ODB0fHFdCa92C^JV9(wt zr{`p`nu*aSqhs4c+F_4CPLQzQO#4L0-z74L+pa+CLexAbXxpuoJNclFOTw)r2h3z? zTQlJ*wLJB`S~-QsHRb!NfMxQ8cO8vly?JK@xm;rgSeh{zVDW%Yp!D#t0vXA5i`n`s z3$>EJtw`s{tpv5%pupD0JLH+L(Shv(fJL63fLGM#wpa^%#0K&hBO|O6(UR$;mj?F4 zbKys^bXS6H-9vSgTY`ez6_sBx zKNebK*a~Z&e?o);Tv!Ja`fmA$Y3PyxRUjgxo$wp`Alp21n445s{{kPgK?(g0Q<|(h z$Avb@wiV)GtrDy;_vC>sSSb|+aM3SkF2f0-$AZF?E)Q?033j0B^pSG z+KRW6*YHL)8OG%1jQk77s`>dYieM?+4Mm}rEBsQ*%0$2`bxM>)I73E>6gpPRhsw01 zEAqz;8aefZ+HkU%pR^e<7yJGV5d8vTW;qAc#F$IJiSIx0psni44aCjP^RWq{MCVvi zhX@p;7*T=g^2*GsC&Br#j?NR1ypxO>eYNH}h#a>6P^edUPKh`xoksPghV(Yny9nB+ zdp%^VM2e|%jWPjs^hhIm1z54irgh~8$F?Eb?KEZ(YjQFCBvQG-KaS=xJ?le;P$u4! zC%+uKtm4g-HrxN$)I2HOdA}W~Fy+EJrhCX!5YX7(t7hYL{kw9RDZBFk^#oKw=4~w&KT1 zb|vIQ+MYjQ)3e9f7i0AQwTkG3<+Ub4Ec?u$;o{5_4)3|Z8(tlZ80 zwE(uDbWc*CG7=!IemngQ&dkz?I!O}CD9k-+{(7?hVcN~Zs*-XLi3if8!W@KzU0BnO z7j|C#)4Jcb_Y;Fi=jQTKNf&P#rq;nN^G!W~XhD+el6W)YyU*g{CLhhh7@xR%&i){t7ftE6inMoc5erQV;A)TR zIbTI%_oXh{q=~J|GzeocZyH{a#>S)L`hke#PNM$6JH=G$;WTroE}NL>Gu;aKk&o&% z7C4+4eQxg&nrpWAch2!{Pp&RWs#|iLld%{?r`l>k@GeqRh^m;AHDB0C+1Z=6F0C#1 zzU`owQZ|&=MwDXl_ENSJ0z#7kmu%uTlg@U1e*N1SA#MKmKtVKgPzmM{2w-FpAA<*1 zG<|9Bm5e}2T;FZDvV@DF_zPbu1lQ?}2@7iFZX`J-A4{w58N-#r-0P$)k^bG5VQ&%$ z7>it{-3tG8H9g&4(Hk}FycOjwsp-7a?lc!g*iKxXI3_Bypf{Q1dMD28xoS^qOr?KK zk1#!-bBRlC!LLck$efrObZ6|>pM1$?Ub-~tkcC*lXR%BYezySO*jl?|q7uL0qVy#G z8^Lz(f!L(FEyxut)NPB0uIK)eh#jDMR~Lgk-Ce=HR{b?rwYfcOTqf=5vfDWpJzcnL zpkH8I`$FbZjhLzBWQJBS(fm30uyNtG6=4nAYGD!qBbgHvdfOck$1{C#<$kX?(rcN% zx^{PTuZ+4j>r#zSq_N1KT%NVrbGxh!NH2O6*Z=nzI%ywHjZHSN*^7@U9nW4 zlTqqmF5c%hC-=&Ex9%%_5yOvtW9@&CK6t)(Q-gj8v-jFLR|BH{K-W?dcDS z4`wH6vS+j}w~2mS{OXU|FU#IRFP=VI8Bo}EM;iHtU!{D!9`Z z?Tbfr;F1oAL$tfum2CESX_W5+`Gwl@{(ZHpaniry-p|)Dn$2*umYQS429EtZQ zFb{@&VniVQIJ|~tt=M2m4}Zic^~M!&eW3`PCwi8r?D_LeIgQ`O2Q}LXvV)URD52#G zD_^O6sZu`Q3FDekuP$+82j(H73cShj9b=zoaobXc&?=KRbj(oRFS20Q#~=thEQv<*WjdE2fWOAo2yHcv8SNyMlWS%J+e)0Zg_rQR zp9yXbL>)o}+zI;fc223qNZrLsU|T^Y0|JRs{gHP5>w0G2`o3Y(qsRP}RN;0;MER`! zZH8_>t7Onna_lKREi!?Y_2yVm)W5w+GJh0{?ugOC&L>zYQZqt8^=ExCV-yOP?ZjMC z?x`&STAZTwbule%rg%^=_}b$11zoC{b^@(vw*iU2t~@+M4Yp8x$nbP6sA-S ziG?2Wx)tC-q3dGk*u;Wh*^t4J8(BXuRGiuC5)<9gc%EvO1c3Fpo5-v-Ke8Ma9Ybv) zk+!q}--OXx79`@lU8XVm(#ZR+a2N-p!K8ts`bJubij2jS5O_KCp4ei%G$~%(3yFKOiUXLt;pH<}VDC{*zab>Tb;DM+Uz8N<2W2ij}kZJr<*@$}39nDQ;267MBJs$aB1``P zlBd$8>VMXD_8+N{{(1nwVdK^$s29S~UgfV%W7Pv@{}rFbHE=NXS(Xhq0pUfrU?sq6GoB!E538V{stT zW}5`$u}hy^^Ji{u^3`wAJ-rvLZYg3LpY*Z~nMVuv5 zC?`m08B+J{R328Vq=5ZRV=S~cDeT3A({)s;Hsx9A>P9&Q6o@dmM1@fx^uJ<7z*}gU zG1&rihp#Ce+gorD@09*Ji$9#thVW(ji;mh1+EBzba+BlgYe6O1d?Sz0&mNs+C6+a9 z|AY{mOKi&>gWKv#Qo~Mp!v@s05ZTEk3Nq@C7sA#opI&5cTq%M<#i1;l*JmM7F|L_} zWBw0f@PTuxJ{w16FoLd?QOGrXoITC2!%ytl{xvpP?JSO6hke2mFhtc`Q2$VQv^fOaA z+lwlBK+a>>(fgmW_zg2Wm@5NPi(=nCz|1;j5$7vTY-IVDJUe^{#cA5x4iSP58QM(l z@3N6?|jg@m~1) zoBX($WF-`UJIOHy`h>Kk(p1MB$-!bC%e^U>|!q(g(^B=sT zzaD%@ttZX7j)`>t_s%H~EGDDVO@44*7Gprl==?E<+PnQZ@HxNzXGaZdX6Ll}Vhbsb z`&n6VA&s@s=goMd;pG%I)9zNuTz9d@tfL@ke~xPF_Jo6?@KFq)O=D zb=SWGxjvd40(GEsq8gcnGw#kw-XG+=y&>Vv_j8m%^KveVS=eLcm!dM3cK+U|i!H;x z3>QYugnX4;=H!v`LFvVgZkHBpHhGXu_Z?otc*c-td9fZg`xK}&c2EDa8f7rrvfPUciiDJ*OEPJ z?{nAHgo1uI^3wH6^b{(k_PB@8v-oJ#IWkC08li=T-xM-eYb=oftV53v_AMXXUWeS1 z%I(%th0aeIX#@4OxCvRj~>A8I@#ftZRvm6jJ)I{dyvl@M*}36BG+c_iC>X}^9Oz!_LJU%8rH&S->nAtpag4N=h=Nc@Zq}qmIrqD79l6hq+GJW?-yz*f$;s|c z%$T}|WA3`l8+$qR{AF_nm)b&QPY`6iXwu1*&D{U!-;$pnYOUa|Ts;d1sxLudC1INO zy5Qw!AuH11^_L(y@!f+!K?;w}e9i7{r5ZXd)Dh-wIf{fY1RI zqI$ZD$*-rd+BHB|vpYkK-Ok%+Pu;365V|pwdn9z8m!Fw4gg4SO7~`@l^=o<-iao*e zYNqW>71E=Qck6v0V2JG&8rn@radYl{e`5LzJ(GEJbF`Lj`@`ohD3r6VtS+d#yTd{Q z@(`uNOm1h?P37|q=io$WJ<64+Z-@;tD2 zzY=bv?d3yG&tMY@v`m{n+qZJ3whOtMuobRr-)5b>!(kXDdaIin)#^E`pTH0M{yd9LOy9;i^z@ zcsOZ-OtPd7AKCNEL@eLkW^+}>uuOc@8DCB1(G1sxm`1Dl+7YityWp}H2HTQf77qI$ zO!$=?G6G$;a(PMRwNI)!5ov_2AAB_`&f3@}ra| zxy?S<5`HMNmwfy-sxoW^FTSL)pg!s^W;ht=Rlmc!PDOc^_y8cDmY!aF-HgqqC#B0} zAjYulzX>uyFXS9!2QL#NG01?|TOYl?`TE%#z*=xdq1Js7ugvkE~LhQY^c01g6?qtfFvL6K68%;<@<3NvBWAX=nIqQ-C$ChUe#jkThcSw z=vYcFZ{6x5p2^fvj*w@%F3#hV6>-D6nXRGH5gbjlXUO8 zjJj{i;W1HOhwnZ<(~)_ep-;xCc`bP3SN3^~KdkZ3i|h^ReMCcj1goZvp9ZlZiA*C_ zhyAxblPyexJ$i*4MMkFa)UiTCwVAwX?@53R18M@jiH~3}ux%K#qg<*Ood7I_GqhG+ zIigbYY}A3k5yl+O%LeQdl!9l69d2=Sy`MCp8OIPsju*a0ueH(xyJ zv>Z<>1I8(i;LmNF_E4|(s3k&?eGby+qWDylUR(Bl0}8${1}aubt;D>k%PX0Yg^u6A zMt`c@P(;_LfSZ5_>s+lTP_U~+8vXHHizAD@)jPn!ye>LN4Xoyq#6kL>Vx%OPxF1;a z)i9~`Lp?1)%n<=Pp!K7}><i4rL~L=5s$g8=Vjyo=*`S)j9SFji^|A4s`cV)O!QG4wxyrgKF-J6Vv(w#|A^8SN|O5D;C-7a9s zJzJxMl?L&S&ymT+1P@cJ45}auzZ+P zAsYRU-p5ynn=-+_N=&GazjFmJN2F+R7R*7*;dt`0Htdj6m_ec-BONHXm8HVOcr*g& zfZ3iX6&jV=fs{g!`sSI|*Cke# zj0hev2DCW9{TmUz*0+DgL%jd)aWO(->wKhqp*ySmra?E}y*XA+nQv%f-7klY75F+W zn^|&`^1JFCH#En5NNhdc_MfxP_1P`^qNFd6SoSKR_cL7fe_rSP1Q&wPCNEZ{%Xp`6 z3-Qs4cr1QQOI7gFYxd9`o6aTq=g!i3{d;LkrMdC2!#|dIp$waAh`+W9)4ss#g#bz> z$VNYGxe+zSxqd|fx<0>A@T%}nClx1h@$;8bIts7fVU$JIrR zAbNK!~e*sJYfQJLeKlsyo!t`Ud~Qf!!=pZGc}TVE@3KJTvRqSy z5*f;it(!tLJVY5hQ>^jNziP z==#*)Tj}Vzmqphh>v~=0_x`<8eTk0nqS0ra%_^7Vl9QWf|FJD&rNd^CbS&LYw6kJH zX;Mcjlf`Qkz*=7Xj`VNT6MF6HzN>`TD<=FF6#qdVmtlt%@UHj=LNS+mVqw-2_Z=Ay z^aXzYqURLev5dfI+d?N<|L)Ry65OLig#l{r=646Mdk6hB(>W%r2}z8|DausWv-jB89|eBzB_c$Vq6z3V9kcB# zrd~-zT%m}sc?33|9y08{8T*RN7*jc4H0-h=xjFMMw(bu8`r@qYK;;Ix;uo@i|A|Dm z{e4K=>2(>=n}?vE`!;dlRK%9vFhu2PA>{KI2r0@{>^$^SzW^qMli>^ow+dLR!aQ~w z8_5M7tuFxXLON$TmCnQ!IeYfn&p%pJcmR!W%)s~jdE9!3owkR>gBy1K89j4^`9b;f zg`82fCxwO1LGdDYrXxc~Rp!S&{rZ8LYkZ^+4wI8iMQTsUUq3+yggWwXAgK0a#6XPT zi$rFmhtMO$yT%HvbZ5klDn4W~3T)E^bL4`ll2MzMz|ocyu->h=e^WhK3^*h%hnxd(?$ zLKK!bE>qb{+SX{MyXyp-Uf%+{*<*~@e=58L56e|aAmHaf!N$thKZ8gPJaK?EmEg+Z zYGR;!WwX8R`)~GXqG#WufuZ+pWsjo_nt%EmYWe#6yJ_{;;CEQDJ_2*H@-A|Kw?Eg} zZm2;|p9$l<={>Xx!8@qo3i;OGLAz9~dMa0DM1iyuIaPf6z&sS_jxrh$WewH2%$fu0 z5AAb!qewoQFbuEA(gH1{eThUDK@tRJ`tIgn9%W`!VZmV7z<90FW~Im)erqBL3li^- zFkWjQ;Mz5UnvIaGrujGiXe#Zz<;?T5pd!-VrnrpR)K3%KfCE{`KdlsB#l~WeP8v}{ zuN{@36&-_z%V5btRJC3qqi zga2T72Yac2eE@3Q@5-k(?(szf?AqgR1w&b4aC6S(E(zo=2oE zH%+9Q$bBBe!SGmAiE&N02FjuB^=G2UQJ)%l7(O^*!+2<>vAM7%PUgPb69IHzn$V1} zN-0sIYzEeTdm-f~ZPOc1DNdo%6W;h^5JZ6*Md8XH!TE!~IlX%35d$L>R-@ z>W%kb6f`EeW$>LBI{dA{x;ER}c#O~WWXrp_{IH%Mm5a-25uf@i4co~Jb$|qo#)JSQ zejk9qg)b_<4hB(R{|9DtGADVYzo4Z8sje7c2h+H9y0=Y^sOV|2QsJ#X= z0FyfR!hDPM=>>#}9Vo%a;A_S$vn+a@-_z~=WkMJs4AAq6^dY~Fnn??P@|53S#E+jm zUEQH0tF#JMH~g|ic#Kg=qk7d|{{{Fw9cOF+5@@0%OpJ6)L_txea`)#HsJ{coG%{$9 zrsaJ@6Ogs1sU)6t-Hd#`%V*g-Whr^DKZvwc=IgM@$&}xRg0k<9zc1)mKI(pgs9}dz zY%(E?U(g!(8PC0dCwwm-(5{xudOklESNOUwJ!xNCL9?ßvx;_}lcA;FyqHR#E) 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%0DA07SogJ#YEwywrd5aqvgaa|&~ZbO6>rM_ST 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 D3H#6d literal 0 HcmV?d00001