Add PassiveListenerService test with ExerciseInfo

Previously we were only exercising when ExerciseInfo was null.

Test: ./gradlew :health:health-services-client:test
Change-Id: I5c74c67c2da5bb1ef9e11f4899989dd252d90a91
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt
index a4479a2..fd4487f 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt
@@ -28,11 +28,15 @@
 import androidx.health.services.client.data.DataType
 import androidx.health.services.client.data.DataType.Companion.STEPS_DAILY
 import androidx.health.services.client.data.DataTypeCondition
+import androidx.health.services.client.data.ExerciseInfo
+import androidx.health.services.client.data.ExerciseTrackedStatus
+import androidx.health.services.client.data.ExerciseType
 import androidx.health.services.client.data.HealthEvent
 import androidx.health.services.client.data.HealthEvent.Type.Companion.FALL_DETECTED
 import androidx.health.services.client.data.PassiveGoal
 import androidx.health.services.client.data.PassiveMonitoringUpdate
 import androidx.health.services.client.data.UserActivityInfo
+import androidx.health.services.client.data.UserActivityState.Companion.USER_ACTIVITY_EXERCISE
 import androidx.health.services.client.data.UserActivityState.Companion.USER_ACTIVITY_PASSIVE
 import androidx.health.services.client.impl.IPassiveListenerService
 import androidx.health.services.client.impl.event.PassiveListenerEvent
@@ -131,6 +135,41 @@
     }
 
     @Test
+    fun receivesUserActivityStateWithExerciseInfo() {
+        context.bindService(
+            Intent(context, FakeService::class.java),
+            connection,
+            Context.BIND_AUTO_CREATE
+        )
+        val listenerEvent = PassiveListenerEvent.createPassiveUpdateResponse(
+            PassiveMonitoringUpdateResponse(
+                PassiveMonitoringUpdate(
+                    DataPointContainer(listOf()),
+                    listOf(
+                        UserActivityInfo(
+                            USER_ACTIVITY_EXERCISE,
+                            ExerciseInfo(
+                                ExerciseTrackedStatus.OWNED_EXERCISE_IN_PROGRESS,
+                                ExerciseType.RUNNING
+                            ),
+                            42.instant()
+                        )
+                    )
+                )
+            )
+        )
+
+        stub.onPassiveListenerEvent(listenerEvent)
+
+        val activityInfo = service.userActivityReceived!!
+        assertThat(activityInfo.userActivityState).isEqualTo(USER_ACTIVITY_EXERCISE)
+        assertThat(activityInfo.stateChangeTime).isEqualTo(42.instant())
+        assertThat(activityInfo.exerciseInfo!!.exerciseType).isEqualTo(ExerciseType.RUNNING)
+        assertThat(activityInfo.exerciseInfo!!.exerciseTrackedStatus)
+            .isEqualTo(ExerciseTrackedStatus.OWNED_EXERCISE_IN_PROGRESS)
+    }
+
+    @Test
     fun receivesGoalCompleted() {
         context.bindService(
             Intent(context, FakeService::class.java),