Since adding a public api for the playground app was problematic,
we now keep track of onResume and onDestroy calls globally inside the
app. This fixes a few bugs in cases where tasks would be hidden from the
ActivityManger#.getAppTasks() method and allows us to listen for changes
allowing us to do without a periodic refresh of the UI.
Test: Manual
Change-Id: Idb834cbdc7aad6442dd962c95b5321e1d75695fe
This greatly reduces the amount of scrolling needed to switch between
the overview-view and the launch-view. When launching the next activity
the launch view is dismissed and the user return to the overview-view
if they press back.
Test: Manual
Change-Id: I051ba98b29d666cf56753feebfaa87d2e181a3ab
This gives the user a clearer overview of the current state of the
application, without having to expand all the tasks.
Padding has been reduced to better utilize available screen space.
The bring to front and remove buttons are currently always hidden.
Test: Manual
Change-Id: Ifcda0ff31fd5adb89a12ff6a024842c0e7a7ab29
The app allows a user to explore the behaviour of different
launch modes, task affinities and intent flags.
It displays the current state of all tasks in the application
and their corresponding flags.
It allows the user to launch a set amount of activities on launch.
This bring the user directly into a state where many options for
exploration are available, rather than having to go through a
complicated setup first.
Access the activity field of RecentTaskInfo using reflection and mirror
the ActivityInstanceInfo into our own value object. This breaks
the compile time dependency on the ActivityInstanceInfo api and turns
it into a runtime dependency.
If the api is missing on the device we can still show the task structure
and log an error with the missing activity instance info.
Known bug: The enable suggestion button crashes the application.
Test: Build and Run
Change-Id: Id0274bae159c16aee6dccd805deb53851ffcf21d