Skip to content

fix(android): polish gateway settings layout#100363

Merged
Solvely-Colin merged 4 commits into
openclaw:mainfrom
IWhatsskill:codex/android-gateway-settings-layout-polish
Jul 6, 2026
Merged

fix(android): polish gateway settings layout#100363
Solvely-Colin merged 4 commits into
openclaw:mainfrom
IWhatsskill:codex/android-gateway-settings-layout-polish

Conversation

@IWhatsskill

@IWhatsskill IWhatsskill commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

What Problem This Solves

The Android Gateway settings screen had compact layout rows that could leave unstable width for status values and setup fields.

Why This Change Was Made

This keeps the active Gateway settings UI focused on predictable sizing: metric values use a stable right-aligned column, setup field rows fill the card width, and long helper copy is bounded.

After the layout polish moved Android UI string call sites, the generated native i18n inventory was refreshed so the repository metadata matches the new source line locations.

User Impact

Gateway connection status and setup controls are easier to scan on phone-sized screens, with less clipping risk in the Gateway settings route.

Evidence

  • git diff --check: PASS
  • ./gradlew :app:runKtlintCheckOverMainSourceSet: PASS
  • ./gradlew :app:assemblePlayDebug: PASS
  • pnpm native:i18n:check: PASS (native-app-i18n: entries=2529 changed=false)
  • i18n repair diff: apps/.i18n/native-source.json only; generated line metadata refresh from pnpm native:i18n:sync, no source/id/path/kind/surface changes.
  • Android API 36 lane-b emulator: active Gateway settings route inspected before and after the layout polish with the Gateway online.
  • Before state showed Connection: Connected, Node: Online, and Status: Ready on the Gateway settings route.
  • After state showed Connection: Connected, Node: Online, and Status: Ready on the Gateway settings route.
  • Public before/after screenshots:

before-100363-gateway-settings-online after-100363-gateway-settings-online

Before video:

before-100363-gateway-settings-online.mp4

After video:

after-100363-gateway-settings-online.mp4
  • SettingsMetricPanel is shared across settings screens; the right-aligned value column is intentional so metric rows keep a consistent title/value scan pattern wherever this helper is reused.
  • AI-assisted contribution.

@openclaw-barnacle openclaw-barnacle Bot added app: android App: android size: XS triage: blank-template Candidate: PR template appears mostly untouched. triage: needs-pr-context Candidate: external PR body lacks required problem context or evidence. and removed triage: needs-pr-context Candidate: external PR body lacks required problem context or evidence. labels Jul 5, 2026
@clawsweeper

clawsweeper Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 5, 2026, 4:19 PM ET / 20:19 UTC.

Summary
The PR adjusts Android Gateway settings rows and the shared SettingsMetricPanel layout, then refreshes apps/.i18n/native-source.json line metadata for the moved strings.

PR surface: Other +21. Total +21 across 2 files.

Reproducibility: no. high-confidence local Android repro was run in this read-only review. Source inspection shows the compact current-main rows, and the contributor supplied before/after emulator screenshots of the Gateway settings route.

Review metrics: 2 noteworthy metrics.

  • Shared SettingsMetricPanel impact: 1 shared helper changed. The metric alignment change affects multiple Android settings screens, not only the Gateway route shown in proof.
  • Native i18n inventory refresh: 43 metadata entries changed. The generated inventory update matters because the UI string call sites moved and the prior review blocker was stale line metadata.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster ✨ media proof bonus
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • none.

Risk before merge

  • [P1] SettingsMetricPanel is shared across several Android settings screens; the supplied proof covers the Gateway route, so sibling panel visual impact remains ordinary maintainer visual judgment before merge.

Maintainer options:

  1. Decide the mitigation before merge
    Land the narrow Android layout polish after normal maintainer visual review, keeping the native i18n metadata refresh paired with the source movement.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • No ClawSweeper repair lane is needed because there are no blocking findings and the remaining action is ordinary maintainer review.

