Block recent work profile apps content capture

Stop data exposure of work profile by blocking
content capture of recents apps when the work
profile is locked.

Manual testing steps
* Set up work profile
* Set personal and work pattern
* Open work app, enter work pattern and
  verify content capture is possible
* Lock device
* Go to Recents and select already opened
  work app. Verify content capture is not
  possible until work pattern is entered.

Bug: 168802517
Test: manual testing
Change-Id: I3e6ba1d8645335785e8e26cdc895ea9c0017a0fd
Merged-In: I3e6ba1d8645335785e8e26cdc895ea9c0017a0fd
This commit is contained in:
Alex Johnston 2021-03-29 13:51:38 +01:00
parent 57874e6b39
commit 8786016e85
2 changed files with 4 additions and 3 deletions

View File

@ -146,7 +146,7 @@ public class TaskOverlayFactory implements ResourceBasedOverride {
*/
public void initOverlay(Task task, ThumbnailData thumbnail, Matrix matrix,
boolean rotated) {
final boolean isAllowedByPolicy = thumbnail.isRealSnapshot;
final boolean isAllowedByPolicy = mThumbnailView.isRealSnapshot();
getActionsView().updateDisabledFlags(DISABLED_ROTATED, rotated);

View File

@ -447,13 +447,14 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc
}
/**
* Returns whether the snapshot is real.
* Returns whether the snapshot is real. If the device is locked for the user of the task,
* the snapshot used will be an app-theme generated snapshot instead of a real snapshot.
*/
public boolean isRealSnapshot() {
if (mThumbnailData == null) {
return false;
}
return mThumbnailData.isRealSnapshot;
return mThumbnailData.isRealSnapshot && !mTask.isLocked;
}
/**