Update EMBMS test app/service with method

Lets us know if content is delivered via unicast or bcast.

Test: this
Change-Id: Idf32022ed5fec848b461cdc8507b260d8c55b401
diff --git a/testapps/EmbmsTestStreamingApp/Android.mk b/testapps/EmbmsTestStreamingApp/Android.mk
index 2700522..45826b9 100644
--- a/testapps/EmbmsTestStreamingApp/Android.mk
+++ b/testapps/EmbmsTestStreamingApp/Android.mk
@@ -13,5 +13,6 @@
 
 LOCAL_CERTIFICATE := platform
 LOCAL_MODULE_TAGS := tests
+#LOCAL_MODULE_TAGS := debug
 
 include $(BUILD_PACKAGE)
diff --git a/testapps/EmbmsTestStreamingApp/res/layout/activity_main.xml b/testapps/EmbmsTestStreamingApp/res/layout/activity_main.xml
index c1cc539..b75a157 100644
--- a/testapps/EmbmsTestStreamingApp/res/layout/activity_main.xml
+++ b/testapps/EmbmsTestStreamingApp/res/layout/activity_main.xml
@@ -30,6 +30,10 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"/>
     <TextView
+        android:id="@+id/curr_streaming_method"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"/>
+    <TextView
         android:id="@+id/tracked_streams_label"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
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 aa4a15b..00e76c1 100644
--- a/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java
+++ b/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java
@@ -25,6 +25,7 @@
 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;
@@ -295,9 +296,28 @@
         });
     }
 
+    private void setStreamMethodDisplay(int method) {
+        runOnUiThread(() -> {
+            String methodString = "UNKNOWN METHOD";
+            switch (method) {
+                case StreamingService.BROADCAST_METHOD: {
+                    methodString = "BROADCAST";
+                    break;
+                }
+                case StreamingService.UNICAST_METHOD: {
+                    methodString = "UNICAST";
+                    break;
+                }
+            }
+            TextView methodField = (TextView) findViewById(R.id.curr_streaming_method);
+            methodField.setText(methodString);
+        });
+    }
+
     private void clearStateAndUriDisplay() {
         setUriDisplay(Uri.EMPTY);
         setStreamStateDisplay("");
+        setStreamMethodDisplay(StreamingService.UNICAST_METHOD);
     }
 
     public void updateUri() {
@@ -311,4 +331,14 @@
             "" : String.valueOf(getSelectedTrackedStream().getState());
         setStreamStateDisplay(stateString);
     }
+
+    /** implementation of updateMethod callback */
+    public void updateMethod() {
+        StreamingServiceTracker serviceTracker = getSelectedTrackedStream();
+        if (serviceTracker == null) {
+            setStreamMethodDisplay(StreamingService.UNICAST_METHOD);
+        } else {
+            setStreamMethodDisplay(serviceTracker.getMethod());
+        }
+    }
 }
diff --git a/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/StreamingServiceTracker.java b/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/StreamingServiceTracker.java
index c0b12cb..9ca4476 100644
--- a/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/StreamingServiceTracker.java
+++ b/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/StreamingServiceTracker.java
@@ -34,8 +34,13 @@
         }
 
         @Override
-        public void streamStateChanged(int state) {
-            onStreamStateChanged(state);
+        public void streamStateUpdated(int state) {
+            onStreamStateUpdated(state);
+        }
+
+        @Override
+        public void streamMethodUpdated(int method) {
+            onStreamMethodUpdated(method);
         }
     }
 
@@ -45,6 +50,7 @@
 
     private int mState = StreamingService.STATE_STOPPED;
     private Uri mStreamingUri = Uri.EMPTY;
+    private int mMethod = StreamingService.UNICAST_METHOD;
 
     public StreamingServiceTracker(EmbmsTestStreamingApp appActivity, StreamingServiceInfo info) {
         mActivity = appActivity;
@@ -96,7 +102,11 @@
         return mStreamingUri;
     }
 
-    private void onStreamStateChanged(int state) {
+    public int getMethod() {
+        return mMethod;
+    }
+
+    private void onStreamStateUpdated(int state) {
         if (state == StreamingService.STATE_STARTED && mState != StreamingService.STATE_STARTED) {
             try {
                 mStreamingUri = mStreamingService.getPlaybackUri();
@@ -111,6 +121,13 @@
         mActivity.updateStreamingState();
     }
 
+    private void onStreamMethodUpdated(int method) {
+        if (mMethod != method) {
+            mMethod = method;
+            mActivity.updateMethod();
+        }
+    }
+
     @Override
     public String toString() {
         return "Tracked service with ID " + getServiceId();