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

Fix negative percent issue on Stats for RTL languages #20656

Merged
merged 5 commits into from
Apr 18, 2024

Conversation

irfano
Copy link
Member

@irfano irfano commented Apr 17, 2024

Fixes #17447

When the device language is set to Arabic, numbers with the percentage were being displayed as "%96-". This was the output of android.icu.text.NumberFormat function. I couldn't find any documentation related to this issue, but using java.text.NumberFormat resolves it. See the screenshot below:

before after

Ignore the inaccurate chart. I manipulated the code to display the negative percentage.


To Test:

  1. Set your device language to Arabic.
  2. Open the Jetpack app and head to Stats > Insights, on a site that has less traffic this week than last week.
  3. Verify that the negative percentage is displayed correctly.

Regression Notes

  1. Potential unintended areas of impact

    • Other languages.
  2. What I did to test those areas of impact (or what existing automated tests I relied on)

    • Tested in Turkish. The percent is displayed as "(-%96)", as expected.
  3. What automated tests I added (or what prevented me from doing so)

    • Added PercentFormatterTest.

PR Submission Checklist:

  • I have completed the Regression Notes.
  • I have considered adding accessibility improvements for my changes.
  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

Testing Checklist (strike-out the not-applying and unnecessary ones):

  • WordPress.com sites and self-hosted Jetpack sites.
  • Portrait and landscape orientations.
  • Light and dark modes.
  • Fonts: Larger, smaller and bold text.
  • High contrast.
  • Talkback.
  • Languages with large words or with letters/accents not frequently used in English.
  • Right-to-left languages. (Even if translation isn’t complete, formatting should still respect the right-to-left layout)
  • Large and small screen sizes. (Tablet and smaller phones)
  • Multi-tasking: Split screen and Pop-up view. (Android 10 or higher)

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Apr 17, 2024

WordPress📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress WordPress
FlavorJalapeno
Build TypeDebug
Versionpr20656-8fddc15
Commit8fddc15
Direct Downloadwordpress-prototype-build-pr20656-8fddc15.apk
Note: Google Login is not supported on these builds.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Apr 17, 2024

Jetpack📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack Jetpack
FlavorJalapeno
Build TypeDebug
Versionpr20656-8fddc15
Commit8fddc15
Direct Downloadjetpack-prototype-build-pr20656-8fddc15.apk
Note: Google Login is not supported on these builds.

Copy link

codecov bot commented Apr 17, 2024

Codecov Report

Attention: Patch coverage is 87.50000% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 40.47%. Comparing base (3f7287b) to head (8fddc15).
Report is 27 commits behind head on trunk.

Files Patch % Lines
...rg/wordpress/android/util/text/PercentFormatter.kt 85.71% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##            trunk   #20656   +/-   ##
=======================================
  Coverage   40.46%   40.47%           
=======================================
  Files        1485     1485           
  Lines       68443    68450    +7     
  Branches    11312    11312           
=======================================
+ Hits        27696    27704    +8     
+ Misses      38246    38245    -1     
  Partials     2501     2501           

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

@irfano irfano added this to the 24.8 milestone Apr 17, 2024
Copy link

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

Copy link
Contributor

@aditi-bhatia aditi-bhatia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Works as expected and I tested with a few other languages too

Screenshot 2024-04-17 at 5 19 58 PM

@aditi-bhatia aditi-bhatia merged commit 938519b into trunk Apr 18, 2024
20 checks passed
@aditi-bhatia aditi-bhatia deleted the issue/17447-fix-negative-percent-issue-for-rtl branch April 18, 2024 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stats: Negative percents (and other numbers with hyphens) are inverted in Arabic
3 participants