diff options
author | 2023-11-29 13:52:12 +0000 | |
---|---|---|
committer | 2023-12-01 15:33:51 +0000 | |
commit | e01e702f5dc541cbdd3812ea9dbdd2ac58d9c503 (patch) | |
tree | e933853248725bed2269fa26b8576d8b239cc145 | |
parent | 7ad2c69032a7f2f68f3eacd964a18ac90aca6b06 (diff) |
Remove Unicode whitespace before AM/PM in the status bar
The regression is introduced in Android 14 with ICU 72 when \u202f
is used in the time format for en-US.
UCharacter.isUWhitespace is a better way to determine Unicode whitespace
characters than the characters used in the java language as in JLS 3.6,
because the time format comes from the ICU following the Unicode / CLDR spec.
Flag: NA
Bug: 312903894
Test: Verified that MAGIC1 is inserted before \u202f
Test: Inspected the TextView.mText via https://google.github.io/web-hv
Change-Id: I7b660b94c6ef75dbe96be8bcd2b074c8edd73ba7
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java index 713283ebf947..20d1fff91443 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java @@ -24,6 +24,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.res.TypedArray; import android.graphics.Rect; +import android.icu.lang.UCharacter; import android.icu.text.DateTimePatternGenerator; import android.os.Bundle; import android.os.Handler; @@ -472,7 +473,7 @@ public class Clock extends TextView implements if (a >= 0) { // Move a back so any whitespace before AM/PM is also in the alternate size. final int b = a; - while (a > 0 && Character.isWhitespace(format.charAt(a-1))) { + while (a > 0 && UCharacter.isUWhiteSpace(format.charAt(a - 1))) { a--; } format = format.substring(0, a) + MAGIC1 + format.substring(a, b) |