summaryrefslogtreecommitdiff
path: root/PermissionController/src/com/android/permissioncontroller/permission/service
diff options
context:
space:
mode:
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/permission/service')
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt13
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/service/PermissionChangeStorageImpl.kt4
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceModel.kt4
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/service/RuntimePermissionsUpgradeController.kt16
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/service/SplitPermissionIndex.kt4
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt1
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt7
7 files changed, 19 insertions, 30 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt
index 6aaa5e468..c42913c84 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt
@@ -81,9 +81,9 @@ suspend fun revokeAppPermissions(
val pkgPermChanges = PermissionChangeStorageImpl.getInstance().loadEvents()
.associateBy { it.packageName }
// For each autorevoke-eligible app...
- userApps.forEachInParallel(Main) { pkg: LightPackageInfo ->
+ userApps.forEachInParallel(Main) forEachInParallelOuter@ { pkg: LightPackageInfo ->
if (pkg.grantedPermissions.isEmpty()) {
- return@forEachInParallel
+ return@forEachInParallelOuter
}
val packageName = pkg.packageName
val pkgPermChange = pkgPermChanges[packageName]
@@ -93,12 +93,12 @@ suspend fun revokeAppPermissions(
DumpableLog.i(LOG_TAG, "Not revoking because permissions were changed " +
"recently for package $packageName")
}
- return@forEachInParallel
+ return@forEachInParallelOuter
}
val targetSdk = pkg.targetSdkVersion
val pkgPermGroups: Map<String, List<String>> =
PackagePermissionsLiveData[packageName, user]
- .getInitializedValue() ?: return@forEachInParallel
+ .getInitializedValue() ?: return@forEachInParallelOuter
// Determine which permGroups are revocable
val revocableGroups = mutableSetOf<String>()
@@ -152,8 +152,7 @@ suspend fun revokeAppPermissions(
val anyPermsRevoked = AtomicBoolean(false)
pkgPermGroups.entries
.filter { revocableGroups.contains(it.key) }
- .forEachInParallel(Main) { (groupName, _) ->
-
+ .forEachInParallel(Main) forEachInParallelInner@ { (groupName, _) ->
val group: LightAppPermGroup =
LightAppPermGroupLiveData[packageName, groupName, user]
.getInitializedValue()!!
@@ -161,7 +160,7 @@ suspend fun revokeAppPermissions(
val revocablePermissions = group.permissions.keys.toList()
if (revocablePermissions.isEmpty()) {
- return@forEachInParallel
+ return@forEachInParallelInner
}
if (DEBUG_AUTO_REVOKE) {
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionChangeStorageImpl.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionChangeStorageImpl.kt
index eac97fed1..bdcf833fc 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionChangeStorageImpl.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionChangeStorageImpl.kt
@@ -25,6 +25,7 @@ import com.android.permissioncontroller.PermissionControllerApplication
import com.android.permissioncontroller.hibernation.getUnusedThresholdMs
import com.android.permissioncontroller.permission.data.PermissionChange
import com.android.permissioncontroller.permission.utils.Utils
+import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
@@ -90,6 +91,7 @@ class PermissionChangeStorageImpl(
return PermissionChangeStorageImpl(PermissionControllerApplication.get())
}
+ @OptIn(DelicateCoroutinesApi::class)
fun recordPermissionChange(packageName: String) {
GlobalScope.launch(Dispatchers.IO) {
getInstance().storeEvent(PermissionChange(packageName, System.currentTimeMillis()))
@@ -162,7 +164,7 @@ class PermissionChangeStorageImpl(
?: throw IllegalArgumentException(
"Could not parse date $changeDate on package $packageName")
if (truncateToDay) {
- changeTime = dateFormat.parse(dateFormat.format(Date(changeTime))).time
+ changeTime = dateFormat.parse(dateFormat.format(Date(changeTime)))!!.time
}
change = PermissionChange(packageName, changeTime)
} catch (e: XmlPullParserException) {
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceModel.kt
index 0689e86e6..49a465898 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceModel.kt
@@ -291,9 +291,7 @@ class PermissionControllerServiceModel(private val service: PermissionController
val unusedAppsCount = Transformations.map(getUnusedPackages()) {
it?.size ?: 0
}
- observeAndCheckForLifecycleState(unusedAppsCount) { unusedAppsCount ->
- callback.accept(unusedAppsCount ?: 0)
- }
+ observeAndCheckForLifecycleState(unusedAppsCount) { count -> callback.accept(count ?: 0) }
}
/**
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/RuntimePermissionsUpgradeController.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/RuntimePermissionsUpgradeController.kt
index 4ddbd6859..97f817cff 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/RuntimePermissionsUpgradeController.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/RuntimePermissionsUpgradeController.kt
@@ -76,7 +76,7 @@ internal object RuntimePermissionsUpgradeController {
}
if (currentVersion != upgradedVersion) {
- permissionManager!!.runtimePermissionsVersion = LATEST_VERSION
+ permissionManager.runtimePermissionsVersion = LATEST_VERSION
}
onComplete.run()
}
@@ -283,7 +283,6 @@ internal object RuntimePermissionsUpgradeController {
val bgGroups = mutableListOf<LightAppPermGroup>()
val storageGroups = mutableListOf<LightAppPermGroup>()
- val bgMicGroups = mutableListOf<LightAppPermGroup>()
for (group in permGroupProviders!!.mapNotNull { it.value }) {
when (group.permGroupName) {
@@ -299,9 +298,6 @@ internal object RuntimePermissionsUpgradeController {
permission_group.READ_MEDIA_VISUAL -> {
storageGroups.add(group)
}
- permission_group.MICROPHONE -> {
- bgMicGroups.add(group)
- }
}
}
@@ -318,7 +314,7 @@ internal object RuntimePermissionsUpgradeController {
}
value = UpgradeData(preinstalledPkgInfoProvider.value!!, restrictedPermissions,
- pkgInfoProvider.value!!, bgGroups, storageGroups, bgMicGroups)
+ pkgInfoProvider.value!!, bgGroups, storageGroups)
}
}
}
@@ -338,7 +334,7 @@ internal object RuntimePermissionsUpgradeController {
val (newVersion, upgradeExemptions, grants) = onUpgradeLockedDataLoaded(currentVersion,
upgradeData.pkgs, upgradeData.restrictedPermissions,
upgradeData.bgGroups, upgradeData.storageGroups,
- upgradeData.bgMicGroups, isDeviceUpgrading)
+ isDeviceUpgrading)
// Do not run in parallel. Measurements have shown that this is slower than sequential
for (exemption in (preinstalledAppExemptions union upgradeExemptions)) {
@@ -358,7 +354,6 @@ internal object RuntimePermissionsUpgradeController {
restrictedPermissions: Set<String>,
bgApps: List<LightAppPermGroup>,
storageAndMediaAppPermGroups: List<LightAppPermGroup>,
- bgMicApps: List<LightAppPermGroup>,
isDeviceUpgrading: Boolean
): Triple<Int, List<RestrictionExemption>, List<Grant>> {
val exemptions = mutableListOf<RestrictionExemption>()
@@ -565,11 +560,6 @@ internal object RuntimePermissionsUpgradeController {
* Storage groups that need to be inspected by {@link #onUpgradeLockedDataLoaded}
*/
val storageGroups: List<LightAppPermGroup>,
- /**
- * Background Microphone groups that need to be inspected by
- * {@link #onUpgradeLockedDataLoaded}
- */
- val bgMicGroups: List<LightAppPermGroup>
)
/**
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/SplitPermissionIndex.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/SplitPermissionIndex.kt
index c55651cc0..115200b2f 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/SplitPermissionIndex.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/SplitPermissionIndex.kt
@@ -41,11 +41,11 @@ class SplitPermissionIndex() {
val newPermGroup = PermissionMapping.getGroupOfPlatformPermission(newPerm)
if (newPermGroup != null) {
permToGroupSplits.add(SplitPermissionIndexEntry(
- oldPerm, splitPerm.targetSdk, newPermGroup!!))
+ oldPerm, splitPerm.targetSdk, newPermGroup))
}
if (oldPermGroup != null && newPermGroup != null) {
groupToGroupSplits.add(SplitPermissionIndexEntry(
- oldPermGroup!!, splitPerm.targetSdk, newPermGroup!!))
+ oldPermGroup, splitPerm.targetSdk, newPermGroup))
}
}
}
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt
index bd38b4df5..6ffd894ce 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+@file:Suppress("DEPRECATION")
package com.android.permissioncontroller.permission.service.v33
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt
index c15741d56..f8584048e 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt
@@ -111,8 +111,7 @@ class SafetyLabelChangesJobService : JobService() {
}
private fun isContextInProfileUser(context: Context): Boolean {
- val userManager: UserManager =
- (context.getSystemService(UserManager::class.java) as UserManager?)!!
+ val userManager: UserManager = context.getSystemService(UserManager::class.java)!!
return userManager.isProfile
}
}
@@ -350,7 +349,7 @@ class SafetyLabelChangesJobService : JobService() {
private suspend fun getAllPackagesGrantedLocation(): Set<Pair<String, UserHandle>> =
SinglePermGroupPackagesUiInfoLiveData[Manifest.permission_group.LOCATION]
.getInitializedValue(staleOk = false, forceUpdate = true)
- .filter { (packageKey, appPermGroupUiInfo) -> appPermGroupUiInfo.isPermissionGranted() }
+ .filter { (_, appPermGroupUiInfo) -> appPermGroupUiInfo.isPermissionGranted() }
.keys
private fun AppPermGroupUiInfo.isPermissionGranted() =
@@ -390,7 +389,7 @@ class SafetyLabelChangesJobService : JobService() {
.filter { it.containsLocationCategoryUpdate() }
.map { it.packageName }
val packageNamesWithLocationGranted: List<String> =
- getAllPackagesGrantedLocation().map { (packageName, user) -> packageName }
+ getAllPackagesGrantedLocation().map { (packageName, _) -> packageName }
val packageNamesWithLocationGrantedAndUpdates =
packageNamesWithLocationDataSharingUpdates.intersect(packageNamesWithLocationGranted)