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

Commit ea2c75f5 authored by Brad Ebinger's avatar Brad Ebinger Committed by Android (Google) Code Review
Browse files

Merge "Decouple Content Name Locale from Content Language Locale" into oc-mr1-dev

parents df3e2be7 a722139f
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.os.Parcelable;
import android.text.TextUtils;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -63,12 +64,6 @@ public class ServiceInfo {
            throw new RuntimeException("bad locales length " + newLocales.size());
        }

        for (Locale l : newLocales) {
            if (!newNames.containsKey(l)) {
                throw new IllegalArgumentException("A name must be provided for each locale");
            }
        }

        names = new HashMap(newNames.size());
        names.putAll(newNames);
        className = newClassName;
@@ -128,7 +123,7 @@ public class ServiceInfo {
     * Get the user-displayable name for this cell-broadcast service corresponding to the
     * provided {@link Locale}.
     * @param locale The {@link Locale} in which you want the name of the service. This must be a
     *               value from the list returned by {@link #getLocales()} -- an
     *               value from the set returned by {@link #getNamedContentLocales()} -- an
     *               {@link java.util.NoSuchElementException} may be thrown otherwise.
     * @return The {@link CharSequence} providing the name of the service in the given
     *         {@link Locale}
@@ -140,6 +135,17 @@ public class ServiceInfo {
        return names.get(locale);
    }

    /**
     * Return an unmodifiable set of the current {@link Locale}s that have a user-displayable name
     * associated with them. The user-displayable name associated with any {@link Locale} in this
     * set can be retrieved with {@link #getNameForLocale(Locale)}.
     * @return An unmodifiable set of {@link Locale} objects corresponding to a user-displayable
     * content name in that locale.
     */
    public @NonNull Set<Locale> getNamedContentLocales() {
        return Collections.unmodifiableSet(names.keySet());
    }

    /**
     * The class name for this service - used to categorize and filter
     */