[Install-unknown-apps] Hide apps of system or root UID

This also reverts ag/27176160, which handled apps like Settings but missed pre23 apps. A better solution would be hide apps that are of system or root UID.

BUG: 338066634
Test: manual

Change-Id: Ia1c3f50dd7c5edb718c695737db589ef55173682
This commit is contained in:
Song Chun Fan
2024-05-08 19:12:45 +00:00
parent ba39bd6edd
commit f6bbda8984

View File

@@ -23,6 +23,7 @@ import android.app.AppOpsManager.MODE_DEFAULT
import android.app.AppOpsManager.OP_REQUEST_INSTALL_PACKAGES
import android.content.Context
import android.content.pm.ApplicationInfo
import android.os.Process
import android.os.UserManager
import androidx.compose.runtime.Composable
import com.android.settings.R
@@ -94,7 +95,10 @@ class InstallUnknownAppsListModel(private val context: Context) :
private fun isChangeable(
record: InstallUnknownAppsRecord,
potentialPackageNames: Set<String>,
) = record.app.packageName in potentialPackageNames
) =
record.app.uid != Process.SYSTEM_UID && record.app.uid != Process.ROOT_UID &&
(record.appOpsController.getMode() != MODE_DEFAULT ||
record.app.packageName in potentialPackageNames)
private fun getPotentialPackageNames(userId: Int): Set<String> =
AppGlobals.getPackageManager()