Modify sample streaming app to use state change reason
Change-Id: I1feabf2d9d3889a691303ae9d8c9440913109a0f
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/AppActiveStreams.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/AppActiveStreams.java
index 9b3cc6b..dfc7ac9 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/AppActiveStreams.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/AppActiveStreams.java
@@ -80,7 +80,7 @@
StreamingService.STATE_STOPPED : callbackWithState.getState();
}
- public void startStreaming(String serviceId, IStreamingServiceCallback callback) {
+ public void startStreaming(String serviceId, IStreamingServiceCallback callback, int reason) {
if (mStreamStates.get(serviceId) != null) {
// error - already started
return;
@@ -95,21 +95,21 @@
new StreamCallbackWithState(callback, StreamingService.STATE_STARTED,
StreamingService.UNICAST_METHOD));
try {
- callback.streamStateUpdated(StreamingService.STATE_STARTED);
+ callback.streamStateUpdated(StreamingService.STATE_STARTED, reason);
updateStreamingMethod(serviceId);
} catch (RemoteException e) {
dispose(serviceId);
}
}
- public void stopStreaming(String serviceId) {
+ public void stopStreaming(String serviceId, int reason) {
StreamCallbackWithState entry = mStreamStates.get(serviceId);
if (entry != null) {
try {
if (entry.getState() != StreamingService.STATE_STOPPED) {
entry.setState(StreamingService.STATE_STOPPED);
- entry.getCallback().streamStateUpdated(StreamingService.STATE_STOPPED);
+ entry.getCallback().streamStateUpdated(StreamingService.STATE_STOPPED, reason);
}
} catch (RemoteException e) {
dispose(serviceId);
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
index 1205e68..583aca4 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
@@ -149,7 +149,8 @@
}
mHandler.postDelayed(
- () -> StreamStateTracker.startStreaming(appKey, serviceId, callback),
+ () -> StreamStateTracker.startStreaming(appKey, serviceId, callback,
+ StreamingService.REASON_BY_USER_REQUEST),
START_STREAMING_DELAY);
return MbmsException.SUCCESS;
}
@@ -175,7 +176,8 @@
checkInitialized(appKey);
checkServiceExists(serviceId);
- mHandler.post(() -> StreamStateTracker.stopStreaming(appKey, serviceId));
+ mHandler.post(() -> StreamStateTracker.stopStreaming(appKey, serviceId,
+ StreamingService.REASON_BY_USER_REQUEST));
}
@Override
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/SideChannelReceiver.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/SideChannelReceiver.java
index c9d38a0..816921d 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/SideChannelReceiver.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/SideChannelReceiver.java
@@ -59,7 +59,6 @@
// Increase download latency by a certain factor
downloadService.delayDownloads(intent.getIntExtra(EXTRA_DELAY_FACTOR, 1));
break;
-
}
}
}
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamStateTracker.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamStateTracker.java
index bb9494d..de81359 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamStateTracker.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamStateTracker.java
@@ -39,24 +39,25 @@
}
public static void startStreaming(FrontendAppIdentifier appIdentifier, String serviceId,
- IStreamingServiceCallback callback) {
+ IStreamingServiceCallback callback, int reason) {
AppActiveStreams appStreams = sPerAppStreamStates.get(appIdentifier);
if (appStreams == null) {
appStreams = new AppActiveStreams(appIdentifier);
sPerAppStreamStates.put(appIdentifier, appStreams);
}
- appStreams.startStreaming(serviceId, callback);
+ appStreams.startStreaming(serviceId, callback, reason);
}
- public static void stopStreaming(FrontendAppIdentifier appIdentifier, String serviceId) {
+ public static void stopStreaming(FrontendAppIdentifier appIdentifier, String serviceId,
+ int reason) {
Log.i(LOG_TAG, "Stopping stream " + serviceId);
AppActiveStreams appStreams = sPerAppStreamStates.get(appIdentifier);
if (appStreams == null) {
// It was never started, so don't bother stopping.
return;
}
- appStreams.stopStreaming(serviceId);
+ appStreams.stopStreaming(serviceId, reason);
}
public static void dispose(FrontendAppIdentifier appIdentifier, String serviceId) {
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 9ca4476..b247076 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,8 @@
}
@Override
- public void streamStateUpdated(int state) {
- onStreamStateUpdated(state);
+ public void streamStateUpdated(int state, int reason) {
+ onStreamStateUpdated(state, reason);
}
@Override
@@ -106,7 +106,7 @@
return mMethod;
}
- private void onStreamStateUpdated(int state) {
+ private void onStreamStateUpdated(int state, int reason) {
if (state == StreamingService.STATE_STARTED && mState != StreamingService.STATE_STARTED) {
try {
mStreamingUri = mStreamingService.getPlaybackUri();
@@ -119,6 +119,9 @@
}
mState = state;
mActivity.updateStreamingState();
+ mActivity.runOnUiThread(() ->
+ Toast.makeText(mActivity, "State change reason: " + reason, Toast.LENGTH_SHORT)
+ .show());
}
private void onStreamMethodUpdated(int method) {