summaryrefslogtreecommitdiff
path: root/PermissionController/src
diff options
context:
space:
mode:
author Zhi Dou <zhidou@google.com> 2025-03-19 20:14:04 +0000
committer Zhi Dou <zhidou@google.com> 2025-03-19 19:05:00 -0700
commit324bea02b44b8ba12e470e9f7c56bc8c087bb64a (patch)
treee44f43e3b20ae8671c4ada644a3dd8c060f1ac05 /PermissionController/src
parenta80bdd287a292e2a619b2543bc92d594120ac1c8 (diff)
Replace flag check to sdk version check
This change replace flag check to sdk version check to fix the problem that when the new module is installed on the new version of mainline the exported flags will have inconsistent flag value. Test: atest PermissionControllerMockingTests GtsPermissionUiTestCases Bug: 401592182 Flag: EXEMPT remove flag call Relnote: M05 Change-Id: Ieb5245856d0c306870edd4211d206af8f979445f
Diffstat (limited to 'PermissionController/src')
-rw-r--r--PermissionController/src/com/android/permissioncontroller/appops/data/repository/v31/AppOpRepository.kt17
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/GetPermissionGroupUsageDetailsUseCase.kt3
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/PermissionUsageUtils.kt4
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageDetailsViewModel.kt4
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt12
5 files changed, 14 insertions, 26 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/appops/data/repository/v31/AppOpRepository.kt b/PermissionController/src/com/android/permissioncontroller/appops/data/repository/v31/AppOpRepository.kt
index 21ced3b28..7a59aa2bc 100644
--- a/PermissionController/src/com/android/permissioncontroller/appops/data/repository/v31/AppOpRepository.kt
+++ b/PermissionController/src/com/android/permissioncontroller/appops/data/repository/v31/AppOpRepository.kt
@@ -27,7 +27,6 @@ import android.app.AppOpsManager.OP_FLAG_TRUSTED_PROXIED
import android.app.AppOpsManager.OP_FLAG_TRUSTED_PROXY
import android.app.Application
import android.os.UserHandle
-import android.permission.flags.Flags
import android.util.Log
import com.android.modules.utils.build.SdkLevel
import com.android.permissioncontroller.DeviceUtils
@@ -74,7 +73,7 @@ interface AppOpRepository {
*/
fun getDiscreteOps(
opNames: List<String>,
- coroutineScope: CoroutineScope
+ coroutineScope: CoroutineScope,
): Flow<List<DiscretePackageOpsModel>>
companion object {
@@ -82,7 +81,7 @@ interface AppOpRepository {
fun getInstance(
application: Application,
- permissionRepository: PermissionRepository
+ permissionRepository: PermissionRepository,
): AppOpRepository =
instance
?: synchronized(this) {
@@ -104,7 +103,7 @@ class AppOpRepositoryImpl(
override fun getDiscreteOps(
opNames: List<String>,
- coroutineScope: CoroutineScope
+ coroutineScope: CoroutineScope,
): Flow<List<DiscretePackageOpsModel>> {
return callbackFlow {
var job: Job? = null
@@ -112,9 +111,7 @@ class AppOpRepositoryImpl(
fun sendUpdate() {
if (job == null || job?.isActive == false) {
- job = coroutineScope.launch(dispatcher) {
- trySend(getDiscreteOps(opNames))
- }
+ job = coroutineScope.launch(dispatcher) { trySend(getDiscreteOps(opNames)) }
}
}
@@ -229,10 +226,10 @@ class AppOpRepositoryImpl(
packageOps.ops.map { opEntry ->
AppOpUsageModel(
opEntry.opStr,
- opEntry.getLastAccessTime(OPS_LAST_ACCESS_FLAGS)
+ opEntry.getLastAccessTime(OPS_LAST_ACCESS_FLAGS),
)
},
- UserHandle.getUserHandleForUid(packageOps.uid).identifier
+ UserHandle.getUserHandleForUid(packageOps.uid).identifier,
)
}
}
@@ -254,7 +251,7 @@ class AppOpRepositoryImpl(
if (SdkLevel.isAtLeastT()) {
opNames.add(AppOpsManager.OPSTR_RECEIVE_AMBIENT_TRIGGER_AUDIO)
}
- if (SdkLevel.isAtLeastV() && Flags.locationBypassPrivacyDashboardEnabled()) {
+ if (SdkLevel.isAtLeastV()) {
opNames.add(AppOpsManager.OPSTR_EMERGENCY_LOCATION)
}
return opNames
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/GetPermissionGroupUsageDetailsUseCase.kt b/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/GetPermissionGroupUsageDetailsUseCase.kt
index 5ba649fd3..cc49b4ef3 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/GetPermissionGroupUsageDetailsUseCase.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/GetPermissionGroupUsageDetailsUseCase.kt
@@ -227,8 +227,7 @@ class GetPermissionGroupUsageDetailsUseCase(
}
}
- private fun isLocationByPassEnabled(): Boolean =
- SdkLevel.isAtLeastV() && Flags.locationBypassPrivacyDashboardEnabled()
+ private fun isLocationByPassEnabled(): Boolean = SdkLevel.isAtLeastV()
/**
* Determine if an op should be in its own cluster and hence display as an individual entry in
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/PermissionUsageUtils.kt b/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/PermissionUsageUtils.kt
index 7f5910ac1..9526d0bdd 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/PermissionUsageUtils.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/PermissionUsageUtils.kt
@@ -21,7 +21,6 @@ import android.content.pm.ApplicationInfo
import android.content.pm.PackageInfo
import android.content.pm.PackageManager
import android.os.UserHandle
-import android.permission.flags.Flags
import androidx.annotation.VisibleForTesting
import com.android.modules.utils.build.SdkLevel
import com.android.permissioncontroller.permission.data.repository.v31.PermissionRepository
@@ -99,5 +98,4 @@ private fun isTelecomPackage(packageName: String, permissionGroup: String): Bool
permissionGroup == Manifest.permission_group.MICROPHONE)
}
-fun isLocationByPassEnabled(): Boolean =
- SdkLevel.isAtLeastV() && Flags.locationBypassPrivacyDashboardEnabled()
+fun isLocationByPassEnabled(): Boolean = SdkLevel.isAtLeastV()
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageDetailsViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageDetailsViewModel.kt
index ad21ab220..d8eeb8fd9 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageDetailsViewModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageDetailsViewModel.kt
@@ -30,7 +30,6 @@ import android.graphics.drawable.Drawable
import android.location.LocationManager
import android.os.Build
import android.os.UserHandle
-import android.permission.flags.Flags
import androidx.annotation.RequiresApi
import androidx.annotation.VisibleForTesting
import androidx.lifecycle.AndroidViewModel
@@ -406,8 +405,7 @@ class PermissionUsageDetailsViewModel(
}
}
- private fun isLocationByPassEnabled(): Boolean =
- SdkLevel.isAtLeastV() && Flags.locationBypassPrivacyDashboardEnabled()
+ private fun isLocationByPassEnabled(): Boolean = SdkLevel.isAtLeastV()
fun create(
app: Application,
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt b/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt
index 93a1a66df..1693b32d1 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt
@@ -45,7 +45,7 @@ object PermissionMapping {
listOf(
Manifest.permission_group.LOCATION,
Manifest.permission_group.CAMERA,
- Manifest.permission_group.MICROPHONE
+ Manifest.permission_group.MICROPHONE,
)
@JvmField
@@ -55,7 +55,7 @@ object PermissionMapping {
listOf(
Manifest.permission_group.STORAGE,
Manifest.permission_group.READ_MEDIA_AURAL,
- Manifest.permission_group.READ_MEDIA_VISUAL
+ Manifest.permission_group.READ_MEDIA_VISUAL,
)
val PARTIAL_MEDIA_PERMISSIONS: MutableSet<String> = mutableSetOf()
@@ -370,7 +370,7 @@ object PermissionMapping {
val appSupportsPickerPrompt =
group.permissions[Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED]?.isImplicit ==
- false
+ false
return if (appSupportsPickerPrompt) {
PARTIAL_MEDIA_PERMISSIONS
@@ -402,11 +402,7 @@ object PermissionMapping {
if (opName == AppOpsManager.OPSTR_PHONE_CALL_CAMERA) {
return Manifest.permission_group.CAMERA
}
- if (
- SdkLevel.isAtLeastV() &&
- Flags.locationBypassPrivacyDashboardEnabled() &&
- opName == AppOpsManager.OPSTR_EMERGENCY_LOCATION
- ) {
+ if (SdkLevel.isAtLeastV() && opName == AppOpsManager.OPSTR_EMERGENCY_LOCATION) {
return Manifest.permission_group.LOCATION
}