Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1767eadc authored by Nate Myren's avatar Nate Myren Committed by Android (Google) Code Review
Browse files

Merge "Do not parallelize user sensitive flag updates" into rvc-dev

parents af40b019 fabffe2e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.permissioncontroller.permission.data

import android.app.Application
import android.content.pm.PermissionInfo
import android.util.Log
import com.android.permissioncontroller.PermissionControllerApplication
import com.android.permissioncontroller.permission.utils.Utils

@@ -32,6 +33,9 @@ object CustomPermGroupNamesLiveData : SmartUpdateMediatorLiveData<List<String>>(
    private val packagesLiveData = AllPackageInfosLiveData

    init {
        // TODO ntmyren: remove once b/154796729 is fixed
        Log.i("CustomPermGroupNames", "observing UserPackageInfoLiveData for all " +
            "users in CustomPermGroupNamesLiveData")
        addSource(packagesLiveData) {
            updateIfActive()
        }
+3 −0
Original line number Diff line number Diff line
@@ -51,6 +51,9 @@ object FullStoragePermissionAppsLiveData :
        addSource(standardPermGroupsPackagesLiveData) {
            updateAsync()
        }
        addSource(AllPackageInfosLiveData) {
            updateAsync()
        }
    }

    override suspend fun loadDataAndPostValue(job: Job) {
+3 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.permissioncontroller.permission.data
import android.content.Intent
import android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE
import android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE
import android.util.Log
import com.android.permissioncontroller.PermissionControllerApplication
import kotlinx.coroutines.Job

@@ -32,6 +33,8 @@ object LauncherPackagesLiveData : SmartAsyncMediatorLiveData<Set<String>>(),
        .addCategory(Intent.CATEGORY_LAUNCHER)

    override suspend fun loadDataAndPostValue(job: Job) {
        // TODO ntmyren: remove once b/154796729 is fixed
        Log.i("LancherPackagesLiveData", "updating LauncherPackageLiveData")
        val launcherPkgs = mutableSetOf<String>()
        for (info in PermissionControllerApplication.get().packageManager.queryIntentActivities(
            LAUNCHER_INTENT, MATCH_DIRECT_BOOT_AWARE or MATCH_DIRECT_BOOT_UNAWARE)) {
+4 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.pm.PackageManager.GET_PERMISSIONS
import android.content.pm.PackageManager.MATCH_FACTORY_ONLY
import android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES
import android.os.UserHandle
import android.util.Log
import com.android.permissioncontroller.PermissionControllerApplication
import com.android.permissioncontroller.permission.model.livedatatypes.LightPackageInfo
import kotlinx.coroutines.Job
@@ -44,6 +45,9 @@ class PreinstalledUserPackageInfosLiveData private constructor(
        if (job.isCancelled) {
            return
        }
        // TODO ntmyren: remove once b/154796729 is fixed
        Log.i("PreinstalledUserPackageInfos", "updating PreinstalledUserPackageInfosLiveData for " +
            "user ${user.identifier}")
        val packageInfos = app.applicationContext.packageManager
                .getInstalledPackagesAsUser(GET_PERMISSIONS or MATCH_UNINSTALLED_PACKAGES
                        or MATCH_FACTORY_ONLY, user.identifier)
+4 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.app.Application
import android.content.pm.PackageManager.GET_PERMISSIONS
import android.content.pm.PackageManager.MATCH_ALL
import android.os.UserHandle
import android.util.Log
import com.android.permissioncontroller.PermissionControllerApplication
import com.android.permissioncontroller.permission.model.livedatatypes.LightPackageInfo
import kotlinx.coroutines.Job
@@ -58,6 +59,9 @@ class UserPackageInfosLiveData private constructor(
        if (job.isCancelled) {
            return
        }
        // TODO ntmyren: remove once b/154796729 is fixed
        Log.i("UserPackageInfos", "updating UserPackageInfosLiveData for user " +
            "${user.identifier}")
        val packageInfos = app.applicationContext.packageManager
            .getInstalledPackagesAsUser(GET_PERMISSIONS or MATCH_ALL, user.identifier)
        postValue(packageInfos.map { packageInfo -> LightPackageInfo(packageInfo) })
Loading