Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 284aaba1 authored by Alex Johnston's avatar Alex Johnston
Browse files

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
parent 26311d98
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ public final class TaskOverlayFactoryGo extends TaskOverlayFactory {
            }

            getActionsView().updateDisabledFlags(DISABLED_ROTATED, rotated);
            boolean isAllowedByPolicy = thumbnail.isRealSnapshot;
            boolean isAllowedByPolicy = mThumbnailView.isRealSnapshot();
            getActionsView().setCallbacks(new OverlayUICallbacksGoImpl(isAllowedByPolicy, task));
        }

+1 −1
Original line number Diff line number Diff line
@@ -152,7 +152,7 @@ public class TaskOverlayFactory implements ResourceBasedOverride {

            if (thumbnail != null) {
                getActionsView().updateDisabledFlags(DISABLED_ROTATED, rotated);
                boolean isAllowedByPolicy = thumbnail.isRealSnapshot;
                boolean isAllowedByPolicy = mThumbnailView.isRealSnapshot();
                getActionsView().setCallbacks(new OverlayUICallbacksImpl(isAllowedByPolicy, task));
            }
        }
+3 −2
Original line number Diff line number Diff line
@@ -445,13 +445,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;
    }

    // TODO(b/179466077): Remove when proper API is ready.