Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed the bug with linearlayout's divider in RTL #6489

Merged
merged 1 commit into from
Nov 5, 2024

Conversation

grzesiek2010
Copy link
Member

@grzesiek2010 grzesiek2010 commented Oct 31, 2024

Closes #6362

Why is this the best possible solution? Were any other approaches considered?

There’s a bug with the LinearLayout divider in RTL mode: https://issuetracker.google.com/issues/110104700 that causes this issue. Since it won’t be fixed, we’ll need an alternative to handle the spacing between buttons correctly. Switching to ConstraintLayout isn’t an option, as we deliberately used LinearLayout to address specific requirements (see #5942). The easiest and safest solution for now is to show or hide a divider view programmatically.

How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?

We need to test the display of the two buttons on the form end screen - Save as draft and Finalize (or Send, depending on settings). We don’t need to test their functionality, only the visual aspects:

  • Ensure they display correctly in RTL mode.
  • Check the layout when one button is missing (disabled in settings).
  • Confirm that both buttons expand proportionally: Button size differs at the end of form screen. #5942
  • Verify that the maximum width of the parent container is 640dp.

Do we need any specific form for testing your changes? If so, please attach one.

No.

Does this change require updates to documentation? If so, please file an issue here and include the link below.

No.

Before submitting this PR, please make sure you have:

  • added or modified tests for any new or changed behavior
  • run ./gradlew connectedAndroidTest (or ./gradlew testLab) and confirmed all checks still pass
  • added a comment above any new strings describing it for translators
  • added any new strings with date formatting to DateFormatsTest
  • verified that any code or assets from external sources are properly credited in comments and/or in the about file.
  • verified that any new UI elements use theme colors. UI Components Style guidelines

@grzesiek2010 grzesiek2010 marked this pull request as ready for review October 31, 2024 08:03
@lognaturel lognaturel added the high priority Should be looked at before other PRs/issues label Oct 31, 2024
@dbemke
Copy link

dbemke commented Nov 5, 2024

Tested with Success!

Verified on a device with Android 8.1, 10, 14

Verified cases:

  • issue doesn’t occur
  • RTL set in Collect and in the device settings
  • 1 or 2 buttons at the end page
  • different random languages
  • different font sizes
  • dark and light mode
  • portrait and landscape view
  • regression checks in buttons in RTL

@WKobus
Copy link

WKobus commented Nov 5, 2024

Tested with Success

Verified on device with Android 11, 15

@seadowg seadowg merged commit 8b72cd6 into getodk:master Nov 5, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
behavior verified high priority Should be looked at before other PRs/issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

End page buttons not aligned properly on older devices in RTL
5 participants