diff options
author | Alex Johnston <acjohnston@google.com> | 2020-06-18 20:00:51 +0100 |
---|---|---|
committer | Alex Johnston <acjohnston@google.com> | 2020-06-18 22:58:28 +0100 |
commit | 302c1fe9471ca504fb6d2c5da0d0cb637c0fcd88 (patch) | |
tree | cd50fbeca968f58459dbcb40f8dc05d1bb862144 /services/devicepolicy | |
parent | 556fe0b9e5c26ddb3181f4d55de4ac309d86c542 (diff) |
Change behaviour of screen capture disabled
Background
* Historically, when the screen capture disabled
policy was set on the personal profile, screen
capture was disabled for the whole device
(per-device).
* This should be changed to only be disabled in
the personal profile (per-profile).
Changes
* Renamed DevicePolicyCache methods to setScreenCaptureAllowed
and isScreenCaptureAllowed
* Added parameter ownerCanAddInternalSystemWindow to
isScreenCaptureAllowed
Bug: 148453838
Bug: 157035400
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
Change-Id: If1bd68f0ec3e88497c5d3b4382977b526b2364ba
Diffstat (limited to 'services/devicepolicy')
-rw-r--r-- | services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java | 8 | ||||
-rw-r--r-- | services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java index f3a693550b38..d616ed30772a 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java @@ -51,15 +51,15 @@ public class DevicePolicyCacheImpl extends DevicePolicyCache { } @Override - public boolean getScreenCaptureDisabled(int userHandle) { + public boolean isScreenCaptureAllowed(int userHandle, boolean ownerCanAddInternalSystemWindow) { synchronized (mLock) { - return mScreenCaptureDisabled.get(userHandle); + return !mScreenCaptureDisabled.get(userHandle) || ownerCanAddInternalSystemWindow; } } - public void setScreenCaptureDisabled(int userHandle, boolean disabled) { + public void setScreenCaptureAllowed(int userHandle, boolean allowed) { synchronized (mLock) { - mScreenCaptureDisabled.put(userHandle, disabled); + mScreenCaptureDisabled.put(userHandle, !allowed); } } diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 401649a2e522..c6b93d6ca4f4 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -7990,7 +7990,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } private void updateScreenCaptureDisabled(int userHandle, boolean disabled) { - mPolicyCache.setScreenCaptureDisabled(userHandle, disabled); + mPolicyCache.setScreenCaptureAllowed(userHandle, !disabled); mHandler.post(() -> { try { mInjector.getIWindowManager().refreshScreenCaptureDisabled(userHandle); |