Google Play Services provides an ActivityRecognitionApi that lets you detect various user activities (via DetectedActivity) such as if the user is walking or running.
Is it possible to mock these activities for development and testing purposes?
Google Play Services provides an ActivityRecognitionApi that lets you detect various user activities (via DetectedActivity) such as if the user is walking or running.
Is it possible to mock these activities for development and testing purposes?
It's possible to do it without the adb commands. Create and send an intent with the correct extra.
Add the transitions you need to a list and add that list to the constructor of an ActivityTransitionResult object. To create the extra, use SafeParcelableSerializer.serializeToIntentExtra with the key "com.google.android.location.internal.EXTRA_ACTIVITY_TRANSITION_RESULT"
I have used this code to simulate the transition from still to walking.
Intent intent = new Intent();
intent.setAction("MYLISTENINGACTION");
List<ActivityTransitionEvent> events = new ArrayList<>();
ActivityTransitionEvent transitionEvent;
transitionEvent = new ActivityTransitionEvent(DetectedActivity.STILL,
ActivityTransition.ACTIVITY_TRANSITION_EXIT, SystemClock.elapsedRealtimeNanos());
events.add(transitionEvent);
transitionEvent = new ActivityTransitionEvent(DetectedActivity.WALKING,
ActivityTransition.ACTIVITY_TRANSITION_ENTER, SystemClock.elapsedRealtimeNanos());
events.add(transitionEvent);
ActivityTransitionResult result = new ActivityTransitionResult(events);
SafeParcelableSerializer.serializeToIntentExtra(result, intent,
"com.google.android.location.internal.EXTRA_ACTIVITY_TRANSITION_RESULT");
sendBroadcast(intent);