Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a44151b authored by Neil Fuller's avatar Neil Fuller Committed by Gerrit Code Review
Browse files

Merge "Capitalize TZ display name strings"

parents 1d6e9cfd e7fd120d
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
 */
package com.android.settings.datetime.timezone;

import static com.android.settingslib.datetime.ZoneGetter.capitalizeForStandaloneDisplay;

import android.content.Context;
import android.icu.text.LocaleDisplayNames;

@@ -23,19 +25,21 @@ import java.util.Locale;
public class RegionPreferenceController extends BaseTimeZonePreferenceController {
    private static final String PREFERENCE_KEY = "region";

    private final Locale mLocale;
    private final LocaleDisplayNames mLocaleDisplayNames;
    private String mRegionId = "";

    public RegionPreferenceController(Context context) {
        super(context, PREFERENCE_KEY);
        Locale locale = context.getResources().getConfiguration().getLocales().get(0);
        mLocale = locale;
        mLocaleDisplayNames = LocaleDisplayNames.getInstance(locale);

    }

    @Override
    public CharSequence getSummary() {
        return mLocaleDisplayNames.regionDisplayName(mRegionId);
        return capitalizeForStandaloneDisplay(mLocale,
                mLocaleDisplayNames.regionDisplayName(mRegionId));
    }

    public void setRegionId(String regionId) {
+4 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.settings.datetime.timezone;

import static com.android.settingslib.datetime.ZoneGetter.capitalizeForStandaloneDisplay;

import android.app.Activity;
import android.app.settings.SettingsEnums;
import android.content.Intent;
@@ -116,7 +118,8 @@ public class RegionSearchPicker extends BaseTimeZonePicker {
        final LocaleDisplayNames localeDisplayNames = LocaleDisplayNames.getInstance(getLocale());
        long i = 0;
        for (String regionId : regionIds) {
            String name = localeDisplayNames.regionDisplayName(regionId);
            String name = capitalizeForStandaloneDisplay(
                    mLocale, localeDisplayNames.regionDisplayName(regionId));
            items.add(new RegionItem(i++, regionId, name));
        }
        return new ArrayList<>(items);
+4 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.settings.datetime.timezone;

import static com.android.settingslib.datetime.ZoneGetter.capitalizeForStandaloneDisplay;

import android.app.settings.SettingsEnums;
import android.content.Intent;
import android.icu.text.Collator;
@@ -65,7 +67,8 @@ public class RegionZonePicker extends BaseTimeZoneInfoPicker {
        final LocaleDisplayNames localeDisplayNames = LocaleDisplayNames.getInstance(getLocale());
        final String regionId =
                getArguments() == null ? null : getArguments().getString(EXTRA_REGION_ID);
        mRegionName = regionId == null ? null : localeDisplayNames.regionDisplayName(regionId);
        mRegionName = regionId == null ? null : capitalizeForStandaloneDisplay(
                mLocale, localeDisplayNames.regionDisplayName(regionId));
    }

    @Override
+21 −9
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
 */
package com.android.settings.datetime.timezone;

import static com.android.settingslib.datetime.ZoneGetter.capitalizeForStandaloneDisplay;

import android.icu.text.TimeZoneFormat;
import android.icu.text.TimeZoneNames;
import android.icu.util.TimeZone;
@@ -152,19 +154,29 @@ public class TimeZoneInfo {
            String canonicalZoneId = getCanonicalZoneId(timeZone);
            final TimeZoneNames timeZoneNames = mTimeZoneFormat.getTimeZoneNames();
            final java.util.TimeZone javaTimeZone = toJavaTimeZone(canonicalZoneId);
            final CharSequence gmtOffset = ZoneGetter.getGmtOffsetText(mTimeZoneFormat, mLocale,
                javaTimeZone, mNow);
            final CharSequence gmtOffset =
                    ZoneGetter.getGmtOffsetText(mTimeZoneFormat, mLocale, javaTimeZone, mNow);
            return new TimeZoneInfo.Builder(timeZone)
                    .setGenericName(timeZoneNames.getDisplayName(canonicalZoneId,
                            TimeZoneNames.NameType.LONG_GENERIC, mNow.getTime()))
                    .setStandardName(timeZoneNames.getDisplayName(canonicalZoneId,
                            TimeZoneNames.NameType.LONG_STANDARD, mNow.getTime()))
                    .setDaylightName(timeZoneNames.getDisplayName(canonicalZoneId,
                            TimeZoneNames.NameType.LONG_DAYLIGHT, mNow.getTime()))
                    .setExemplarLocation(timeZoneNames.getExemplarLocationName(canonicalZoneId))
                    .setGenericName(getTzNameForListDisplay(mLocale, timeZoneNames,
                            canonicalZoneId, mNow, TimeZoneNames.NameType.LONG_GENERIC))
                    .setStandardName(getTzNameForListDisplay(mLocale, timeZoneNames,
                            canonicalZoneId, mNow, TimeZoneNames.NameType.LONG_STANDARD))
                    .setDaylightName(getTzNameForListDisplay(mLocale, timeZoneNames,
                            canonicalZoneId, mNow, TimeZoneNames.NameType.LONG_DAYLIGHT))
                    .setExemplarLocation(capitalizeForStandaloneDisplay(mLocale,
                            timeZoneNames.getExemplarLocationName(canonicalZoneId)))
                    .setGmtOffset(gmtOffset)
                    .build();
        }

        private static String getTzNameForListDisplay(
                Locale locale, TimeZoneNames timeZoneNames, String canonicalZoneId, Date now,
                TimeZoneNames.NameType nameType) {
            long nowEpochMillis = now.getTime();
            String displayName = timeZoneNames.getDisplayName(
                    canonicalZoneId, nameType, nowEpochMillis);
            return capitalizeForStandaloneDisplay(locale, displayName);
        }
    }

    /* package-private */ java.util.TimeZone getJavaTimeZone() {