diff options
| author | jacquarg <guillaume.jacquart@hoodbrains.com> | 2022-03-21 08:58:41 +0100 |
|---|---|---|
| committer | jacquarg <guillaume.jacquart@hoodbrains.com> | 2022-03-21 08:58:41 +0100 |
| commit | a7cc29a6d52ce7b622fb6f5c961865f1e207252d (patch) | |
| tree | c20885f4686362a3ed80110f59820ffadb511738 /app/src/main/java/foundation/e/privacycentralapp/data | |
| parent | bb103aa91e24d2b17875b496e17807ebd50aeb24 (diff) | |
| download | advanced-privacy-a7cc29a6d52ce7b622fb6f5c961865f1e207252d.tar.gz | |
Attach system apps to a dummy system app instead of settings app.
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/data')
| -rw-r--r-- | app/src/main/java/foundation/e/privacycentralapp/data/repositories/AppListsRepository.kt | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/data/repositories/AppListsRepository.kt b/app/src/main/java/foundation/e/privacycentralapp/data/repositories/AppListsRepository.kt index 3573d4f..5d25a82 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/data/repositories/AppListsRepository.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/data/repositories/AppListsRepository.kt @@ -22,6 +22,7 @@ import android.content.Context import android.content.Intent import android.content.pm.ApplicationInfo import android.content.pm.PackageManager +import foundation.e.privacycentralapp.R import foundation.e.privacymodules.permissions.PermissionsPrivacyModule import foundation.e.privacymodules.permissions.data.ApplicationDescription import kotlinx.coroutines.CoroutineScope @@ -35,14 +36,19 @@ class AppListsRepository( private val context: Context, private val coroutineScope: CoroutineScope ) { - val dummySystemApp = permissionsModule.getApplicationDescription("com.android.settings") + val dummySystemApp = ApplicationDescription( + packageName = "foundation.e.dummysystemapp", + uid = -1, + label = context.getString(R.string.dummy_system_app_label), + icon = context.getDrawable(lineageos.platform.R.drawable.ic_android) + ) fun getVisibleApps(): Flow<List<ApplicationDescription>> { coroutineScope.launch { val (visible, hidden) = splitVisibleToHidden(getAppsUsingInternet()) appDescriptions.emit( Pair( - visible.map { permissionsModule.buildApplicationDescription(it, withIcon = true) }, + visible.map { permissionsModule.buildApplicationDescription(it, withIcon = true) } + dummySystemApp, hidden.map { permissionsModule.buildApplicationDescription(it, withIcon = false) }, ) ) @@ -53,6 +59,10 @@ class AppListsRepository( return appDescriptions.value.second } + fun getApplicationDescription(packageName: String): ApplicationDescription? { + return appDescriptions.value.first.find { it.packageName == packageName } + } + fun foldForHiddenSystemApp(appUid: Int, appValueGetter: (Int) -> Int): Int { return if (appUid == dummySystemApp.uid) { getHiddenSystemApps().fold(0) { acc, app -> |
