diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-28 01:29:35 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-28 01:29:35 +0000 |
commit | a7efb0cdb8fe70f6b135b861925a720c28405da4 (patch) | |
tree | dbf77ffdfa1c422c7e133fd48a2449b2e4e97f08 | |
parent | 5f5b9c8f0440680393ed9ebb33a206245fda83ad (diff) | |
parent | d0293ae7cbe0ac53a7ef7da89a98610167c7b71e (diff) | |
download | Permission-android13-s3-release.tar.gz |
Merge cherrypicks of [19014071] into tm-release.android-vts-13.0_r1android-security-13.0.0_r1android-platform-13.0.0_r2android-platform-13.0.0_r1android-cts-13.0_r1android-13.0.0_r8android-13.0.0_r7android-13.0.0_r6android-13.0.0_r5android-13.0.0_r4android-13.0.0_r31android-13.0.0_r3android-13.0.0_r2android-13.0.0_r12android-13.0.0_r1android13-s3-releaseandroid13-s2-releaseandroid13-s1-releaseandroid13-release
Change-Id: Ie4ceee309cb7dc06180cd6e4e8d285d1a8f04568
-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( |