14 Commits
Author SHA1 Message Date
nyra 73b73d89a2 Merge: gauge low-usage fill uses the space bar button colour 2026-09-27 18:27:49 +00:00
nyra 06cb2526a4 Gauge: low-usage fill reuses the space bar button colour 2026-09-27 18:27:49 +00:00
nyra 12a95a4604 Merge: gauge low-usage fill matches the Orchid theme 2026-09-27 18:25:24 +00:00
nyra b263d75373 Gauge: low-usage fill matches the Orchid theme instead of cockpit green 2026-09-27 18:25:24 +00:00
nyra 495da34e37 Merge: long-press the usage gauge key to open the usage page 2026-09-27 18:20:59 +00:00
nyra a2fc16baeb Long-press the usage gauge key to open the usage page 2026-09-27 18:20:55 +00:00
nyra 98cf27a3a9 Merge keyboard work: emoji key, live usage gauge key, Orchid theme 2026-09-27 18:13:10 +00:00
nyra 31eecc2a13 Add the Orchid theme: pink letters, violet alternates, violet activated keys
Harley wanted a pink/violet keyboard. The alternates use the exact violet sampled
from his own UI accent (#c67dff); letters are pink (#ff8ad8), activated keys
(shift/Esc/123+) are filled violet (#a855f7) with dark glyphs, caps-lock is
periwinkle blue (#9db8ff), background is violet-black (#100a1c). Contrast checked:
9.13 / 7.19 / 9.92 / 4.9 :1. Five edits: themes.xml style, arrays.xml entries+values
(kept index-aligned), strings.xml label, Config.java case.
2026-09-27 18:07:05 +00:00
nyra 08c895aa12 Add live usage gauge key (GPT gradient + DeepSeek spend) beside L
- UsageGauge: WireGuard-only JSON fetch, cached, background thread, stale-aware
- Gauge key: gradient fill rises with the tightest Codex window, %.1f of today's
  DeepSeek spend, red below a $1.00 balance, flat grey when stale/offline
- Display-only: marker lives in the key indication field, no character, touch swallowed
- Settings entries; cleartext permitted only for 10.10.10.1
- ComposeKey: composing to U+00A0 keeps the named nbsp key, since adding a layout
  key perturbs the generated compose table and would otherwise emit the display glyph
- 5 new unit tests; all 21 tests pass
2026-09-27 17:38:18 +00:00
nyra be6f455b01 Rename app id to harley.keyboard and add agent notes 2026-09-27 17:09:44 +00:00
Nyra 5cba22a19a Move the emoji selector onto the Alt key top-right corner
Standalone top-row emoji key replaced by a badge in the Alt key key2 swipe slot, drawn as a smile-in-a-circle glyph: new special-font codepoint 0xE01D from Font Awesome face-smile, rebuilt into assets/special_font.ttf with fontforge. Corner slots carry FLAG_SECONDARY so labelColor dims them to secondaryLabelColor; the badge overrides to _theme.labelColor to match the rest of the keyboard labels, and is identified by its codepoint rather than an Event or Kind accessor, because those are only valid for specific kinds and crashed the IME when called unguarded in the draw path. Swipe toward the key top-right to reach it; the config gear stays in the bottom-left. check_layout.output excluded on purpose - unrelated latn_neo2 drift.
2026-09-27 14:16:47 +00:00
Nyra 0f2f8a47ff Fix crash: guard getEditing with a getKind check before colouring the space bar
KeyValue.getEditing is only defined when getKind is Kind.Editing. _code is overloaded, so on a character key it holds the character and Editing.values() indexed with it threw ArrayIndexOutOfBoundsException length=16 index=113 from drawLabel, crashing the IME on every draw. The phone was rolled back to the previous build first, then this fix was installed. Verified no crash after reinstall.
2026-09-27 13:56:49 +00:00
Nyra affc78fb63 Space bar joystick glyph carries the DeepSeek peak colour; drop the candidate-bar dot
The indicator is the space bar label itself (Editing.SPACE_BAR), so it needs no extra UI. Keyboard2 repaints the keyboard view every 60s while the input view is visible. Regenerated ComposeKeyData follows the layout change (moving the tilde and equals keys changes which keys compose), which is also what made the two unit tests pass again: they were failing on a stale generated state, not on real behaviour.
2026-09-27 09:25:52 +00:00
Nyra 5781fb6efc Add emoji key in the top-right corner, DeepSeek peak/off-peak dot, move tilde/backtick to s and equals/plus to f
switch_emoji uses a normal-font smiley label: 0xE001 is the joypad glyph in this fork. Peak dot: UTC Mon-Fri 01-04 and 06-10 pink, else blue; refreshes every 60s while the keyboard is visible.
2026-09-27 09:19:25 +00:00