summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shreshta Manu <shreshtabm@google.com> 2024-11-12 18:55:38 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-11-12 18:55:38 +0000
commitea240f1a7bb616ba841b12447245ba681d45d8a2 (patch)
tree7500d1027dff70b5caeee92fa02807c022466ea5
parent3d6960007eedc990a07754d02f5f5d90b96cbb15 (diff)
parent750f45dd377401ef6aecf81b6204085ef8373dfd (diff)
Merge "[Ranging] Add new permission for Android generic ranging." into main am: 750f45dd37
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Permission/+/3291966 Change-Id: I520c12576df23851b8a1ac3224731ee2928fa952 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt8
-rw-r--r--tests/cts/permissionpolicy/Android.bp1
-rw-r--r--tests/cts/permissionpolicy/res/raw/android_manifest.xml10
-rw-r--r--tests/cts/permissionpolicy/src/android/permissionpolicy/cts/RuntimePermissionProperties.kt8
4 files changed, 27 insertions, 0 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt b/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt
index f97acb130..cd0097397 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt
@@ -22,6 +22,7 @@ import android.app.AppOpsManager
import android.content.pm.PackageManager
import android.content.pm.PermissionInfo
import android.health.connect.HealthPermissions.HEALTH_PERMISSION_GROUP
+import android.permission.flags.Flags
import android.util.Log
import com.android.modules.utils.build.SdkLevel
import com.android.permission.safetylabel.DataCategoryConstants
@@ -139,6 +140,13 @@ object PermissionMapping {
Manifest.permission_group.NEARBY_DEVICES
}
+ // Ranging permission will be supported from Android B+, update this when isAtLeastB()
+ // is available.
+ if (SdkLevel.isAtLeastV() && Flags.rangingPermissionEnabled()) {
+ PLATFORM_PERMISSIONS[Manifest.permission.RANGING] =
+ Manifest.permission_group.NEARBY_DEVICES
+ }
+
// Any updates to the permissions for the CALL_LOG permission group must also be made in
// Permissions {@link com.android.role.controller.model.Permissions} in the role
// library
diff --git a/tests/cts/permissionpolicy/Android.bp b/tests/cts/permissionpolicy/Android.bp
index e6041eea2..4249f3c9d 100644
--- a/tests/cts/permissionpolicy/Android.bp
+++ b/tests/cts/permissionpolicy/Android.bp
@@ -37,6 +37,7 @@ android_test {
"permission-test-util-lib",
"androidx.test.rules",
"flag-junit",
+ "android.permission.flags-aconfig-java-export",
],
srcs: [
"src/**/*.java",
diff --git a/tests/cts/permissionpolicy/res/raw/android_manifest.xml b/tests/cts/permissionpolicy/res/raw/android_manifest.xml
index af96c9a20..9609ea1fe 100644
--- a/tests/cts/permissionpolicy/res/raw/android_manifest.xml
+++ b/tests/cts/permissionpolicy/res/raw/android_manifest.xml
@@ -2396,6 +2396,16 @@
android:label="@string/permlab_nearby_wifi_devices"
android:protectionLevel="dangerous" />
+ <!-- Required to be able to range to devices using any ranging technology.
+ @FlaggedApi("android.permission.flags.ranging_permission_enabled")
+ <p>Protection level: dangerous -->
+ <permission android:name="android.permission.RANGING"
+ android:permissionGroup="android.permission-group.UNDEFINED"
+ android:description="@string/permdesc_ranging"
+ android:label="@string/permlab_ranging"
+ android:protectionLevel="dangerous"
+ android:featureFlag="android.permission.flags.ranging_permission_enabled" />
+
<!-- @SystemApi @TestApi Allows an application to suspend other apps, which will prevent the
user from using them until they are unsuspended.
@hide
diff --git a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/RuntimePermissionProperties.kt b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/RuntimePermissionProperties.kt
index 6b3ae5f2e..70832b6ba 100644
--- a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/RuntimePermissionProperties.kt
+++ b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/RuntimePermissionProperties.kt
@@ -33,6 +33,7 @@ import android.Manifest.permission.NEARBY_WIFI_DEVICES
import android.Manifest.permission.PACKAGE_USAGE_STATS
import android.Manifest.permission.POST_NOTIFICATIONS
import android.Manifest.permission.PROCESS_OUTGOING_CALLS
+import android.Manifest.permission.RANGING
import android.Manifest.permission.READ_CALENDAR
import android.Manifest.permission.READ_CALL_LOG
import android.Manifest.permission.READ_CELL_BROADCASTS
@@ -59,6 +60,7 @@ import android.content.pm.PackageManager.GET_PERMISSIONS
import android.content.pm.PermissionInfo.PROTECTION_DANGEROUS
import android.content.pm.PermissionInfo.PROTECTION_FLAG_APPOP
import android.os.Build
+import android.permission.flags.Flags
import android.permission.PermissionManager
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.runner.AndroidJUnit4
@@ -187,6 +189,12 @@ class RuntimePermissionProperties {
// runtime permission
expectedPerms.add(READ_MEDIA_VISUAL_USER_SELECTED)
+ // Add runtime permissions added in B which were _not_ split from a previously existing
+ // runtime permission
+ if (Flags.rangingPermissionEnabled()) {
+ expectedPerms.add(RANGING)
+ }
+
assertThat(expectedPerms).containsExactlyElementsIn(platformRuntimePerms.map { it.name })
}
}