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

Commit a830e830 authored by Brad Ebinger's avatar Brad Ebinger Committed by Gerrit Code Review
Browse files

Merge "Decouple Content Name Locale from Content Language Locale"

parents 537d63fe d01f6eec
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -40585,6 +40585,7 @@ package android.telephony.mbms {
  public class ServiceInfo {
    method public java.util.List<java.util.Locale> getLocales();
    method public java.lang.CharSequence getNameForLocale(java.util.Locale);
    method public java.util.Set<java.util.Locale> getNamedContentLocales();
    method public java.lang.String getServiceClassName();
    method public java.lang.String getServiceId();
    method public java.util.Date getSessionEndTime();
+1 −0
Original line number Diff line number Diff line
@@ -44113,6 +44113,7 @@ package android.telephony.mbms {
  public class ServiceInfo {
    method public java.util.List<java.util.Locale> getLocales();
    method public java.lang.CharSequence getNameForLocale(java.util.Locale);
    method public java.util.Set<java.util.Locale> getNamedContentLocales();
    method public java.lang.String getServiceClassName();
    method public java.lang.String getServiceId();
    method public java.util.Date getSessionEndTime();
+1 −0
Original line number Diff line number Diff line
@@ -40807,6 +40807,7 @@ package android.telephony.mbms {
  public class ServiceInfo {
    method public java.util.List<java.util.Locale> getLocales();
    method public java.lang.CharSequence getNameForLocale(java.util.Locale);
    method public java.util.Set<java.util.Locale> getNamedContentLocales();
    method public java.lang.String getServiceClassName();
    method public java.lang.String getServiceId();
    method public java.util.Date getSessionEndTime();
+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;
@@ -62,12 +63,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;
@@ -127,7 +122,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}
@@ -139,6 +134,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
     */