diff options
author | Hongguang Chen <hgchen@google.com> | 2023-05-24 16:12:51 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-05-24 16:12:51 +0000 |
commit | 37b165f59e60010d36d77a69116179be3b957eef (patch) | |
tree | 18a01fc6bc79d25c16a380047573c3c6bc24a975 | |
parent | bd61bd657f8a53de8be336075a941d5413bb9bd4 (diff) | |
parent | e725269da9ec85b0067f3bf6f6bb7b34b0159b98 (diff) | |
download | TvSettings-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.java | 3 | ||||
-rw-r--r-- | Settings/src/com/android/tv/settings/util/ResolutionSelectionUtils.java | 31 |
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(); + } } |