diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-28 01:56:11 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-06-28 01:56:11 +0000 |
commit | e5b79351b28525872ac6fcaa8c2b4f6addc9f2a6 (patch) | |
tree | dbf77ffdfa1c422c7e133fd48a2449b2e4e97f08 | |
parent | 553bdeac24f5876f1367911e4750dd2394ec867c (diff) | |
parent | a7efb0cdb8fe70f6b135b861925a720c28405da4 (diff) | |
download | Permission-android13-gsi.tar.gz |
Merge cherrypicks of [19014071] into tm-release. am: a7efb0cdb8android13-gsi
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Permission/+/19093027
Change-Id: Ie5e7be8d8b4e67770f75fb2159f872ea09384e28
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/hibernation/HibernationPolicy.kt | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/hibernation/HibernationPolicy.kt b/PermissionController/src/com/android/permissioncontroller/hibernation/HibernationPolicy.kt index 26856385d..64481862f 100644 --- a/PermissionController/src/com/android/permissioncontroller/hibernation/HibernationPolicy.kt +++ b/PermissionController/src/com/android/permissioncontroller/hibernation/HibernationPolicy.kt @@ -51,6 +51,7 @@ import android.os.UserManager import android.printservice.PrintService import android.provider.DeviceConfig import android.provider.DeviceConfig.NAMESPACE_APP_HIBERNATION +import android.provider.Settings import android.service.autofill.AutofillService import android.service.dreams.DreamService import android.service.notification.NotificationListenerService @@ -391,6 +392,20 @@ suspend fun isPackageHibernationExemptBySystem( } return true } + + val context = PermissionControllerApplication.get() + if (context.getSystemService(DevicePolicyManager::class.java)!!.isDeviceManaged) { + // TODO(b/237065504): Use proper system API to check if the device is financed in U. + val isFinancedDevice = Settings.Global.getInt( + context.contentResolver, "device_owner_type", 0) == 1 + if (!isFinancedDevice) { + if (DEBUG_HIBERNATION_POLICY) { + DumpableLog.i(LOG_TAG, "Exempted ${pkg.packageName} - device is managed") + } + return true + } + } + val carrierPrivilegedStatus = CarrierPrivilegedStatusLiveData[pkg.packageName] .getInitializedValue() if (carrierPrivilegedStatus != CARRIER_PRIVILEGE_STATUS_HAS_ACCESS && @@ -417,7 +432,6 @@ suspend fun isPackageHibernationExemptBySystem( return true } - val context = PermissionControllerApplication.get() if (SdkLevel.isAtLeastS()) { val hasInstallOrUpdatePermissions = context.checkPermission( |