From 7d2c1e8bb4b0cc07d25da1868731fa853cf05efd Mon Sep 17 00:00:00 2001 From: Nils Stinnesbeck Date: Mon, 26 Oct 2026 21:00:50 +0100 Subject: [PATCH] App 2.38.0: Overview styles Visor and Empire Visor, after Halo's helmet display: the battery as the shield bar, the range as the ammunition counter, P R N D as grenade slots, the speed in the reticle with power round it, and the power trail as blips on a motion tracker that sweeps while moving. Original blue or the accent. Empire, after Age of Empires: a wooden resource bar, an isometric world that moves with the speed, the car as the selected unit, P R N D as commands, a diamond minimap, and ages by odometer (EmpireAge, tested). The app takes the player's blue. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6 --- AGENTS.md | 4 +- README.md | 6 +- SPECS.md | 16 + THEMES.md | 36 +- app/build.gradle | 4 +- .../main/java/com/evsuite/abrp/EmpireAge.java | 49 ++ .../java/com/evsuite/abrp/EmpireView.java | 454 ++++++++++++++++++ .../java/com/evsuite/abrp/MainActivity.java | 18 +- .../java/com/evsuite/abrp/OverviewStyle.java | 6 +- .../java/com/evsuite/abrp/StylePalette.java | 2 + .../main/java/com/evsuite/abrp/VisorView.java | 322 +++++++++++++ app/src/main/res/values/strings.xml | 2 + app/src/main/res/values/style_palettes.xml | 20 + .../java/com/evsuite/abrp/EmpireAgeTest.java | 40 ++ screenshots/themes/empire-panel.png | Bin 0 -> 66201 bytes screenshots/themes/empire.png | Bin 0 -> 64925 bytes screenshots/themes/visor-panel.png | Bin 0 -> 46118 bytes screenshots/themes/visor.png | Bin 0 -> 29661 bytes 18 files changed, 961 insertions(+), 18 deletions(-) create mode 100644 app/src/main/java/com/evsuite/abrp/EmpireAge.java create mode 100644 app/src/main/java/com/evsuite/abrp/EmpireView.java create mode 100644 app/src/main/java/com/evsuite/abrp/VisorView.java create mode 100644 app/src/test/java/com/evsuite/abrp/EmpireAgeTest.java create mode 100644 screenshots/themes/empire-panel.png create mode 100644 screenshots/themes/empire.png create mode 100644 screenshots/themes/visor-panel.png create mode 100644 screenshots/themes/visor.png diff --git a/AGENTS.md b/AGENTS.md index 95554a1..0074b11 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -75,11 +75,11 @@ 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`), 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) | +| 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), Visor (`VisorView`, a helmet display with a motion tracker of the power trail), Empire (`EmpireView`, a strategy game with an isometric world and ages by odometer, `EmpireAge`); the drawn styles share `ClusterValues`. A style shown in its own palette (Sci-fi, Cartoon, Nixie, Time circuits, Quest, Empire; Retro, Terminal, Grid and Visor 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 | -| Settings | drive mode (Eco, Normal, Sport, Snow, Custom; the lit one is what the car reports; changes only in P at a standstill, `DriveModeWrite`; "Set at start" sets the last confirmed choice again when the service starts with the head unit), full screen, voice key, Overview style with the accent colour beside it (offered only for styles drawn in it, `OverviewStyle.usesAccent`; Retro, Terminal and Grid add "Original" for their own palette, `hasOriginal`), tyre unit, battery and charging price (one card on wide screens), version, update check, install from USB, About | +| Settings | drive mode (Eco, Normal, Sport, Snow, Custom; the lit one is what the car reports; changes only in P at a standstill, `DriveModeWrite`; "Set at start" sets the last confirmed choice again when the service starts with the head unit), full screen, voice key, Overview style with the accent colour beside it (offered only for styles drawn in it, `OverviewStyle.usesAccent`; Retro, Terminal, Grid and Visor add "Original" for their own palette, `hasOriginal`), tyre unit, battery and charging price (one card on wide screens), version, update check, install from USB, About | | Logs | signal recorder (`SignalRecorder`/`SignalRecording`: every property and vendor getter via `VendorSurfaceProbe.capture`, again and again for 3 minutes, plus steering-wheel key broadcasts; lists what changed, rarest first; saved to the app and a USB stick; how to find where the car publishes something), update log (every install step, with the platform's words), upload log | Key classes (`app/src/main/java/com/evsuite/abrp/`): `AbrpUploadService` (foreground service, diff --git a/README.md b/README.md index 036efad..d0acff3 100644 --- a/README.md +++ b/README.md @@ -39,8 +39,8 @@ APIs. ## Screenshots -**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 +**Overview styles:** the Overview comes in seventeen looks, from an 80s fluorescent display to a +starship console, a watch face, a neon grid, a time machine, a fantasy game, a helmet display and a strategy 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, 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 | +| **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, Quest, Visor and Empire ([THEMES.md](THEMES.md) shows them all). A style with its own colours (Sci-fi, Cartoon, Nixie tubes, Time circuits, Quest, Empire, and Retro, Terminal, Grid and Visor 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 9c36bc9..e5af31e 100644 --- a/SPECS.md +++ b/SPECS.md @@ -138,6 +138,22 @@ 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.38.0: Overview styles **Visor** (after Halo's helmet display, `VisorView`) + and **Empire** (after Age of Empires' interface, `EmpireView`). Visor: shield bar = battery (24 + segments, red and blinking "BATTERY LOW" below 20 %), ammunition counter = range (number and + rounds, one per 10 km), P R N D as grenade slots, a reticle with the speed and power round it + (green and anticlockwise in regen), a motion tracker whose blips are the power trail (rim 60 kW, + 40 kW regen) and whose sweep turns only while moving (~30 fps, on screen only), the clock and an + objective panel; original blue or the accent colour (`hasOriginal`). Empire: a wooden resource + bar (battery, range, power, 5-min usage, the age, the clock), an isometric world whose ground + and trees move with the speed (6 m tiles, ~30 fps only while moving), the car as the selected + unit with the battery as its health bar, the speed large over the world, a carved panel with + P R N D as commands, the unit's portrait and stats, and a diamond minimap with the odometer and + the way to the next age; ages by odometer in `EmpireAge` (pure, tested: Dark, Feudal from + 10,000 km, Castle 30,000, Imperial 60,000); its own palette, the app in the player's blue. + `stylePanes` is now built from the canvas list. THEMES.md with two screenshots each. Emulator: + sample values, 15 % at a standstill, with and without the navigation, and no data (dashes); no + crash. Not tried on the car. - 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 diff --git a/THEMES.md b/THEMES.md index 2a36d1d..ec5ee50 100644 --- a/THEMES.md +++ b/THEMES.md @@ -1,6 +1,6 @@ # Overview styles -The Overview can look fifteen ways: pick one under **Settings → Overview style**. Every style shows +The Overview can look seventeen 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. @@ -10,8 +10,8 @@ emulator at the car's resolution with **sample values** (87 km/h in D, 76 %, 18. 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, Nixie tubes, Time circuits and Quest always do; while one of those is shown, the whole app +Accent colour; shown here in Dynamic Red). Retro, Terminal, Grid and Visor can also show their original +colours, and Sci-fi, Cartoon, Nixie tubes, Time circuits, Quest and Empire always do; while one of those is shown, the whole app (navigation, buttons, switches) takes on its colours too. | Style | Look | Colours | @@ -31,6 +31,8 @@ colours, and Sci-fi, Cartoon, Nixie tubes, Time circuits and Quest always do; wh | [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 | +| [Visor](#visor) | a soldier's helmet display | original or accent | +| [Empire](#empire) | a strategy game's interface | own | ## Tiles @@ -186,3 +188,31 @@ 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) + +## Visor + +After the helmet display of a science-fiction shooter like Halo: thin light-blue lines and +slanted frames on a dark visor. The shield bar on top is the battery, turning red and blinking +"BATTERY LOW" below 20 %; the ammunition counter is the range, as a number and as rounds, one per +10 km, with P R N D as the grenade slots under it; the reticle in the middle holds the speed and +fills with power round it, green and the other way while regenerating; the motion tracker shows +the last two minutes of power as blips, red while drawing and green while regenerating, and +sweeps while you drive. The objective lists trip, usage, climate and odometer. In its original +blue (shown, and the app turns blue with it) or in the accent colour. + +![Visor with the navigation](screenshots/themes/visor-panel.png) +![Visor, full screen](screenshots/themes/visor.png) + +## Empire + +After the interface of a real-time strategy game like Age of Empires: a wooden resource bar on +top with the battery, range, power and usage, the clock, and the age you have reached by +odometer — Dark Age, then Feudal from 10,000 km, Castle from 30,000 and Imperial from 60,000. In +the isometric world below, the car is the selected unit on a road, its health bar the battery, +while the ground and trees move past as fast as you drive and the speed stands large over the +land. The carved panel at the bottom has P R N D as command buttons, the unit's portrait and +stats, and a diamond minimap with the odometer and the way to the next age. Below 20 % it warns +"Your battery is running low!". The app turns the player's blue with it. + +![Empire with the navigation](screenshots/themes/empire-panel.png) +![Empire, full screen](screenshots/themes/empire.png) diff --git a/app/build.gradle b/app/build.gradle index d0df532..6196223 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -34,8 +34,8 @@ android { applicationId "com.stinnesbeck.nilsmg4" minSdk 27 targetSdk 36 - versionCode 140 - versionName "2.37.0" + versionCode 141 + versionName "2.38.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/EmpireAge.java b/app/src/main/java/com/evsuite/abrp/EmpireAge.java new file mode 100644 index 0000000..90f2400 --- /dev/null +++ b/app/src/main/java/com/evsuite/abrp/EmpireAge.java @@ -0,0 +1,49 @@ +package com.evsuite.abrp; + +/** + * The Empire style's ages, by odometer: the Dark Age below 10,000 km, the Feudal Age below + * 30,000, the Castle Age below 60,000 and the Imperial Age from there. Pure Java, unit-tested. + */ +final class EmpireAge { + + private static final String[] NAMES = { "Dark Age", "Feudal Age", "Castle Age", "Imperial Age" }; + /** Where each age after the first begins, in km. */ + private static final float[] STARTS = { 10_000f, 30_000f, 60_000f }; + + private EmpireAge() {} + + /** 0 to 3, or -1 when the odometer is unread. */ + static int index(Float km) { + if (km == null || Float.isNaN(km)) return -1; + int age = 0; + while (age < STARTS.length && km >= STARTS[age]) age++; + return age; + } + + /** The age's name, "—" when unread. */ + static String name(Float km) { + int age = index(km); + return age < 0 ? "—" : NAMES[age]; + } + + /** The next age's name, or null in the last age and when unread. */ + static String next(Float km) { + int age = index(km); + return age < 0 || age >= STARTS.length ? null : NAMES[age + 1]; + } + + /** Kilometres left to the next age, or null in the last age and when unread. */ + static Float toNext(Float km) { + int age = index(km); + return age < 0 || age >= STARTS.length ? null : STARTS[age] - km; + } + + /** How far through the current age, 0..1; 1 in the last age, 0 when unread. */ + static float progress(Float km) { + int age = index(km); + if (age < 0) return 0f; + if (age >= STARTS.length) return 1f; + float from = age == 0 ? 0f : STARTS[age - 1]; + return Math.max(0f, Math.min(1f, (km - from) / (STARTS[age] - from))); + } +} diff --git a/app/src/main/java/com/evsuite/abrp/EmpireView.java b/app/src/main/java/com/evsuite/abrp/EmpireView.java new file mode 100644 index 0000000..50b9177 --- /dev/null +++ b/app/src/main/java/com/evsuite/abrp/EmpireView.java @@ -0,0 +1,454 @@ +package com.evsuite.abrp; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.RectF; +import android.graphics.Typeface; +import android.os.SystemClock; + +import java.util.Locale; + +/** + * The Empire Overview style, after the interface of a real-time strategy game like Age of + * Empires: a wooden resource bar on top, an isometric world in the middle and a carved panel + * at the bottom with the commands, the selected unit and a diamond-shaped minimap. + * + * The resource bar holds the battery, the range, the power and the usage over 5 minutes, the + * age (by odometer, {@link EmpireAge}) and the clock. In the world the car is the selected unit + * on a road, with the battery as its health bar; the ground moves past with the speed, which + * stands large over the world. Below 20 % a warning blinks there. At the bottom: P R N D as + * command buttons, the unit's portrait and stats (trip, usage since start, climate), and the + * minimap with the odometer and the way to the next age. Unread values show "—" and fill + * nothing; the world stands still when the speed is unread. + * + * The world animates (about 30 frames a second) only while the car moves and the view is on + * screen. + */ +final class EmpireView extends ClusterCanvasView { + + private static final int WOOD = 0xFF3B2414, WOOD_LIGHT = 0xFF5A3A1E, WOOD_DARK = 0xFF24150B, + TRIM = 0xFFC8A05A, PARCHMENT = 0xFFF2E2B8, TEAM = 0xFF3D6BFF, HEALTH = 0xFF3CC23C, + RED = 0xFFE03A2A, GRASS = 0xFF4E7A2E, GRASS_ALT = 0xFF557F33, ROAD = 0xFF8A6A3C, REGEN = 0xFF6FE07A; + /** Metres per tile, as the ground moves past. */ + private static final float TILE_M = 6f; + + 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 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); + + /** Tiles travelled: the whole part picks the trees, the fraction moves the ground. */ + private double travelled; + private long lastFrame; + + EmpireView(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); + boolean moving = v.speedKmh != null && v.speedKmh > 0.5f; + advance(moving); + float top = 46f * u, bottom = h - 186f * u; + drawWorld(c, w, top, bottom, u); + drawSpeed(c, w, top, u); + drawResources(c, w, top, u); + drawPanel(c, w, h, bottom, u); + keepAnimating(moving, 33); + } + + private void advance(boolean moving) { + long now = SystemClock.uptimeMillis(); + float dt = lastFrame == 0 ? 0f : Math.min(0.2f, (now - lastFrame) / 1000f); + lastFrame = now; + if (moving) travelled = (travelled + v.speedKmh / 3.6f * dt / TILE_M) % 1_000_000d; + } + + // ---------- Shared ---------- + + private void say(Canvas c, String s, float x, float y, float size, int colour, Typeface face, Paint.Align a, float u) { + text.setTypeface(face); + text.setTextSize(size); + text.setTextAlign(a); + text.setColor(0xCC000000); + c.drawText(s, x + Math.max(1f, size * 0.05f), y + Math.max(1f, size * 0.05f), text); + text.setColor(colour); + c.drawText(s, x, y, text); + } + + /** Wood with planks and a gold trim. */ + private void wood(Canvas c, float l, float t, float rr, float b, float u) { + fill.setColor(WOOD); + c.drawRect(l, t, rr, b, fill); + line.setColor(WOOD_DARK); + line.setStrokeWidth(2f * u); + for (float y = t + 22f * u; y < b; y += 22f * u) c.drawLine(l, y, rr, y, line); + line.setColor(WOOD_LIGHT); + line.setStrokeWidth(1f * u); + for (float y = t + 23.5f * u; y < b; y += 22f * u) c.drawLine(l, y, rr, y, line); + } + + /** A recessed frame with a gold edge. */ + private void inset(Canvas c, float l, float t, float rr, float b, int bg, float u) { + r.set(l, t, rr, b); + fill.setColor(bg); + c.drawRect(r, fill); + line.setColor(WOOD_DARK); + line.setStrokeWidth(4f * u); + c.drawRect(r, line); + line.setColor(TRIM); + line.setStrokeWidth(1.5f * u); + c.drawRect(r, line); + } + + private void bar(Canvas c, float l, float t, float rr, float b, float frac, int colour, float u) { + fill.setColor(0xFF140C06); + c.drawRect(l, t, rr, b, fill); + if (frac > 0f) { + fill.setColor(colour); + c.drawRect(l, t, l + (rr - l) * Math.min(1f, frac), b, fill); + } + line.setColor(0xFF000000); + line.setStrokeWidth(1.5f * u); + c.drawRect(l, t, rr, b, line); + } + + // ---------- World ---------- + + /** Isometric grass with a road through the middle; the car sits on it, the ground moves. */ + private void drawWorld(Canvas c, float w, float top, float bottom, float u) { + c.save(); + c.clipRect(0, top, w, bottom); + float tw = 112f * u, th = 56f * u; + float ox = w * 0.36f, oy = top + (bottom - top) * 0.62f; + long whole = (long) Math.floor(travelled); + float phase = (float) (travelled - whole); + // Moving forward along the road (up and to the right) moves the ground down and left. + float sx = -phase * tw / 2f, sy = phase * th / 2f; + int n = (int) Math.ceil((w / tw + (bottom - top) / th)) + 2; + for (int i = -n; i <= n; i++) { + for (int j = -n; j <= n; j++) { + float cx = ox + (i + j) * tw / 2f + sx, cy = oy + (i - j) * th / 2f + sy; + if (cx < -tw || cx > w + tw || cy < top - th || cy > bottom + th) continue; + long cell = j + whole; + boolean road = i == 0; + int colour = road ? ROAD : (hash(i, cell) % 3 == 0 ? GRASS_ALT : GRASS); + diamond(c, cx, cy, tw / 2f, th / 2f, colour); + if (road && (cell & 1) == 0) { + // Wheel ruts. + line.setColor(0x40000000); + line.setStrokeWidth(2f * u); + c.drawLine(cx - tw * 0.18f, cy + th * 0.02f, cx + tw * 0.08f, cy - th * 0.11f, line); + } + } + } + // Trees, drawn back to front so the nearer ones overlap. + for (int i = n; i >= -n; i--) { + for (int j = -n; j <= n; j++) { + if (Math.abs(i) < 2) continue; + long cell = j + whole; + if (hash(i, cell) % 7 != 0) continue; + float cx = ox + (i + j) * tw / 2f + sx, cy = oy + (i - j) * th / 2f + sy; + if (cx < -tw || cx > w + tw || cy < top - th || cy > bottom + 2 * th) continue; + tree(c, cx, cy, u); + } + } + drawUnit(c, ox, oy, u); + c.restore(); + } + + private static int hash(long i, long j) { + long x = i * 73_856_093L ^ j * 19_349_663L; + x ^= x >>> 13; + x *= 0x5bd1e995L; + x ^= x >>> 15; + return (int) ((x & 0x7fffffffL) % 1_000_003L); + } + + private void diamond(Canvas c, float cx, float cy, float hw, float hh, int colour) { + path.reset(); + path.moveTo(cx, cy - hh); + path.lineTo(cx + hw, cy); + path.lineTo(cx, cy + hh); + path.lineTo(cx - hw, cy); + path.close(); + fill.setColor(colour); + c.drawPath(path, fill); + line.setColor(0x18000000); + line.setStrokeWidth(1f); + c.drawPath(path, line); + } + + private void tree(Canvas c, float x, float y, float u) { + fill.setColor(0x40000000); + c.drawOval(x - 20f * u, y - 6f * u, x + 20f * u, y + 6f * u, fill); + fill.setColor(0xFF5A3A1E); + c.drawRect(x - 3f * u, y - 14f * u, x + 3f * u, y, fill); + for (int k = 0; k < 3; k++) { + float base = y - 10f * u - k * 16f * u, half = (22f - k * 5f) * u; + path.reset(); + path.moveTo(x - half, base); + path.lineTo(x, base - 28f * u); + path.lineTo(x + half, base); + path.close(); + fill.setColor(k == 1 ? 0xFF2F5A23 : 0xFF274D1D); + c.drawPath(path, fill); + } + } + + /** The car as the selected unit: a selection ring, the car along the road, its health bar. */ + private void drawUnit(Canvas c, float x, float y, float u) { + line.setColor(0xFFFFFFFF); + line.setStrokeWidth(2f * u); + c.drawOval(x - 62f * u, y - 24f * u, x + 62f * u, y + 24f * u, line); + c.save(); + c.translate(x, y - 6f * u); + c.rotate(-26.565f); + carProfile(c, 0f, 0f, 54f * u, TEAM); + c.restore(); + float frac = v.socPercent == null ? 0f : v.socPercent / 100f; + boolean low = v.socPercent != null && v.socPercent < 20f; + bar(c, x - 40f * u, y - 92f * u, x + 40f * u, y - 84f * u, frac, low ? RED : HEALTH, u); + } + + /** A car in profile, facing right, in the player's colour. */ + private void carProfile(Canvas c, float cx, float cy, float s, int colour) { + path.reset(); + path.moveTo(cx - s, cy + s * 0.15f); + path.lineTo(cx - s * 0.92f, cy - s * 0.15f); + path.quadTo(cx - s * 0.55f, cy - s * 0.22f, cx - s * 0.32f, cy - s * 0.5f); + path.lineTo(cx + s * 0.28f, cy - s * 0.52f); + path.quadTo(cx + s * 0.6f, cy - s * 0.24f, cx + s * 0.95f, cy - s * 0.12f); + path.lineTo(cx + s, cy + s * 0.15f); + path.close(); + fill.setColor(colour); + c.drawPath(path, fill); + line.setColor(0xFF0A1440); + line.setStrokeWidth(s * 0.04f); + c.drawPath(path, line); + // Windows. + path.reset(); + path.moveTo(cx - s * 0.26f, cy - s * 0.42f); + path.lineTo(cx + s * 0.24f, cy - s * 0.43f); + path.lineTo(cx + s * 0.44f, cy - s * 0.2f); + path.lineTo(cx - s * 0.45f, cy - s * 0.2f); + path.close(); + fill.setColor(0xFFBFD8FF); + c.drawPath(path, fill); + fill.setColor(0xFF15100A); + c.drawCircle(cx - s * 0.55f, cy + s * 0.17f, s * 0.21f, fill); + c.drawCircle(cx + s * 0.55f, cy + s * 0.17f, s * 0.21f, fill); + fill.setColor(0xFFB0B0B0); + c.drawCircle(cx - s * 0.55f, cy + s * 0.17f, s * 0.1f, fill); + c.drawCircle(cx + s * 0.55f, cy + s * 0.17f, s * 0.1f, fill); + } + + // ---------- Speed ---------- + + private void drawSpeed(Canvas c, float w, float top, float u) { + float x = w * 0.66f; + say(c, fmt(v.speedKmh, "%.0f", "—"), x, top + 150f * u, 130f * u, PARCHMENT, serif, Paint.Align.CENTER, u); + say(c, "km/h", x, top + 184f * u, 26f * u, PARCHMENT, serif, Paint.Align.CENTER, u); + boolean low = v.socPercent != null && v.socPercent < 20f; + if (low && (SystemClock.uptimeMillis() / 600) % 2 == 0) { + say(c, "Your battery is running low!", x, top + 236f * u, 28f * u, 0xFFFFD040, serif, + Paint.Align.CENTER, u); + } + } + + // ---------- Resource bar ---------- + + private void drawResources(Canvas c, float w, float top, float u) { + wood(c, 0, 0, w, top, u); + line.setColor(TRIM); + line.setStrokeWidth(2f * u); + c.drawLine(0, top - 1f * u, w, top - 1f * u, line); + float y = top / 2f, x = 22f * u, slot = 170f * u; + boolean low = v.socPercent != null && v.socPercent < 20f; + icon(c, 0, x, y, u); + say(c, fmt(v.socPercent, "%.0f %%", "—"), x + 30f * u, y + 9f * u, 26f * u, low ? RED : PARCHMENT, sans, + Paint.Align.LEFT, u); + x += slot; + icon(c, 1, x, y, u); + say(c, fmt(v.rangeKm, "%.0f km", "—"), x + 30f * u, y + 9f * u, 26f * u, PARCHMENT, sans, Paint.Align.LEFT, u); + x += slot; + icon(c, 2, x, y, u); + boolean regen = v.powerKw != null && v.powerKw < -0.05f; + String power = v.powerKw == null ? "—" : String.format(Locale.US, regen ? "+%.1f kW" : "%.1f kW", + Math.abs(v.powerKw)); + say(c, power, x + 30f * u, y + 9f * u, 26f * u, regen ? REGEN : PARCHMENT, sans, Paint.Align.LEFT, u); + x += slot; + icon(c, 3, x, y, u); + say(c, fmt(v.usage5Min, "%.1f kWh/100", "—"), x + 30f * u, y + 9f * u, 26f * u, PARCHMENT, sans, + Paint.Align.LEFT, u); + say(c, v.clock.isEmpty() ? "—" : v.clock, w - 22f * u, y + 9f * u, 26f * u, PARCHMENT, sans, + Paint.Align.RIGHT, u); + say(c, EmpireAge.name(v.odometerKm), w - 130f * u, y + 9f * u, 26f * u, 0xFFFFD873, serif, + Paint.Align.RIGHT, u); + } + + /** Small resource pictures: 0 battery, 1 flag, 2 bolt, 3 leaf. */ + private void icon(Canvas c, int kind, float x, float y, float u) { + float s = 11f * u; + fill.setColor(0xFF000000); + r.set(x - s - 2f * u, y - s - 2f * u, x + s + 2f * u, y + s + 2f * u); + c.drawRect(r, fill); + line.setColor(TRIM); + line.setStrokeWidth(1.2f * u); + c.drawRect(r, line); + path.reset(); + switch (kind) { + case 0: + fill.setColor(HEALTH); + c.drawRect(x - s * 0.5f, y - s * 0.6f, x + s * 0.5f, y + s * 0.85f, fill); + c.drawRect(x - s * 0.22f, y - s * 0.85f, x + s * 0.22f, y - s * 0.6f, fill); + break; + case 1: + fill.setColor(TEAM); + path.moveTo(x - s * 0.5f, y - s * 0.8f); + path.lineTo(x + s * 0.7f, y - s * 0.45f); + path.lineTo(x - s * 0.5f, y - s * 0.1f); + path.close(); + c.drawPath(path, fill); + line.setColor(PARCHMENT); + line.setStrokeWidth(1.5f * u); + c.drawLine(x - s * 0.5f, y - s * 0.85f, x - s * 0.5f, y + s * 0.85f, line); + break; + case 2: + fill.setColor(0xFFFFD040); + path.moveTo(x + s * 0.2f, y - s * 0.9f); + path.lineTo(x - s * 0.55f, y + s * 0.1f); + path.lineTo(x, y + s * 0.1f); + path.lineTo(x - s * 0.2f, y + s * 0.9f); + path.lineTo(x + s * 0.55f, y - s * 0.15f); + path.lineTo(x, y - s * 0.15f); + path.close(); + c.drawPath(path, fill); + break; + default: + fill.setColor(REGEN); + path.moveTo(x - s * 0.7f, y + s * 0.7f); + path.quadTo(x - s * 0.9f, y - s * 0.9f, x + s * 0.7f, y - s * 0.7f); + path.quadTo(x + s * 0.9f, y + s * 0.8f, x - s * 0.7f, y + s * 0.7f); + c.drawPath(path, fill); + } + } + + // ---------- Bottom panel ---------- + + private void drawPanel(Canvas c, float w, float h, float bottom, float u) { + wood(c, 0, bottom, w, h, u); + line.setColor(TRIM); + line.setStrokeWidth(3f * u); + c.drawLine(0, bottom + 1.5f * u, w, bottom + 1.5f * u, line); + drawCommands(c, bottom, u); + float mapW = 250f * u; + drawUnitInfo(c, 224f * u, bottom, w - mapW - 40f * u, h, u); + drawMinimap(c, w - mapW - 20f * u, bottom, w - 20f * u, h, u); + } + + /** P R N D as command buttons, two by two. */ + private void drawCommands(Canvas c, float bottom, float u) { + String[] gears = { "P", "R", "N", "D" }; + String now = Gear.label(v.gear); + float s = 74f * u, gap = 8f * u, l = 30f * u, t = bottom + 16f * u; + for (int i = 0; i < gears.length; i++) { + float x = l + (i % 2) * (s + gap), y = t + (i / 2) * (s + gap); + boolean on = gears[i].equals(now); + inset(c, x, y, x + s, y + s, on ? 0xFF22346E : 0xFF1A120A, u); + if (on) { + line.setColor(0xFFFFD873); + line.setStrokeWidth(3f * u); + c.drawRect(x + 3f * u, y + 3f * u, x + s - 3f * u, y + s - 3f * u, line); + } + say(c, gears[i], x + s / 2f, y + s * 0.68f, 40f * u, on ? 0xFFFFFFFF : 0xFF9A8A6A, serif, + Paint.Align.CENTER, u); + } + } + + /** The selected unit: portrait, health, name and stats. */ + private void drawUnitInfo(Canvas c, float l, float t, float rr, float b, float u) { + inset(c, l, t + 16f * u, rr, b - 14f * u, 0xFF1A120A, u); + float ps = 96f * u, px = l + 16f * u, py = t + 28f * u; + inset(c, px, py, px + ps, py + ps, 0xFF2C3E1E, u); + carProfile(c, px + ps / 2f, py + ps * 0.6f, ps * 0.38f, TEAM); + float frac = v.socPercent == null ? 0f : v.socPercent / 100f; + boolean low = v.socPercent != null && v.socPercent < 20f; + bar(c, px, py + ps + 8f * u, px + ps, py + ps + 22f * u, frac, low ? RED : HEALTH, u); + say(c, fmt(v.socPercent, "%.0f / 100", "—"), px + ps / 2f, py + ps + 40f * u, 16f * u, PARCHMENT, sans, + Paint.Align.CENTER, u); + + float x = px + ps + 24f * u; + say(c, "MG4", x, py + 26f * u, 28f * u, 0xFFFFD873, serif, Paint.Align.LEFT, u); + say(c, "Electric Cart", x + 80f * u, py + 26f * u, 20f * u, PARCHMENT, serif, Paint.Align.LEFT, u); + String[][] stats = { + { "Range", fmt(v.rangeKm, "%.0f km", "—") }, + { "Trip", fmt(v.tripKm, "%.1f km", "—") }, + { "Since start", fmt(v.usageTrip, "%.1f kWh/100 km", "—") }, + { "Climate", fmt(v.climateCelsius, "%.0f °C", "—") }, + }; + float colW = (rr - x - 16f * u) / 2f; + for (int i = 0; i < stats.length; i++) { + float sx = x + (i % 2) * colW, sy = py + (66f + (i / 2) * 50f) * u; + fill.setColor(TRIM); + path.reset(); + path.moveTo(sx + 6f * u, sy - 20f * u); + path.lineTo(sx + 12f * u, sy - 14f * u); + path.lineTo(sx + 6f * u, sy - 8f * u); + path.lineTo(sx, sy - 14f * u); + path.close(); + c.drawPath(path, fill); + say(c, stats[i][0], sx + 20f * u, sy - 7f * u, 17f * u, 0xFFBFAE88, sans, Paint.Align.LEFT, u); + say(c, stats[i][1], sx + 20f * u, sy + 18f * u, 23f * u, PARCHMENT, sans, Paint.Align.LEFT, u); + } + } + + /** The diamond minimap: the player's land round the car, the road, the odometer under it. */ + private void drawMinimap(Canvas c, float l, float t, float rr, float b, float u) { + float cx = (l + rr) / 2f, cy = t + 60f * u, hw = (rr - l) / 2f, hh = 44f * u; + path.reset(); + path.moveTo(cx, cy - hh); + path.lineTo(cx + hw, cy); + path.lineTo(cx, cy + hh); + path.lineTo(cx - hw, cy); + path.close(); + fill.setColor(0xFF000000); + c.drawPath(path, fill); + c.save(); + c.clipPath(path); + fill.setColor(0xFF35561F); + c.drawOval(cx - hw * 0.7f, cy - hh * 0.65f, cx + hw * 0.5f, cy + hh * 0.75f, fill); + fill.setColor(AccentColor.withAlpha(TEAM, 0x70)); + c.drawOval(cx - hw * 0.32f, cy - hh * 0.3f, cx + hw * 0.2f, cy + hh * 0.34f, fill); + line.setColor(ROAD); + line.setStrokeWidth(3f * u); + c.drawLine(cx - hw, cy + hh, cx + hw, cy - hh, line); + c.restore(); + line.setColor(TRIM); + line.setStrokeWidth(2f * u); + c.drawPath(path, line); + fill.setColor(0xFFFFFFFF); + c.drawCircle(cx, cy, 5f * u, fill); + fill.setColor(TEAM); + c.drawCircle(cx, cy, 3.5f * u, fill); + + say(c, fmt(v.odometerKm, "%,.0f km", "—"), cx, cy + hh + 24f * u, 20f * u, PARCHMENT, sans, + Paint.Align.CENTER, u); + String next = EmpireAge.next(v.odometerKm); + Float toNext = EmpireAge.toNext(v.odometerKm); + String towards = next == null || toNext == null ? EmpireAge.name(v.odometerKm) + : String.format(Locale.US, "%s in %,.0f km", next, toNext); + bar(c, l + 12f * u, b - 28f * u, rr - 12f * u, b - 14f * u, EmpireAge.progress(v.odometerKm), 0xFFFFD873, u); + say(c, towards, cx, b - 34f * u, 15f * u, 0xFFBFAE88, sans, Paint.Align.CENTER, u); + } +} diff --git a/app/src/main/java/com/evsuite/abrp/MainActivity.java b/app/src/main/java/com/evsuite/abrp/MainActivity.java index 4f1aa6d..21030eb 100644 --- a/app/src/main/java/com/evsuite/abrp/MainActivity.java +++ b/app/src/main/java/com/evsuite/abrp/MainActivity.java @@ -69,6 +69,7 @@ public class MainActivity extends AppCompatActivity { private final java.util.List canvasStyles = new java.util.ArrayList<>(); private TerminalView terminalView; private GridView gridView; + private VisorView visorView; /** The pane of each Overview style, by its {@link OverviewStyle} ordinal. */ private View[] stylePanes; private View consumptionPane; @@ -344,15 +345,18 @@ public class MainActivity extends AppCompatActivity { mgPane = drawnPane(octagonView); terminalView = new TerminalView(this); gridView = new GridView(this); + visorView = new VisorView(this); java.util.Collections.addAll(canvasStyles, new MinimalView(this), terminalView, new NixieView(this), new ChronographView(this), gridView, new TimeCircuitsView(this), - new QuestView(this)); + new QuestView(this), visorView, new EmpireView(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[5], canvasPanes[6] }; + View[] fixedPanes = { vehiclePane, gaugesPane, cockpitPane, retroPane, + futuristicPane, sciFiPane, cartoonPane, mgPane }; + // By OverviewStyle ordinal: the fixed styles, then the canvas styles in their order. + stylePanes = new View[fixedPanes.length + canvasPanes.length]; + System.arraycopy(fixedPanes, 0, stylePanes, 0, fixedPanes.length); + System.arraycopy(canvasPanes, 0, stylePanes, fixedPanes.length, canvasPanes.length); // 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( @@ -1721,6 +1725,7 @@ public class MainActivity extends AppCompatActivity { retroView.setAccentPalette(!originalColours(OverviewStyle.RETRO)); terminalView.setAccentPalette(!originalColours(OverviewStyle.TERMINAL)); gridView.setAccentPalette(!originalColours(OverviewStyle.GRID)); + visorView.setAccentPalette(!originalColours(OverviewStyle.VISOR)); // The accent choices depend on the style ("Original colours" for Retro and Terminal). if (settingsPane != null) bindAccentColor(); } @@ -1752,7 +1757,8 @@ public class MainActivity extends AppCompatActivity { 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_time_circuits), getString(R.string.overview_style_quest) }; + getString(R.string.overview_style_time_circuits), getString(R.string.overview_style_quest), + getString(R.string.overview_style_visor), getString(R.string.overview_style_empire) }; } /** 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 1de5016..859696e 100644 --- a/app/src/main/java/com/evsuite/abrp/OverviewStyle.java +++ b/app/src/main/java/com/evsuite/abrp/OverviewStyle.java @@ -8,7 +8,7 @@ package com.evsuite.abrp; * colour for it. Styles with only their own fixed palette (the starship console, the cartoon, * the flight display, the nixie tubes) ignore it and Settings greys it out. * - {@link #hasOriginal}: has an original palette of its own as well (Retro's turquoise - * display, the terminal's green phosphor, the Grid's neon cyan); Settings then offers "Original colours" above the + * display, the terminal's green phosphor, the Grid's neon cyan, the Visor's blue); Settings then offers "Original colours" above the * accent colours, remembered per style under {@link #originalKey()}. * * Pure Java, unit-tested. @@ -28,7 +28,9 @@ enum OverviewStyle { CHRONOGRAPH(true, false), GRID(true, true), TIME_CIRCUITS(false, false), - QUEST(false, false); + QUEST(false, false), + VISOR(true, true), + EMPIRE(false, false); static final String PREF_KEY = "overview_style"; diff --git a/app/src/main/java/com/evsuite/abrp/StylePalette.java b/app/src/main/java/com/evsuite/abrp/StylePalette.java index 4b1162a..d7d14bb 100644 --- a/app/src/main/java/com/evsuite/abrp/StylePalette.java +++ b/app/src/main/java/com/evsuite/abrp/StylePalette.java @@ -21,6 +21,8 @@ final class StylePalette { 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; + case VISOR: return R.style.ThemeOverlay_EV_Style_Visor; + case EMPIRE: return R.style.ThemeOverlay_EV_Style_Empire; default: return 0; } } diff --git a/app/src/main/java/com/evsuite/abrp/VisorView.java b/app/src/main/java/com/evsuite/abrp/VisorView.java new file mode 100644 index 0000000..f285921 --- /dev/null +++ b/app/src/main/java/com/evsuite/abrp/VisorView.java @@ -0,0 +1,322 @@ +package com.evsuite.abrp; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.RadialGradient; +import android.graphics.RectF; +import android.graphics.Shader; +import android.graphics.Typeface; +import android.os.SystemClock; + +import java.util.Locale; + +/** + * The Visor Overview style, after the helmet display of a science-fiction shooter like Halo: + * thin light-blue lines on a dark visor, slanted panels and a reticle in the middle. + * + * Top centre, the shield bar: the battery, segmented, red and blinking below 20 % with + * "BATTERY LOW". Top right, the ammunition counter: the range as a number and as rounds, one + * per 10 km. Under it, four grenade slots for P R N D, the current one lit. Middle, the + * reticle with the speed inside it and power round it — clockwise while drawing, green and + * anticlockwise while regenerating. Bottom left, the motion tracker: its sweep turns while the + * car moves, and its blips are the last two minutes of power (red drawing, green regenerating), further out the more + * power (the rim is 60 kW, 40 kW regenerating). + * Top left the clock, bottom right the objective with trip, usage, climate and odometer. + * Unread values show "—" and light nothing. + * + * Two palettes: the original visor blue, or the chosen accent colour ({@link #setAccentPalette}). + * The tracker animates (about 30 frames a second) only while the car moves and the view is on + * screen; the low-battery blink rides on the readings that redraw it. + */ +final class VisorView extends ClusterCanvasView { + + /** Shield segments, rounds in the counter (10 km each). */ + private static final int SHIELD = 24, ROUNDS = 50; + private static final int RED = 0xFFFF3B30, REGEN = 0xFF4CFF7A, ENEMY = 0xFFFF4A3D; + + 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 vignette = new Paint(); + private final Path path = new Path(); + private final RectF r = new RectF(); + private final Typeface face = Typeface.create("sans-serif-condensed", Typeface.BOLD); + private final Typeface thin = Typeface.create("sans-serif-condensed", Typeface.NORMAL); + private final int accent, accentLight; + + private int main, light, dim; + private float sweep; + private long lastFrame; + private int vignetteFor = -1; + + VisorView(Context context) { + super(context); + accent = AccentColor.resolve(context, R.attr.evAccent); + accentLight = AccentColor.resolve(context, R.attr.evAccentLight); + line.setStyle(Paint.Style.STROKE); + line.setStrokeJoin(Paint.Join.MITER); + setAccentPalette(false); + } + + /** The chosen accent colour instead of the original visor blue. */ + void setAccentPalette(boolean useAccent) { + main = useAccent ? accent : 0xFF5CC8FF; + light = useAccent ? accentLight : 0xFFD2F0FF; + dim = AccentColor.withAlpha(main, 0x40); + vignetteFor = -1; + invalidate(); + } + + @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); + boolean moving = v.speedKmh != null && v.speedKmh > 0.5f; + advance(moving); + drawVisor(c, w, h, u); + drawClock(c, u); + drawShield(c, w, u); + drawAmmo(c, w, u); + drawReticle(c, w, h, u); + drawTracker(c, h, u); + drawObjective(c, w, h, u); + keepAnimating(moving, 33); + } + + private void advance(boolean moving) { + long now = SystemClock.uptimeMillis(); + float dt = lastFrame == 0 ? 0f : Math.min(0.2f, (now - lastFrame) / 1000f); + lastFrame = now; + if (moving) sweep = (sweep + dt * 180f) % 360f; + } + + // ---------- Visor ---------- + + /** Dark glass, the helmet's rim darkening the corners, and its edge lines at the top. */ + private void drawVisor(Canvas c, float w, float h, float u) { + c.drawColor(0xFF03080D); + if (vignetteFor != (int) (w + h)) { + vignette.setShader(new RadialGradient(w / 2f, h * 0.48f, Math.max(w, h) * 0.62f, + new int[] { AccentColor.withAlpha(main, 0x16), 0x00000000, 0xE0000000 }, + new float[] { 0f, 0.62f, 1f }, Shader.TileMode.CLAMP)); + vignetteFor = (int) (w + h); + } + c.drawRect(0, 0, w, h, vignette); + line.setStrokeWidth(1.5f * u); + line.setColor(AccentColor.withAlpha(main, 0x50)); + path.reset(); + path.moveTo(0, 150f * u); + path.quadTo(w * 0.08f, 16f * u, w * 0.3f, 8f * u); + path.moveTo(w, 150f * u); + path.quadTo(w * 0.92f, 16f * u, w * 0.7f, 8f * u); + c.drawPath(path, line); + } + + /** A slanted panel, as the display draws its frames. */ + private void slant(Canvas c, float l, float t, float rr, float b, float lean, int stroke, int bg, float u) { + path.reset(); + path.moveTo(l + lean, t); + path.lineTo(rr, t); + path.lineTo(rr - lean, b); + path.lineTo(l, b); + path.close(); + fill.setColor(bg); + c.drawPath(path, fill); + line.setColor(stroke); + line.setStrokeWidth(1.5f * u); + c.drawPath(path, line); + } + + private void label(Canvas c, String s, float x, float y, float size, int colour, Typeface tf, Paint.Align a) { + text.setTypeface(tf); + text.setTextSize(size); + text.setTextAlign(a); + text.setColor(colour); + c.drawText(s, x, y, text); + } + + // ---------- Clock ---------- + + private void drawClock(Canvas c, float u) { + float l = 28f * u, t = 26f * u; + slant(c, l, t, l + 150f * u, t + 44f * u, 12f * u, main, AccentColor.withAlpha(main, 0x18), u); + label(c, v.clock.isEmpty() ? "—" : v.clock, l + 75f * u, t + 33f * u, 30f * u, light, face, Paint.Align.CENTER); + label(c, "LOCAL TIME", l + 12f * u, t + 64f * u, 14f * u, main, face, Paint.Align.LEFT); + } + + // ---------- Shield ---------- + + private void drawShield(Canvas c, float w, float u) { + boolean low = v.socPercent != null && v.socPercent < 20f; + boolean blinkOn = (SystemClock.uptimeMillis() / 500) % 2 == 0; + int colour = low ? RED : main; + float bw = Math.min(520f * u, w * 0.36f), l = (w - bw) / 2f, t = 28f * u, b = t + 30f * u; + slant(c, l - 14f * u, t - 8f * u, l + bw + 14f * u, b + 8f * u, 14f * u, AccentColor.withAlpha(colour, 0x90), + 0x66000000, u); + int lit = v.socPercent == null ? 0 : Math.round(Math.max(0f, Math.min(100f, v.socPercent)) / 100f * SHIELD); + float gap = 3f * u, seg = (bw - (SHIELD - 1) * gap) / SHIELD; + for (int i = 0; i < SHIELD; i++) { + float x = l + i * (seg + gap); + path.reset(); + path.moveTo(x + 6f * u, t); + path.lineTo(x + seg + 6f * u, t); + path.lineTo(x + seg, b); + path.lineTo(x, b); + path.close(); + boolean on = i < lit && (!low || blinkOn); + fill.setColor(on ? colour : AccentColor.withAlpha(colour, 0x22)); + c.drawPath(path, fill); + } + label(c, fmt(v.socPercent, "%.0f %%", "—"), w / 2f, b + 36f * u, 26f * u, low ? RED : light, face, + Paint.Align.CENTER); + if (low && blinkOn) { + label(c, "BATTERY LOW", w / 2f, b + 66f * u, 22f * u, RED, face, Paint.Align.CENTER); + } + } + + // ---------- Ammunition and grenades ---------- + + private void drawAmmo(Canvas c, float w, float u) { + float rr = w - 30f * u, t = 26f * u; + // The count: the range. + label(c, fmt(v.rangeKm, "%.0f", "—"), rr, t + 52f * u, 60f * u, light, face, Paint.Align.RIGHT); + label(c, "KM RANGE", rr, t + 74f * u, 15f * u, main, face, Paint.Align.RIGHT); + // The rounds: two rows of 25, one per 10 km. + int lit = v.rangeKm == null ? 0 : Math.round(Math.max(0f, v.rangeKm) / 10f); + float rw = 5f * u, rh = 20f * u, gap = 3f * u, perRow = ROUNDS / 2f; + float rowW = perRow * rw + (perRow - 1) * gap, l = rr - 150f * u - rowW; + for (int i = 0; i < ROUNDS; i++) { + int row = i / (ROUNDS / 2), col = i % (ROUNDS / 2); + float x = l + col * (rw + gap), y = t + 8f * u + row * (rh + 8f * u); + r.set(x, y, x + rw, y + rh); + fill.setColor(i < lit ? light : AccentColor.withAlpha(main, 0x26)); + c.drawRect(r, fill); + } + // The grenade slots: P R N D. + String[] gears = { "P", "R", "N", "D" }; + String now = Gear.label(v.gear); + float gs = 34f * u, gx = l, gy = t + 66f * u; + for (int i = 0; i < gears.length; i++) { + boolean on = gears[i].equals(now); + float x = gx + i * (gs + 6f * u); + path.reset(); + path.moveTo(x + gs / 2f, gy); + path.lineTo(x + gs, gy + gs * 0.5f); + path.lineTo(x + gs / 2f, gy + gs); + path.lineTo(x, gy + gs * 0.5f); + path.close(); + fill.setColor(on ? main : 0x55000000); + c.drawPath(path, fill); + line.setColor(on ? light : dim); + line.setStrokeWidth(1.5f * u); + c.drawPath(path, line); + label(c, gears[i], x + gs / 2f, gy + gs * 0.5f + 7f * u, 20f * u, on ? 0xFF03080D : main, face, + Paint.Align.CENTER); + } + } + + // ---------- Reticle ---------- + + private void drawReticle(Canvas c, float w, float h, float u) { + float cx = w / 2f, cy = h * 0.53f, rad = 122f * u; + line.setStrokeWidth(2f * u); + line.setColor(AccentColor.withAlpha(main, 0x70)); + c.drawCircle(cx, cy, rad, line); + // Four ticks. + line.setColor(main); + line.setStrokeWidth(3f * u); + c.drawLine(cx, cy - rad - 16f * u, cx, cy - rad + 10f * u, line); + c.drawLine(cx, cy + rad - 10f * u, cx, cy + rad + 16f * u, line); + c.drawLine(cx - rad - 16f * u, cy, cx - rad + 10f * u, cy, line); + c.drawLine(cx + rad - 10f * u, cy, cx + rad + 16f * u, cy, line); + // Power round it: 150 kW is a full turn, regeneration 50 kW the other way. + r.set(cx - rad - 10f * u, cy - rad - 10f * u, cx + rad + 10f * u, cy + rad + 10f * u); + line.setStrokeWidth(8f * u); + line.setStrokeCap(Paint.Cap.BUTT); + line.setColor(AccentColor.withAlpha(main, 0x1C)); + c.drawArc(r, 0, 360, false, line); + if (v.powerKw != null && Math.abs(v.powerKw) > 0.1f) { + boolean regen = v.powerKw < 0; + float sweepDeg = regen ? Math.max(-360f, v.powerKw / 50f * 360f) : Math.min(360f, v.powerKw / 150f * 360f); + line.setColor(regen ? REGEN : light); + c.drawArc(r, -90f, sweepDeg, false, line); + } + label(c, fmt(v.speedKmh, "%.0f", "—"), cx, cy + 34f * u, 104f * u, light, face, Paint.Align.CENTER); + label(c, "KM/H", cx, cy + 66f * u, 18f * u, main, face, Paint.Align.CENTER); + String power = v.powerKw == null ? "— kW" : String.format(Locale.US, v.powerKw < -0.05f ? "+%.1f kW" : "%.1f kW", + Math.abs(v.powerKw)); + label(c, power, cx, cy + rad + 48f * u, 24f * u, + v.powerKw != null && v.powerKw < -0.05f ? REGEN : light, face, Paint.Align.CENTER); + } + + // ---------- Motion tracker ---------- + + /** The tracker: rings, the sweep while moving, and the power trail as blips round the car. */ + private void drawTracker(Canvas c, float h, float u) { + float rad = 112f * u, cx = 40f * u + rad, cy = h - 34f * u - rad; + fill.setColor(AccentColor.withAlpha(main, 0x14)); + c.drawCircle(cx, cy, rad, fill); + line.setStrokeWidth(1.5f * u); + line.setColor(AccentColor.withAlpha(main, 0x90)); + c.drawCircle(cx, cy, rad, line); + line.setColor(AccentColor.withAlpha(main, 0x3A)); + c.drawCircle(cx, cy, rad * 0.66f, line); + c.drawCircle(cx, cy, rad * 0.33f, line); + c.drawLine(cx - rad, cy, cx + rad, cy, line); + c.drawLine(cx, cy - rad, cx, cy + rad, line); + if (v.speedKmh != null && v.speedKmh > 0.5f) { + float a = (float) Math.toRadians(sweep - 90f); + line.setColor(AccentColor.withAlpha(light, 0x90)); + line.setStrokeWidth(2f * u); + c.drawLine(cx, cy, cx + (float) Math.cos(a) * rad, cy + (float) Math.sin(a) * rad, line); + } + // Blips: the last two minutes, the newest nearest the top, each at the distance its power gives. + float[] trail = v.powerTrail; + if (trail != null && trail.length > 0) { + int step = Math.max(1, trail.length / 24); + for (int i = trail.length - 1, k = 0; i >= 0; i -= step, k++) { + float p = trail[i]; + if (Float.isNaN(p) || Math.abs(p) < 1f) continue; + float dist = (0.18f + 0.78f * Math.min(1f, Math.abs(p) / (p < 0 ? 40f : 60f))) * rad; + float ang = (float) Math.toRadians(-90f + k * 15f); + float bx = cx + (float) Math.cos(ang) * dist, by = cy + (float) Math.sin(ang) * dist; + int colour = p < 0 ? REGEN : ENEMY; + fill.setColor(AccentColor.withAlpha(colour, Math.max(0x40, 0xFF - k * 8))); + c.drawCircle(bx, by, 6f * u, fill); + } + } + // The car in the middle. + path.reset(); + path.moveTo(cx, cy - 10f * u); + path.lineTo(cx + 7f * u, cy + 8f * u); + path.lineTo(cx - 7f * u, cy + 8f * u); + path.close(); + fill.setColor(light); + c.drawPath(path, fill); + label(c, "60 kW", cx, cy - rad - 8f * u, 13f * u, main, thin, Paint.Align.CENTER); + } + + // ---------- Objective ---------- + + private void drawObjective(Canvas c, float w, float h, float u) { + float rr = w - 30f * u, l = rr - 330f * u, t = h - 214f * u, b = h - 34f * u; + slant(c, l, t, rr, b, 18f * u, AccentColor.withAlpha(main, 0x80), 0x80000000, u); + label(c, "OBJECTIVE", l + 30f * u, t + 30f * u, 18f * u, main, face, Paint.Align.LEFT); + String[][] rows = { + { "TRIP", fmt(v.tripKm, "%.1f km", "—") }, + { "5 MIN", fmt(v.usage5Min, "%.1f kWh/100", "—") }, + { "SINCE START", fmt(v.usageTrip, "%.1f kWh/100", "—") }, + { "CLIMATE", fmt(v.climateCelsius, "%.0f °C", "—") }, + { "ODOMETER", fmt(v.odometerKm, "%,.0f km", "—") }, + }; + for (int i = 0; i < rows.length; i++) { + float y = t + (62f + i * 27f) * u, x = l + 26f * u - i * 3f * u; + label(c, rows[i][0], x, y, 17f * u, main, thin, Paint.Align.LEFT); + label(c, rows[i][1], rr - 30f * u - i * 3f * u, y, 19f * u, light, face, Paint.Align.RIGHT); + } + } +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9be172b..1c5f899 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -138,6 +138,8 @@ Grid Time circuits Quest + Visor + Empire 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 c419775..e46687e 100644 --- a/app/src/main/res/values/style_palettes.xml +++ b/app/src/main/res/values/style_palettes.xml @@ -84,4 +84,24 @@ #806E5628 #6A5426 + + + + diff --git a/app/src/test/java/com/evsuite/abrp/EmpireAgeTest.java b/app/src/test/java/com/evsuite/abrp/EmpireAgeTest.java new file mode 100644 index 0000000..23b0c82 --- /dev/null +++ b/app/src/test/java/com/evsuite/abrp/EmpireAgeTest.java @@ -0,0 +1,40 @@ +package com.evsuite.abrp; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import org.junit.Test; + +/** The Empire style's ages by odometer — pure JVM. */ +public class EmpireAgeTest { + + @Test + public void agesByOdometer() { + assertEquals("Dark Age", EmpireAge.name(0f)); + assertEquals("Dark Age", EmpireAge.name(9_999f)); + assertEquals("Feudal Age", EmpireAge.name(10_000f)); + assertEquals("Castle Age", EmpireAge.name(45_000f)); + assertEquals("Imperial Age", EmpireAge.name(60_000f)); + assertEquals("Imperial Age", EmpireAge.name(250_000f)); + } + + @Test + public void theWayToTheNextAge() { + assertEquals("Castle Age", EmpireAge.next(12_000f)); + assertEquals(18_000f, EmpireAge.toNext(12_000f), 0.01f); + assertEquals(0.1f, EmpireAge.progress(12_000f), 0.001f); + assertEquals(0.5f, EmpireAge.progress(5_000f), 0.001f); + assertNull(EmpireAge.next(70_000f)); + assertNull(EmpireAge.toNext(70_000f)); + assertEquals(1f, EmpireAge.progress(70_000f), 0f); + } + + @Test + public void unreadIsNoAge() { + assertEquals("—", EmpireAge.name(null)); + assertEquals(-1, EmpireAge.index(Float.NaN)); + assertNull(EmpireAge.next(null)); + assertNull(EmpireAge.toNext(null)); + assertEquals(0f, EmpireAge.progress(null), 0f); + } +} diff --git a/screenshots/themes/empire-panel.png b/screenshots/themes/empire-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..928817c492e17349b4e451883f677e4d4ecbc01e GIT binary patch literal 66201 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Ðg!kGR&cV>#s{QhVO0ls?n3?6vFK@HT^ji2vFI=F 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 Qy_^H6DrzY-$k{;t2l_EPPXGV_ literal 0 HcmV?d00001 diff --git a/screenshots/themes/visor-panel.png b/screenshots/themes/visor-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..881f424840a78f7348dcc995a163af5b86da55ac GIT binary patch literal 46118 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 _Jka8rhIjY3$rm_k{|kD5XJW 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 r5|jsu1(^d