Skip to content

fix(android-llmservice): keep the log strip above the system navigation bar#318

Merged
bernardladenthin merged 1 commit into
mainfrom
claude/android-llmservice-edge-to-edge-insets
Jul 10, 2026
Merged

fix(android-llmservice): keep the log strip above the system navigation bar#318
bernardladenthin merged 1 commit into
mainfrom
claude/android-llmservice-edge-to-edge-insets

Conversation

@bernardladenthin

Copy link
Copy Markdown
Owner

Summary

The bottom log strip was hidden behind the Android system navigation bar (back / home / recents). Cause: on Android 15 (targetSdk 35) apps are edge-to-edge by default, so the window draws behind the nav bar and the strip — the lowest app element — landed underneath it.

Fix (the "put the app content above the nav bar" approach the user asked for):

  • Call enableEdgeToEdge() in onCreate so inset handling is consistent on every Android version (avoids the version-specific double-gap you'd get by only padding).
  • Pad the log strip's content with navigationBarsPadding() so the 🧾 icon + text sit above the nav bar. The Surface background still fills to the screen edge behind it (so it looks like a full-width bar), but the content is never covered.

The TopAppBar already handles the status-bar inset (Material3 default) and the Scaffold content is inset via its innerPadding, so only the custom bottom bar needed the manual inset. requirements.md R7.1 updated to record the behavior.

No API/behavior change beyond layout; the instrumented UI test (which drives promptInput/sendButton in the content area) is unaffected.

Test plan

  • enableEdgeToEdge() from androidx.activity (present in activity 1.9.3, via activity-compose) + navigationBarsPadding() from compose-foundation (BOM)
  • CI build-android-llmservice compiles + runs the on-device Compose test (API 30 emulator)
  • Docs synced — requirements.md R7.1

Related issues / PRs

Follow-up to the android-llmservice app (PRs #310#317). Reported: the bottom log strip is covered by the Android navigation bar.

Checklist

  • My commits follow Conventional Commits
  • No security-sensitive changes

🤖 Generated with Claude Code

https://claude.ai/code/session_01HTS5FpMtBLJENTGoRUrp5m


Generated by Claude Code

…on bar (edge-to-edge insets)

On Android 15 (targetSdk 35) the app is edge-to-edge by default, so the
bottom log strip was drawn behind the system navigation bar (back/home/
recents) and got covered. Enable edge-to-edge explicitly on every version
(consistent inset reporting) and pad the log strip's content above the
navigation bar via navigationBarsPadding — the Surface background still
fills to the screen edge, but the icon+text sit above the nav bar and stay
visible. requirements.md R7.1 updated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HTS5FpMtBLJENTGoRUrp5m
@bernardladenthin bernardladenthin merged commit 6ea5d39 into main Jul 10, 2026
11 of 15 checks passed
@bernardladenthin bernardladenthin deleted the claude/android-llmservice-edge-to-edge-insets branch July 10, 2026 07:03
@sonarqubecloud

Copy link
Copy Markdown

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.

2 participants