Skip to content

feat(settings): polish Arrange apps reordering - #48

Open
manuel-rtsch wants to merge 5 commits into
HarlenPostill:mainfrom
manuel-rtsch:feat/arrange-apps-polish
Open

manuel-rtsch wants to merge 5 commits into
HarlenPostill:mainfrom
manuel-rtsch:feat/arrange-apps-polish

Conversation

@manuel-rtsch

@manuel-rtsch manuel-rtsch commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

What changed?

Polishes Settings → Arrange apps so reordering is easier to follow with the keypad and safer to leave.

  • Replaces the long description with a short, keyboard-agnostic two-row hint: Enter: Select App / Up/Down: Move App, with key names in small grey keycaps.
  • Makes the hint a focus target, so Up from the first app brings it back into view instead of stopping at the top row.
  • Moves Reset into the options bar.
  • Shows a Discard / Cancel confirmation bar when leaving with pending changes.
  • Keeps the selected app in context while it moves: it sits in the second slot with at least one neighbour above and the rest below.
  • Uses requestScrollToItem so the reorder and scroll land in the same measure pass, removing the one-frame flicker where the selected row appeared over its neighbour.
  • Restores the In dock labels for the first four apps.
  • Restores focus to the moved row and consumes key repeats, so holding Up/Down no longer leaves the highlight and focus out of sync.

The branch is based directly on main and contains only the Arrange apps changes.

How to test

  1. Open Settings → Arrange apps.
  2. Confirm the hint reads Enter: Select App / Up/Down: Move App and that the first four apps show In dock.
  3. Press Up from the first app and confirm the hint comes back into view; press Down to return to the first app.
  4. Select an app with Enter, then hold Up/Down. Confirm the app moves, stays in the second slot with a neighbour above, and the highlight/focus stay together.
  5. Confirm the selected row no longer flickers over the row above while moving.
  6. Press Options and confirm Reset is in the options bar.
  7. Make a change, then press Back/Settings. Confirm the Discard / Cancel bar appears. Cancel returns to editing; Discard leaves without saving.
  8. Press Done and confirm the new order is saved.

Real-device testing

  • Device model: SP01_FE_GE (Sidephone)
  • Android version: 12
  • Keypad or attached module, if relevant: built-in Sidephone keypad
  • Commit tested: 4e3da19
  • Test steps and results: Installed the dev build with ./gradlew :app:installDev, opened Settings → Arrange apps, and verified the hint, Reset placement, discard confirmation, reorder context, flicker fix, In dock labels, and focus restoration.
  • Screenshots, recording, or relevant logs: None attached; manual verification on the device.

Checklist

  • I created this branch from the latest main and this PR targets main.
  • I kept this PR focused and described its changes above.
  • I built the affected app and recorded the build command and result below.
  • I tested the changed behavior on a physical device and completed the device details above.
  • I checked nearby behavior for regressions, including keypad navigation and input when affected.
  • I ran the relevant automated tests and recorded commands and results below.
  • I added or updated tests where practical, or explained why no test is needed.
  • I updated documentation when behavior or setup changed. (Not applicable: no setup or behavior documentation changed.)
  • I removed debug code, credentials, and personal data from the diff and test evidence.

Build and automated test results

  • ./gradlew :app:assembleDev — BUILD SUCCESSFUL
  • ./gradlew :app:installDev — BUILD SUCCESSFUL (installed on SP01_FE_GE)
  • ./gradlew spotlessCheck — BUILD SUCCESSFUL
  • ./gradlew :app:testDebugUnitTest --tests "hrln.interactive.sidekit.apps.settings.ArrangeHomeTest" --tests "hrln.interactive.sidekit.home.HomeArrangerTest" — BUILD SUCCESSFUL

Known issues and exceptions

  • Documentation was not updated because this is a UI polish change with no setup or behavior documentation impact.

Maintainer review

Changes to main require approval from @HarlenPostill. Request review only when the required testing is complete.

Short keycap hint, Reset in Options, discard confirmation for pending edits, and keep the selected app in context with two rows above/below. Consume key repeats and restore focus so holding Up/Down no longer desyncs the highlight.
Use requestScrollToItem so the reorder and scroll land in the same measure pass, relax context to one row above/below, restore In dock labels, and split the key hint into two explicit rows.
The hint is now a focus target, so Up from the first app brings it back into view instead of stopping at the top row. Down returns to the first app.
manuel-rtsch added a commit to manuel-rtsch/Sidekit that referenced this pull request Nov 10, 2026
Bring the Arrange apps polish from PR HarlenPostill#48 into integration: short two-row keypad hint, focusable hint, Reset in options, discard confirmation, one-row reorder context with requestScrollToItem, restored In dock labels, and focus/key-repeat fixes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant