Skip to content

SAAS-20168 Fix Gregorian Date Widget fields losing focus in landscape edit mode - #3901

Draft
avazirna wants to merge 2 commits into
masterfrom
saas-20168_gregorian-widget-date-fields-ime-options
Draft

SAAS-20168 Fix Gregorian Date Widget fields losing focus in landscape edit mode#3901
avazirna wants to merge 2 commits into
masterfrom
saas-20168_gregorian-widget-date-fields-ime-options

Conversation

@avazirna

@avazirna avazirna commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

SAAS-20168

Product Description

In landscape, the day and year fields of the Gregorian Date Widget could not be edited as expected. Tapping either field brought up the keyboard, which left the form a thin strip tall and causing the question pane to collapse to a zero-height state. A zero-sized ancestor strips the focus from its children. As a result, anything entered via the keyboard would not be reflected in the view.

Now tapping either field brings up the keyboard's own full-width editor with a DONE key — the same behaviour the stock date widget (DateWidget) already has in landscape.

Technical Summary

Both fields declared android:imeOptions="flagNoExtractUi". That flag suppresses the IME's extracted-text editor, but it does not stop the IME entering fullscreen mode. So the IME went fullscreen, drew no editor of its own, and left the app to host the editing while adjustResize shrank it to nothing.
The fix was to set the imeOptions of both fields to IME_ACTION_DONE. This ensures that the extracted editor is triggered correctly.

Safety Assurance

Safety story

  • Tested locally on the day and year fields, on an emulator in landscape: tapping it opens the extracted editor and the value applies to the widget.

Labels and Review

  • Do we need to enhance the manual QA test coverage ? If yes, RELEASES.md is updated accordingly
  • Does the PR introduce any major changes worth communicating ? If yes, RELEASES.md is updated accordingly
  • Risk label is set correctly
  • The set of people pinged as reviewers is appropriate for the level of risk of the change

🤖 Generated with Claude Code

The day and year fields set flagNoExtractUi, which suppressed the IME's
extracted editor without stopping it from going fullscreen. In landscape
adjustResize leaves the question pane 47px tall, so the fields were
unreachable while the keyboard was up.
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 97759b4c-cde4-4051-9b63-466ee288680a

📥 Commits

Reviewing files that changed from the base of the PR and between da29732 and 279b3be.

📒 Files selected for processing (1)
  • app/res/layout/list_gregorian_widget.xml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The Gregorian date widget now uses imeOptions="actionDone" for its day and year EditText fields. It replaces flagNoExtractUi in both declarations.

Priority: ⬇️ Low — Defer this two-attribute Gregorian date widget layout change because it is a narrow landscape keyboard-behavior adjustment with no broader product-impact evidence.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 279b3

Gregorian day and year fields now present the keyboard Done action and allow extracted editing in landscape mode, with no data-handling or runtime code-path changes identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the user-visible defect, technical cause, fix, ticket, and manual testing. It omits the required Automated test coverage section and leaves several Labels and Review confirmat… Add an Automated test coverage section that states no automated tests were added and identifies the manual test conditions. Complete the Risk label and reviewer confirmation checkboxes, and clarify whether additional manual QA coverage is r…
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the Gregorian Date Widget focus-loss defect in landscape edit mode and names the related ticket.
Full details: Description check

Explanation

The description explains the user-visible defect, technical cause, fix, ticket, and manual testing. It omits the required Automated test coverage section and leaves several Labels and Review confirmations unchecked.

Resolution

Add an Automated test coverage section that states no automated tests were added and identifies the manual test conditions. Complete the Risk label and reviewer confirmation checkboxes, and clarify whether additional manual QA coverage is required.

  • Fix all pre-merge checks with AI

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 34.06%. Comparing base (a2bfaaa) to head (e5954a0).
⚠️ Report is 7 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3901      +/-   ##
============================================
- Coverage     34.07%   34.06%   -0.02%     
  Complexity     6148     6148              
============================================
  Files          1022     1022              
  Lines         60518    60518              
  Branches       7264     7264              
============================================
- Hits          20623    20616       -7     
- Misses        37543    37547       +4     
- Partials       2352     2355       +3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@avazirna avazirna changed the title SAAS-20168 Align Gregorian Date Widget Fields With The Platform Date Picker SAAS-20168 Fix Gregorian Date Widget fields losing focus in landscape edit mode Sep 8, 2026
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@avazirna
avazirna force-pushed the saas-20168_gregorian-widget-date-fields-ime-options branch from d0e70f3 to e5954a0 Compare September 8, 2026 13:01
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