From 3b03d484fb6d6fa922a3c479f124b056a5d54caf Mon Sep 17 00:00:00 2001 From: Peter Wang Date: Tue, 15 Jun 2021 18:27:34 -0700 Subject: [PATCH] Use ICU style for choose_sim_text to handle special cases in RU Bug: 185406678 Test: Build Change-Id: I43bf77b0b09ae4c2bb8b3acf976d996854a80866 --- res/values/strings.xml | 6 +++++- src/com/android/settings/sim/ChooseSimActivity.java | 11 ++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 3b4fae4b944..fbfcc4f5aa1 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -12852,7 +12852,11 @@ Choose a number to use - %1$d numbers are available on this device, but only one can be used at a time + {count, plural, + =1 {1 number is available on this device, but only one can be used at a time} + =2 {2 numbers are available on this device, but only one can be used at a time} + other {# numbers are available on this device, but only one can be used at a time} + } Activating diff --git a/src/com/android/settings/sim/ChooseSimActivity.java b/src/com/android/settings/sim/ChooseSimActivity.java index f51445a92a9..d0ccc4c9d01 100644 --- a/src/com/android/settings/sim/ChooseSimActivity.java +++ b/src/com/android/settings/sim/ChooseSimActivity.java @@ -19,6 +19,7 @@ package com.android.settings.sim; import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.icu.text.MessageFormat; import android.os.Bundle; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; @@ -43,7 +44,10 @@ import com.google.android.setupdesign.items.ItemGroup; import com.google.android.setupdesign.items.RecyclerItemAdapter; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Locale; +import java.util.Map; /** Activity to show a list of profiles for user to choose. */ public class ChooseSimActivity extends Activity @@ -108,7 +112,12 @@ public class ChooseSimActivity extends Activity subscriptionCount++; } layout.setHeaderText(getString(R.string.choose_sim_title)); - layout.setDescriptionText(getString(R.string.choose_sim_text, subscriptionCount)); + MessageFormat msgFormat = new MessageFormat( + getString(R.string.choose_sim_text), + Locale.getDefault()); + Map arguments = new HashMap<>(); + arguments.put("count", subscriptionCount); + layout.setDescriptionText(msgFormat.format(arguments)); displaySubscriptions();