use L10n-friendly runtime number formatting based on locale

Arabic use Western or Eastern numbers depends on the regions.

Bug: 276479321
Test: atest AccessibilityButtonFooterPreferenceControllerTest
Test: manual
Change-Id: I855f4fd891893b094163b0d479bdf3e5155dffc1
This commit is contained in:
Chun-Ku Lin
2023-06-29 02:43:44 +00:00
parent 4dd2e56ddf
commit 20976c3a53
4 changed files with 54 additions and 20 deletions

View File

@@ -25,6 +25,8 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.Resources;
import android.icu.text.MessageFormat;
import android.text.Html;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
@@ -73,18 +75,26 @@ public class AccessibilityButtonFooterPreferenceControllerTest {
mController.displayPreference(mScreen);
assertThat(mPreference.getTitle()).isEqualTo(
mContext.getText(R.string.accessibility_button_gesture_description));
assertThat(mPreference.getTitle().toString()).isEqualTo(
Html.fromHtml(
MessageFormat.format(mContext.getString(
R.string.accessibility_button_gesture_description), 1, 2, 3),
Html.FROM_HTML_MODE_COMPACT).toString());
}
@Test
public void displayPreference_navigationGestureDisabled_setCorrectTitle() {
when(mResources.getInteger(com.android.internal.R.integer.config_navBarInteractionMode))
.thenReturn(NAV_BAR_MODE_2BUTTON);
when(mResources.getInteger(
com.android.internal.R.integer.config_navBarInteractionMode)).thenReturn(
NAV_BAR_MODE_2BUTTON);
mController.displayPreference(mScreen);
assertThat(mPreference.getTitle()).isEqualTo(
mContext.getText(R.string.accessibility_button_description));
assertThat(mPreference.getTitle().toString()).isEqualTo(
Html.fromHtml(
MessageFormat.format(
mContext.getString(
R.string.accessibility_button_description), 1, 2, 3),
Html.FROM_HTML_MODE_COMPACT).toString());
}
}