Merge "Changed ServiceInfo.Locale to a List"
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
index 789da39..677f39b 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
@@ -19,6 +19,7 @@
 import android.net.Uri;
 import android.telephony.mbms.StreamingServiceInfo;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -61,9 +62,14 @@
         sServiceIdCounter++;
         String id = "StreamingServiceId[" + sServiceIdCounter + "]";
         Map<Locale, String> localeDict = new HashMap<Locale, String>() {{
-            put(Locale.US, "Entertainment Source " + sServiceIdCounter);
+                put(Locale.US, "Entertainment Source " + sServiceIdCounter);
+                put(Locale.CANADA, "Entertainment Source, eh?" + sServiceIdCounter);
         }};
-        StreamingServiceInfo info = new StreamingServiceInfo(localeDict, className, Locale.US,
+        List<Locale> locales = new ArrayList<Locale>() {{
+                add(Locale.CANADA);
+                add(Locale.US);
+        }};
+        StreamingServiceInfo info = new StreamingServiceInfo(localeDict, className, locales,
                 id, new Date(System.currentTimeMillis() - 10000),
                 new Date(System.currentTimeMillis() + 10000));
         sIdToServiceInfo.put(id, info);
diff --git a/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java b/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java
index c310064..aa4a15b 100644
--- a/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java
+++ b/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java
@@ -25,7 +25,6 @@
 import android.telephony.MbmsStreamingManager;
 import android.telephony.mbms.MbmsException;
 import android.telephony.mbms.MbmsStreamingManagerCallback;
-import android.telephony.mbms.StreamingService;
 import android.telephony.mbms.StreamingServiceInfo;
 import android.view.View;
 import android.view.ViewGroup;
@@ -39,8 +38,8 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
-import java.util.Objects;
 
 public class EmbmsTestStreamingApp extends Activity {
     private static final String APP_NAME = "StreamingApp1";
@@ -62,11 +61,24 @@
             super(context, resource);
         }
 
+        private String getName(StreamingServiceInfo info) {
+            Map<Locale, String> names = info.getNames();
+            String name = "<No Name>";
+            if (!names.isEmpty()) {
+                Locale locale = Locale.getDefault();
+                if (!names.containsKey(locale)) {
+                    locale = names.keySet().iterator().next();
+                }
+                name = names.get(locale);
+            }
+            return name;
+        }
+
         @Override
         public View getView(int position, View convertView, ViewGroup parent) {
             StreamingServiceInfo info = getItem(position);
             TextView result = new TextView(EmbmsTestStreamingApp.this);
-            result.setText(info.getNames().get(info.getLocale()));
+            result.setText(getName(info));
             return result;
         }
 
@@ -75,7 +87,7 @@
             StreamingServiceInfo info = getItem(position);
             TextView result = new TextView(EmbmsTestStreamingApp.this);
             String text = "name="
-                    + info.getNames().get(info.getLocale())
+                    + getName(info)
                     + ", "
                     + "serviceId="
                     + info.getServiceId();