summaryrefslogtreecommitdiff
path: root/services/devicepolicy
diff options
context:
space:
mode:
authorAlex Johnston <acjohnston@google.com>2020-06-18 20:00:51 +0100
committerAlex Johnston <acjohnston@google.com>2020-06-18 22:58:28 +0100
commit302c1fe9471ca504fb6d2c5da0d0cb637c0fcd88 (patch)
treecd50fbeca968f58459dbcb40f8dc05d1bb862144 /services/devicepolicy
parent556fe0b9e5c26ddb3181f4d55de4ac309d86c542 (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.java8
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java2
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);