summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHongguang Chen <hgchen@google.com>2023-05-24 16:53:23 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-05-24 16:53:23 +0000
commit3fb55f007b62b0da2775f80b1b03ba1906059a9d (patch)
treeb8056fad069b7db833084b396b3b6ca0e59233e4
parent3b0437d278200d4dba597a94ec090c00c581e957 (diff)
parent37b165f59e60010d36d77a69116179be3b957eef (diff)
downloadTvSettings-3fb55f007b62b0da2775f80b1b03ba1906059a9d.tar.gz
Merge "Localize numbers in resolution selection Setting" into udc-dev am: 37b165f59e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/TvSettings/+/23367057 Change-Id: I503b7b6eacafccceae2ffa63f5d2ee9d6e7d372e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-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();
+ }
}