Repository navigation
K2GO-385 refactor(ui): Maps M3, download-control ladder, and dialogs on paper - #555
Merged
Merged
Conversation
Recolor the five outlined trait pills on the Maps landing so the stroke and text carry meaning, not one flat accent: - After download, Light, Heavy -> neutral hairline outline (metadata). - Online -> amber outline (needs connectivity, a caveat). - Offline -> leaf outline (works without a network, positive). The basic-maps Included badge stays leaf. No strings change.
…clay) The FQR download overlay had Stop/Retry and Cancel as two identical outlined teal buttons, so the keep-the-download action and the discard action looked the same. Apply the download-controls role ladder (design k2go-download-card-style-sizes-v1): - Stop/Retry -> filled teal primary (keep the download). - Cancel -> text button in clay (it discards the transfer). Add a reusable Widget.K2Go.Button.Text.Destructive style plus its ThemeOverlay; the role colour lives only in the style, not in Java. No strings change.
…ctive
The Full-Quality Region delete confirm ("Delete <name>?") used a raw
MaterialAlertDialog with two equal text buttons, so a destructive delete
looked the same as any plain dialog. Route it through the shared
BrandDialog like the other erase/from-scratch confirms: a clay outlined
destructive "Delete" over a text Cancel. Pass the Theme_K2Go context
(the host PortalActivity is not K2Go-themed). No strings change.
The FQR subsystem still built its dialogs with raw MaterialAlertDialog, so they did not match the shared BrandDialog cards used elsewhere. Move them all onto BrandDialog: - Estimate error, download failed and delete failed -> one shared errorDialog(titleRes, message) helper (OK button). - Calculating (spinner) and Consent (Download / Not now) -> BrandDialog with content view; the map-reset on cancel (ADFA-5043) is preserved. Add BrandDialog.setOnCancel(OnClick) so a caller reacts to back or tap-outside without reaching into the underlying dialog; the consent and calculating screens use it. No MaterialAlertDialog remains in the file. No strings change.
…actor/K2GO-385-maps-m3
… text-clay The rootfs/library download card (activity_library boot surface) had a big outlined Pause pill beside a bare-text Cancel, mismatched with the FQR download card. Bring it onto the same download-controls ladder (design k2go-library-download-sizes-v1): - Toggle (Pause / Resume / Retry) -> FILLED primary in every state, via a new Widget.K2Go.Button.OnBootPaper style. It uses the FIXED k2go_boot_accent teal, not the theme teal (which flips pale at night on this fixed paper, ADFA-4814). - Cancel -> text button in clay (Widget.K2Go.Button.Text.OnBootPaper.Destructive). - Progress bar -> a visible 6dp track instead of the framework hairline. This supersedes the ADFA-5119 rule that kept Pause outlined: the design makes the primary filled in every state, matching the FQR card. The colour now lives only in the style, so the per-state tint code in LibraryActivity is removed (the label is the only thing that changes). No strings change.
The FQR download bar stayed teal even when the job stopped, so a halted transfer looked live. Colour it by state (design k2go-download-card-style- sizes-v1: 'stopped bar is dimmed + amber so a halted job never looks live'): - Downloading -> teal, full opacity. - Stopped -> amber and dimmed. - Done -> leaf, full opacity. One setBarState(colour, live) helper drives it from the poll transitions; overlayStopped stays the single source of state. No strings change.
…(01) The Maps layer pills marked a single-select choice with a solid teal fill and white text -- reading like a filled action button, and with no radio. Make each a selectable option card (design k2go-component-roles-decisions Q1/Q2): a leading radio plus a label/size column; selected = tonal teal fill + filled radio, unselected = outline + empty radio. No check (check is for multi-select). Kept the compact wrapping pills (option A) so the four groups of up to five levels still fit one short screen. New k2go_teal_tonal token (light + night twin) and k2go_pill_tonal drawable. The radio is tinted with the day/night teal/muted tokens because ic_radio_on/off carry fixed hex that is unreadable on the night surface. No strings change.
…log (C2) The 'Installation interrupted' recovery dialog was a raw AlertDialog: a white surface, no state colour, and three equal teal actions in a split layout with no primary emphasis. Move it onto the shared BrandDialog (design k2go-install-interrupted-dialog): - A clay error icon carries the state; the title stays ink. - Recover -> filled teal primary; Close -> text secondary; Report the problem -> a quiet muted tertiary that does not compete. Extend BrandDialog generically (all additive; existing dialogs unchanged): setIcon(drawable, tint) for an optional leading state icon, and setDismissOnNeutral(false) so Report can send feedback plus a screenshot of this dialog without closing it. The neutral slot is now the muted tertiary and sits last. New ic_error_outline_24 drawable and a Widget.K2Go.Button.Text.Muted style. Non-cancelable, as before. No strings change.
Every BrandDialog card used the legacy dash_module_bg (#DEE1E6 light / #242424 night), a cool gray that does not belong to the K2Go palette. Point the card at the k2go_paper token (#FBF8F3 light / #0F1A19 night) so all app dialogs sit on the Theme_K2Go paper surface (design intent). The card is separated from the page by its elevation shadow and the modal scrim. Title/message keep their day/night text tokens, which stay legible on paper in both modes. No code change; affects all BrandDialogs.
…p dead drawable Two low findings from the pre-merge full-branch review: - FqrController: an FQR consent comment used em-dashes; switch to ASCII '--' per the repo convention. - Delete k2go_chip_bg.xml: it was the old solid-teal selected-pill fill, orphaned once the Maps option card moved to k2go_pill_tonal.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Finishes the Material 3 standardization for the Maps area, the two download-control
surfaces, and the remaining raw dialogs. All work sits on Theme_K2Go with the M3
action hierarchy (filled primary, text secondary, muted tertiary).
Maps
Online = amber, After download / Light / Heavy = neutral).
Download controls (one ladder for FQR + library boot)
primary; Cancel = text in clay. Boot card bar is a visible 6dp track. Boot uses
fixed boot tokens (the theme teal night-twins pale on the fixed paper).
Dialogs
"Installation interrupted" recovery dialog now use the shared BrandDialog. The
interrupted dialog gets a clay error icon, filled Recover, text Close, and a
muted Report that does not dismiss.
on-cancel) with defaults that leave existing dialogs unchanged, and its card now
uses the K2Go paper surface.
Note: removes the ADFA-5119 boot-Pause-outlined emphasis in favour of one filled
ladder shared by both download cards (documented in the code).
Verification: built (assembleDebug) and installed on a Samsung (arm64); each slice
checked on device. Two-pass review per slice plus a full-branch pass -- 0 correctness
findings, 2 low cleanups applied.