History log of /frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7f9368637c8d2726b87cbe184b240512055da037 10-May-2017 Bryce Lee <brycelee@google.com> Introduce result ranges for activity start return results.

The return result from starting activity actually represents two
pieces of information. First, it conveys whether the activity
started. Secondly, it conveys whether there was a fatal error if
the activity did not start. Many parts of the code assume that a
value greater than or equal to the defined success means that the
activity successfully started. This is not the case as there are a
number of results greater than success where the activity does not
start.

This change addresses the issue by introducing three distinct
result ranges. The first represents results where the activity
could not start due to a fatal error. The second represents results
where the activity did not start due to a non-fatal error. The last
range represents successful activity starts. Two convenience methods
have been added to ActivityManager to return whether the result
represents a fatal error and whether the result was successful.

Change-Id: Ifaf844c353641a28b03b3c2d7b6be053fd9b8b44
Fixes: 38021882
Test: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.DeviceOwnerTest#testLockTask_deviceOwnerUser
/frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java
1d996bd7fc6bda5533866e11278184c67513a877 01-Feb-2017 Robin Lee <rgl@google.com> Remove locked user tasks if starting overlay fails

This is a more graceful failure case than giving up and just letting
the task show unmodified on the screen if something goes wrong.

Test: runtest -x WorkLockActivityControllerTest.java
Bug: 31001762
Fix: 31064912
Change-Id: I505c00f411f41fb927c31d2280bdeda69e15b4d4
/frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java
3c82d3d5bfea9b6483ad0264e6956eb5a00a2a4a 19-Jan-2017 Robin Lee <rgl@google.com> Theme work lock activity with the task primaryColor

This involves adding another system RPC, getTaskDescription(taskId)
gated on MANAGE_ACTIVITY_STACKS permission.

Bug: 31001762
Test: runtest -x frameworks/base/packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityTest.java
Change-Id: Ieb996f7fab5bc79737df570e35733551118118d3
/frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java
588a3337419d33005555d80594256b364593b35f 18-Jan-2017 Robin Lee <rgl@google.com> Launch work lock scrim as clear_top not single_top

SINGLE_TOP is only guaranteed to work within the current task stack.
If multiple stacks are inactive in the background (eg. temporarily
switching from freeform mode to fullscreen mode by maximising one
activity) some tasks might get missed out and stay visible.

Test: manual -- start two work activities, one in fullscreen & one in freeform. start a personal
Test: activity in freeform too. switch to the fullscreen work app and lock the profile using
Test: `adb shell service call trust 6 i32 $USER_ID i32 1`
Test: __outcome after change__
Test: a) locking work profile should bring up the work password prompt in fullscreen
Test: b) skipping the prompt and switching to the personal freeform app should keep the freeform
Test: work app hidden by WorkLockActivity
Test: __outcome before change__
Test: Only (a) happened, for step (b) the work app was still visible
Bug: 31001762
Change-Id: I5979c5b12670a21c7bcd59e222fc518d395e3e29
/frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java
cbcadc981b927b13ccc6e76614f5cccc0c0fe402 13-Jan-2017 Winson Chung <winsonc@google.com> Ensure that we always resume task overlay activities if requested.

- Distinguish between task overlays that need to be resumed and
those that should not.

Bug: 34240533
Test: Open PiP, tap to show menu.
Change-Id: Ibdb54d544c501a492260f02cdc2de40c5c1a66d1
/frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java
c41f6ec877309d9c73168ef8cdc277f82eb0d42e 10-Jan-2017 Robin Lee <rgl@google.com> Lock work tasks from SystemUI instead of ActivityStarter

By adding an onTaskProfileLocked(taskId, userId) RPC to
TaskStackListener and routing that through to a new WorkLockController.

Bug: 31001762
Test: //tests/PoApi/src/com/google/android/afwtest/poapi/WorkChallengeTest
Change-Id: I3fd28e6926c3f928e78b3c6ce0fe27413617695f
/frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java