summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-28 01:56:11 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-06-28 01:56:11 +0000
commite5b79351b28525872ac6fcaa8c2b4f6addc9f2a6 (patch)
treedbf77ffdfa1c422c7e133fd48a2449b2e4e97f08
parent553bdeac24f5876f1367911e4750dd2394ec867c (diff)
parenta7efb0cdb8fe70f6b135b861925a720c28405da4 (diff)
downloadPermission-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.kt16
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(