Security
Cleared: The diff only changes Android Compose layout and generated i18n line metadata, with no dependency, workflow, permission, secret, or code-execution surface touched.

Review details

Best possible solution:

Land the narrow Android layout polish after normal maintainer visual review, keeping the native i18n metadata refresh paired with the source movement.

Do we have a high-confidence way to reproduce the issue?

No high-confidence local Android repro was run in this read-only review. Source inspection shows the compact current-main rows, and the contributor supplied before/after emulator screenshots of the Gateway settings route.

Is this the best way to solve the issue?

Yes. The patch stays in the Android Compose UI/shared metric helper layer, refreshes generated native i18n metadata, and does not add config, runtime behavior, or a parallel implementation path.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 09f9a85145c0.

Label changes

Label justifications:

  • P3: This is a small Android settings UI polish PR with sufficient visual proof and no blocking correctness or security findings.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (screenshot): The PR body includes before/after Android emulator screenshots and videos, and the inspected screenshots directly show the changed Gateway settings route after the fix.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body includes before/after Android emulator screenshots and videos, and the inspected screenshots directly show the changed Gateway settings route after the fix.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. The PR body includes before/after Android emulator screenshots and videos, and the inspected screenshots directly show the changed Gateway settings route after the fix.
Evidence reviewed

PR surface:

Other +21. Total +21 across 2 files.

View PR surface stats
Area Files Added Removed Net
Source 0 0 0 0
Tests 0 0 0 0
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 2 71 50 +21
Total 2 71 50 +21

What I checked:

Likely related people:

  • obviyus: CONTRIBUTING.md explicitly lists obviyus for the Android app, making them the clearest routing candidate for Android settings UI polish. (role: Android app area contact; confidence: medium; commits: 7638052178aa; files: CONTRIBUTING.md, apps/android/app/src/main/java/ai/openclaw/app/ui/SettingsScreens.kt)
  • IWhatsskill: They authored the recently merged Android Gateway setup button clipping fix in the same SettingsScreens.kt Gateway settings surface, beyond only proposing this PR. (role: adjacent layout contributor; confidence: medium; commits: 1c83c2d4a626; files: apps/android/app/src/main/java/ai/openclaw/app/ui/SettingsScreens.kt)
  • Tosko4: They authored the settings detail panel work that touched SettingsScreens.kt and related Android settings surfaces using SettingsMetricPanel. (role: adjacent feature contributor; confidence: medium; commits: ea56b135c830; files: apps/android/app/src/main/java/ai/openclaw/app/ui/SettingsScreens.kt, apps/android/app/src/main/java/ai/openclaw/app/ui/HealthLogsSettingsScreen.kt, apps/android/app/src/main/java/ai/openclaw/app/ui/SkillsSettingsScreen.kt)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.
Review history (4 earlier review cycles)
  • reviewed 2026-07-05T15:25:37.059Z sha 9c898ce :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-05T19:13:58.206Z sha 9c898ce :: needs changes before merge. :: [P2] Refresh the native i18n inventory
  • reviewed 2026-07-05T19:52:40.301Z sha 9c898ce :: needs changes before merge. :: [P2] Refresh the native i18n inventory
  • reviewed 2026-07-05T20:12:39.442Z sha 99a8050 :: needs maintainer review before merge. :: none

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. labels Jul 5, 2026
@IWhatsskill
IWhatsskill marked this pull request as ready for review July 5, 2026 18:58
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jul 5, 2026
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jul 5, 2026
@Solvely-Colin Solvely-Colin self-assigned this Jul 6, 2026
@Solvely-Colin
Solvely-Colin merged commit 58bbf5a into openclaw:main Jul 6, 2026
108 of 114 checks passed
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 6, 2026
giodl73-repo pushed a commit to giodl73-repo/openclaw that referenced this pull request Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: android App: android P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: S status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. triage: blank-template Candidate: PR template appears mostly untouched.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants