fix: issue #19 UI fixes — nav-bar insets, default tags, post-send auto-return - #20
Merged
Conversation
…o-return Three independent UI problems reported in issue #19, all fork-owned (no frozen-core scan/OCR behavior touched): 1. Bottom buttons overlapped the Android nav bar (edge-to-edge, targetSdk 36). The page hub ("Continue"), edit screen ("Continue"), and settings ("Save") buttons lacked the bottom-inset handling the capture screens already use. Applied the existing UIUtils.adjustMarginForSystemInsets pattern to each. (Finalize buttons are top-anchored — not affected, left as-is.) 2. Tags default was hard-coded to "sermon". Added a configurable "Default tags" field to Settings (SongbirdPrefsHelper.getDefaultTags/setDefaultTags, default "sermon" so the documented import default holds); EditViewModel.initialize now takes the default verbatim and EditFragment passes the configured value. 3. The Send button stayed tappable after a successful send. A clean import now briefly shows the result, then clears the session + capture state (mirroring the page hub's "start over" reset) and returns to the camera start screen. Failures stay put with Send re-enabled for retry. Tests: EditViewModelTest updated for the new initialize signature + two cases covering configured/blank default tags. Gate green (compilePaddleDebugJavaWithJavac + testPaddleDebugUnitTest + lintPaddleDebug). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
kbennett2000
marked this pull request as ready for review
June 10, 2026 17:15
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.
Fixes #19 — three independent UI issues from the bug report, bundled into one PR (all small, fork-owned UI changes; no frozen-core scan/OCR behavior touched). Happy to split if you'd prefer.
1. Bottom buttons overlapped the Android nav bar
Edge-to-edge is on (
targetSdk 36,setDecorFitsSystemWindows(false)), and the page-hub Continue, edit-screen Continue, and settings Save buttons sat under the system nav buttons — you had to tap their top sliver. The capture screens (CameraFragment/CropFragment/OCRFragment) already fix this viaUIUtils.adjustMarginForSystemInsets(view, baseDp); this applies that same established pattern to the three screens that were missing it.2. Configurable default tags
Tags were hard-coded to
sermon. Added a Default tags (comma-separated) field to Settings, stored viaSongbirdPrefsHelper(getDefaultTags/setDefaultTags, defaulting to"sermon"so the documented["sermon"]import default still holds out-of-box; an explicitly-blanked value is honored → empty tag box).EditViewModel.initialize(...)takes the value verbatim andEditFragmentpasses the configured default, so the edit-screen tag box prefills with it.3. Send button re-tappable after success → auto-return to start
A successful, clean import now briefly shows the created/skipped result, then clears the session + capture state (mirroring the page hub's existing "start over" reset) and returns to the camera start screen, ready for the next handout. This also stops the Send button being tapped again on an already-imported note. Failures (unreachable / login-rejected / HTTP error /
failed > 0) stay put with Send re-enabled for retry.Verification
:app:compilePaddleDebugJavaWithJavac :app:testPaddleDebugUnitTest :app:lintPaddleDebug.EditViewModelTestupdated for the newinitialize(..., defaultTags)signature + two new cases (configured default flows through; blank default → no tags).On-device checklist (why this is a draft)
sermon, majestic viewprefills the edit tag box on the next scan; blank-saved → empty box.🤖 Generated with Claude Code