diff options
-rw-r--r-- | services/usage/java/com/android/server/usage/UsageStatsService.java | 16 |
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) { |