summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHongguang Chen <hgchen@google.com>2023-05-24 16:12:51 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-05-24 16:12:51 +0000
commit37b165f59e60010d36d77a69116179be3b957eef (patch)
tree18a01fc6bc79d25c16a380047573c3c6bc24a975
parentbd61bd657f8a53de8be336075a941d5413bb9bd4 (diff)
parente725269da9ec85b0067f3bf6f6bb7b34b0159b98 (diff)
downloadTvSettings-37b165f59e60010d36d77a69116179be3b957eef.tar.gz
Merge "Localize numbers in resolution selection Setting" into udc-dev
-rw-r--r--Settings/src/com/android/tv/settings/device/displaysound/ResolutionSelectionFragment.java3
-rw-r--r--Settings/src/com/android/tv/settings/util/ResolutionSelectionUtils.java31
2 files changed, 28 insertions, 6 deletions
diff --git a/Settings/src/com/android/tv/settings/device/displaysound/ResolutionSelectionFragment.java b/Settings/src/com/android/tv/settings/device/displaysound/ResolutionSelectionFragment.java
index b7426e7d0..db515ba65 100644
--- a/Settings/src/com/android/tv/settings/device/displaysound/ResolutionSelectionFragment.java
+++ b/Settings/src/com/android/tv/settings/device/displaysound/ResolutionSelectionFragment.java
@@ -169,7 +169,8 @@ public class ResolutionSelectionFragment extends PreferenceControllerFragment {
mode.getPhysicalWidth(), mode.getPhysicalHeight()),
ResolutionSelectionUtils.getRefreshRateString(mode.getRefreshRate()));
- String summary = mode.getPhysicalWidth() + " x " + mode.getPhysicalHeight();
+ String summary = ResolutionSelectionUtils.getResolutionSummary(mode.getPhysicalWidth(),
+ mode.getPhysicalHeight());
RadioPreference pref = new RadioPreference(getContext());
pref.setTitle(title);
pref.setSummary(summary);
diff --git a/Settings/src/com/android/tv/settings/util/ResolutionSelectionUtils.java b/Settings/src/com/android/tv/settings/util/ResolutionSelectionUtils.java
index 3c2069aa9..72150403e 100644
--- a/Settings/src/com/android/tv/settings/util/ResolutionSelectionUtils.java
+++ b/Settings/src/com/android/tv/settings/util/ResolutionSelectionUtils.java
@@ -16,25 +16,35 @@
package com.android.tv.settings.util;
+import static java.math.RoundingMode.HALF_UP;
+
import android.content.Context;
+import android.icu.number.LocalizedNumberFormatter;
+import android.icu.number.NumberFormatter;
import android.view.Display;
import com.android.tv.settings.R;
+import java.util.Locale;
+
/** This utility class for Resolution Setting **/
public class ResolutionSelectionUtils {
/**
- * Returns the refresh rate converted to a string. If the refresh rate has only 0s after the
- * floating point, they are removed. The unit "Hz" is added to end of refresh rate.
+ * Returns the refresh rate converted to a string in the local language. If the refresh rate has
+ * only 0s after the floating point, they are removed.
+ * The unit "Hz" is added to end of refresh rate.
*/
public static String getRefreshRateString(float refreshRate) {
- float roundedRefreshRate = Math.round(refreshRate * 100.0f) / 100.0f;
+ LocalizedNumberFormatter localizedNumberFormatter = NumberFormatter.with().roundingMode(
+ HALF_UP).locale(Locale.getDefault());
+ double roundedRefreshRate = Math.round(refreshRate * 100.0f) / 100.0f;
if (roundedRefreshRate % 1 == 0) {
- return Integer.toString((int) roundedRefreshRate);
+ return localizedNumberFormatter.format(roundedRefreshRate).toString();
} else {
- return Float.toString(roundedRefreshRate);
+ return String.format(Locale.getDefault(), "%.2f",
+ localizedNumberFormatter.format(roundedRefreshRate).toBigDecimal());
}
}
@@ -64,4 +74,15 @@ public class ResolutionSelectionUtils {
ResolutionSelectionUtils.getRefreshRateString(mode.getRefreshRate()));
return modeString;
}
+
+ /**
+ * Returns the resolution mode converted to a string in the local language.
+ * Format: width + " x " + height
+ */
+ public static String getResolutionSummary(int physicalWidth, int physicalHeight) {
+ LocalizedNumberFormatter localizedNumberFormatter = NumberFormatter.with().locale(
+ Locale.getDefault());
+ return localizedNumberFormatter.format(physicalWidth).toString() + " x "
+ + localizedNumberFormatter.format(physicalHeight).toString();
+ }
}