summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Victor Chang <vichang@google.com> 2023-11-29 13:52:12 +0000
committer Victor Chang <vichang@google.com> 2023-12-01 15:33:51 +0000
commite01e702f5dc541cbdd3812ea9dbdd2ac58d9c503 (patch)
treee933853248725bed2269fa26b8576d8b239cc145
parent7ad2c69032a7f2f68f3eacd964a18ac90aca6b06 (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.java3
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)