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();