summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/usage/java/com/android/server/usage/UsageStatsService.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java
index e7c9e927b311..e27dbe588183 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsService.java
@@ -1869,10 +1869,18 @@ public class UsageStatsService extends SystemService implements
}
private boolean shouldDeleteObsoleteData(UserHandle userHandle) {
- final DevicePolicyManagerInternal dpmInternal = getDpmInternal();
- // If a profile owner is not defined for the given user, obsolete data should be deleted
- return dpmInternal == null
- || dpmInternal.getProfileOwnerOrDeviceOwnerSupervisionComponent(userHandle) == null;
+ if (android.app.supervision.flags.Flags.deprecateDpmSupervisionApis()) {
+ final SupervisionManagerInternal smInternal = getSupervisionManagerInternal();
+ // If supervision is not enabled for the given user, obsolete data should be deleted.
+ return smInternal == null
+ || !smInternal.isSupervisionEnabledForUser(userHandle.getIdentifier());
+ } else {
+ final DevicePolicyManagerInternal dpmInternal = getDpmInternal();
+ // If a profile owner is not defined for the given user, obsolete data should be deleted
+ return dpmInternal == null
+ || dpmInternal.getProfileOwnerOrDeviceOwnerSupervisionComponent(userHandle)
+ == null;
+ }
}
private String buildFullToken(String packageName, String token) {