summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PermissionController/res/values-bs/strings.xml2
-rw-r--r--PermissionController/res/values-eu/strings.xml2
-rw-r--r--PermissionController/res/values-fr-rCA/strings.xml4
-rw-r--r--PermissionController/res/values-ka/strings.xml2
-rw-r--r--PermissionController/res/values-kk/strings.xml4
-rw-r--r--PermissionController/res/values-ko/strings.xml2
-rw-r--r--PermissionController/res/values-mk/strings.xml2
-rw-r--r--PermissionController/res/values-pt-rBR/strings.xml2
-rw-r--r--PermissionController/res/values-pt/strings.xml2
-rw-r--r--PermissionController/res/values-sk/strings.xml2
-rw-r--r--PermissionController/res/values-zh-rHK/strings.xml2
-rw-r--r--PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/television/OWNERS1
-rw-r--r--tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/PermissionUtils.kt34
-rw-r--r--tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/DeviceAwarePermissionGrantTest.kt89
14 files changed, 101 insertions, 49 deletions
diff --git a/PermissionController/res/values-bs/strings.xml b/PermissionController/res/values-bs/strings.xml
index 37721ef06..df621c98f 100644
--- a/PermissionController/res/values-bs/strings.xml
+++ b/PermissionController/res/values-bs/strings.xml
@@ -204,7 +204,7 @@
<string name="auto_revoke_label" msgid="5068393642936571656">"Ukloni odobrenja ako se aplikacija ne koristi"</string>
<string name="unused_apps_label" msgid="2595428768404901064">"Ukloni odobrenja i oslobodi prostor"</string>
<string name="unused_apps_label_v2" msgid="7058776770056517980">"Pauziraj aktivnost apl. ako se ne koristi"</string>
- <string name="unused_apps_label_v3" msgid="693340578642156657">"Upravljaj aplikacijom ako se ne koristi"</string>
+ <string name="unused_apps_label_v3" msgid="693340578642156657">"Upravljanje aplikacijom ako se ne koristi"</string>
<string name="unused_apps_summary" msgid="8839466950318403115">"Uklonite odobrenja, izbrišite privremene fajlove i zaustavite obavještenja"</string>
<string name="unused_apps_summary_v2" msgid="5011313200815115802">"Uklonite odobrenja, izbrišite privremene fajlove, zaustavite obavještenja i arhivirajte aplikaciju"</string>
<string name="auto_revoke_summary" msgid="5867548789805911683">"Zbog zaštite vaših podataka, odobrenja za ovu aplikaciju će se ukloniti ako se ona ne bude koristila nekoliko mjeseci."</string>
diff --git a/PermissionController/res/values-eu/strings.xml b/PermissionController/res/values-eu/strings.xml
index f0aaf7d97..3b7652f5c 100644
--- a/PermissionController/res/values-eu/strings.xml
+++ b/PermissionController/res/values-eu/strings.xml
@@ -200,7 +200,7 @@
<string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ikusi <xliff:g id="APP">%1$s</xliff:g> aplikazioaren baimen guztiak"</string>
<string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Ikusi baimen hau duten aplikazio guztiak"</string>
<string name="assistant_mic_label" msgid="1011432357152323896">"Erakutsi laguntzaileak mikrofonoa erabiltzeko duen baimena"</string>
- <string name="unused_apps_category_title" msgid="2988455616845243901">"Erabili gabeko aplikazio-ezarpenak"</string>
+ <string name="unused_apps_category_title" msgid="2988455616845243901">"Erabili gabeko aplikazioen ezarpenak"</string>
<string name="auto_revoke_label" msgid="5068393642936571656">"Kendu baimenak aplikazioa erabiltzen ez bada"</string>
<string name="unused_apps_label" msgid="2595428768404901064">"Kendu baimenak eta egin tokia"</string>
<string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausatu aplikazioko jarduerak, erabiltzen ez bada"</string>
diff --git a/PermissionController/res/values-fr-rCA/strings.xml b/PermissionController/res/values-fr-rCA/strings.xml
index 662ec7c11..2303487fe 100644
--- a/PermissionController/res/values-fr-rCA/strings.xml
+++ b/PermissionController/res/values-fr-rCA/strings.xml
@@ -110,7 +110,7 @@
<!-- no translation found for background_access_chooser_dialog_choices:1 (9127301153688725448) -->
<!-- no translation found for background_access_chooser_dialog_choices:2 (4305536986042401191) -->
<string name="permission_access_always" msgid="1474641821883823446">"Toujours autoriser"</string>
- <string name="permission_access_only_foreground" msgid="7801170728159326195">"Autoriser si l\'application est utilisée"</string>
+ <string name="permission_access_only_foreground" msgid="7801170728159326195">"Autoriser uniquement lorsque l\'application est utilisée"</string>
<string name="permission_access_never" msgid="4647014230217936900">"Ne pas autoriser"</string>
<string name="loading" msgid="4789365003890741082">"Chargement en cours…"</string>
<string name="all_permissions" msgid="6911125611996872522">"Toutes les autorisations"</string>
@@ -187,7 +187,7 @@
<string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"Autoriser à gérer tous les fichiers"</string>
<string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"Autoriser à accéder aux éléments multimédias seulement"</string>
<string name="app_permission_button_allow_always" msgid="4573292371734011171">"Toujours autoriser"</string>
- <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Autoriser uniquement lorsque l\'appli est en cours d\'utilisation"</string>
+ <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Autoriser uniquement lorsque l\'application est utilisée"</string>
<string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Toujours tout autoriser"</string>
<string name="app_permission_button_ask" msgid="3342950658789427">"Toujours demander"</string>
<string name="app_permission_button_deny" msgid="6016454069832050300">"Ne pas autoriser"</string>
diff --git a/PermissionController/res/values-ka/strings.xml b/PermissionController/res/values-ka/strings.xml
index ddb04f756..e445089a3 100644
--- a/PermissionController/res/values-ka/strings.xml
+++ b/PermissionController/res/values-ka/strings.xml
@@ -200,7 +200,7 @@
<string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"ყველა ნებართვის ნახვა: <xliff:g id="APP">%1$s</xliff:g>"</string>
<string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ამ ნებართვის მქონე ყველა აპის ნახვა"</string>
<string name="assistant_mic_label" msgid="1011432357152323896">"ასისტენტის მიკროფონის გამოყენების ჩვენება"</string>
- <string name="unused_apps_category_title" msgid="2988455616845243901">"აპის გამოუყენებელი პარამეტრები"</string>
+ <string name="unused_apps_category_title" msgid="2988455616845243901">"გამოუყენებელი აპის პარამეტრები"</string>
<string name="auto_revoke_label" msgid="5068393642936571656">"ნებართვების ამოშლა აპის გამოუყენებლობის შემთხვევაში."</string>
<string name="unused_apps_label" msgid="2595428768404901064">"ნებართვების ამოშლა და მეხსიერების გათავისუფლება"</string>
<string name="unused_apps_label_v2" msgid="7058776770056517980">"დაპაუზდეს აპში აქტივობა, თუ არ იყენებენ"</string>
diff --git a/PermissionController/res/values-kk/strings.xml b/PermissionController/res/values-kk/strings.xml
index 0ebee837f..b7f28b66f 100644
--- a/PermissionController/res/values-kk/strings.xml
+++ b/PermissionController/res/values-kk/strings.xml
@@ -204,9 +204,9 @@
<string name="auto_revoke_label" msgid="5068393642936571656">"Қолданба пайдаланылмаса, рұқсаттарды өшіру"</string>
<string name="unused_apps_label" msgid="2595428768404901064">"Рұқсаттарды өшіру және орын босату"</string>
<string name="unused_apps_label_v2" msgid="7058776770056517980">"Әрекетсіз қолданба жұмысын кідірту"</string>
- <string name="unused_apps_label_v3" msgid="693340578642156657">"Қолданба пайдаланылмаса, оны басқарыңыз."</string>
+ <string name="unused_apps_label_v3" msgid="693340578642156657">"Пайдаланылмайтын қолданбалардың жұмысын кідірту"</string>
<string name="unused_apps_summary" msgid="8839466950318403115">"Рұқсаттарды өшіру, уақытша файлдарды жою және хабарландыруларды тоқтату"</string>
- <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Рұқсаттарды өшіру, уақытша файлдарды жою, хабарландыруларды тоқтату және қолданбаны мұрағаттау."</string>
+ <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Рұқсаттарды өшіру, уақытша файлдарды жою, хабарландыруларды тоқтату және қолданбаны мұрағаттау"</string>
<string name="auto_revoke_summary" msgid="5867548789805911683">"Бұл қолданба бірнеше ай бойы пайдаланылмаса, деректеріңізді қорғау үшін оған берілген рұқсаттар өшіріледі."</string>
<string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Қолданба бірнеше ай бойы пайдаланылмаса, деректеріңізді қорғау үшін мына рұқсаттар өшіріледі: <xliff:g id="PERMS">%1$s</xliff:g>."</string>
<string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Бірнеше ай бойы пайдаланылмаған қолданбаларға берілген рұқсаттар деректеріңізді қорғау үшін өшірілді."</string>
diff --git a/PermissionController/res/values-ko/strings.xml b/PermissionController/res/values-ko/strings.xml
index 692535101..ed77a95ec 100644
--- a/PermissionController/res/values-ko/strings.xml
+++ b/PermissionController/res/values-ko/strings.xml
@@ -204,7 +204,7 @@
<string name="auto_revoke_label" msgid="5068393642936571656">"앱이 사용되지 않는 경우 권한 삭제"</string>
<string name="unused_apps_label" msgid="2595428768404901064">"권한을 삭제하고 여유 공간 확보"</string>
<string name="unused_apps_label_v2" msgid="7058776770056517980">"사용하지 않을 때 앱 활동 일시중지"</string>
- <string name="unused_apps_label_v3" msgid="693340578642156657">"사용하지 않는 경우 앱 관리"</string>
+ <string name="unused_apps_label_v3" msgid="693340578642156657">"사용하지 않는 앱 관리"</string>
<string name="unused_apps_summary" msgid="8839466950318403115">"권한 제거, 임시 파일 삭제, 알림 중지"</string>
<string name="unused_apps_summary_v2" msgid="5011313200815115802">"권한 제거, 임시 파일 삭제, 알림 중지, 앱 보관처리"</string>
<string name="auto_revoke_summary" msgid="5867548789805911683">"데이터 보호를 위해 몇 개월 동안 앱을 사용하지 않으면 앱의 권한이 삭제됩니다."</string>
diff --git a/PermissionController/res/values-mk/strings.xml b/PermissionController/res/values-mk/strings.xml
index 363d745e6..21218f1cc 100644
--- a/PermissionController/res/values-mk/strings.xml
+++ b/PermissionController/res/values-mk/strings.xml
@@ -204,7 +204,7 @@
<string name="auto_revoke_label" msgid="5068393642936571656">"Отстрани ги дозволите ако апликацијата не се користи"</string>
<string name="unused_apps_label" msgid="2595428768404901064">"Отстранувај дозволи и ослободувај простор"</string>
<string name="unused_apps_label_v2" msgid="7058776770056517980">"Паузирај некористени апликации"</string>
- <string name="unused_apps_label_v3" msgid="693340578642156657">"Управува со апликацијата при некористење"</string>
+ <string name="unused_apps_label_v3" msgid="693340578642156657">"Управување со апликацијата при некористење"</string>
<string name="unused_apps_summary" msgid="8839466950318403115">"Отстранува дозволи, брише привремени датотеки и запира известувања"</string>
<string name="unused_apps_summary_v2" msgid="5011313200815115802">"Отстранува дозволи, брише привремени датотеки, сопира известувања и ја архивира апликацијата"</string>
<string name="auto_revoke_summary" msgid="5867548789805911683">"За да се заштитат вашите податоци, дозволите за апликацијава ќе се отстранат ако апликацијата не се користи неколку месеци."</string>
diff --git a/PermissionController/res/values-pt-rBR/strings.xml b/PermissionController/res/values-pt-rBR/strings.xml
index 2aec85fed..aeeb6f4bf 100644
--- a/PermissionController/res/values-pt-rBR/strings.xml
+++ b/PermissionController/res/values-pt-rBR/strings.xml
@@ -204,7 +204,7 @@
<string name="auto_revoke_label" msgid="5068393642936571656">"Remover permissões se o app não for usado"</string>
<string name="unused_apps_label" msgid="2595428768404901064">"Remover permissões e liberar espaço"</string>
<string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar atividade no app quando não usado"</string>
- <string name="unused_apps_label_v3" msgid="693340578642156657">"Gerenciar o app quando não usado"</string>
+ <string name="unused_apps_label_v3" msgid="693340578642156657">"Gerenciar o app fora de uso"</string>
<string name="unused_apps_summary" msgid="8839466950318403115">"Remove permissões, exclui arquivos temporários e para notificações"</string>
<string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remover permissões, excluir arquivos temporários, parar notificações e arquivar o app"</string>
<string name="auto_revoke_summary" msgid="5867548789805911683">"Para proteger seus dados, as permissões serão removidas se o app não for usado por alguns meses."</string>
diff --git a/PermissionController/res/values-pt/strings.xml b/PermissionController/res/values-pt/strings.xml
index 2aec85fed..aeeb6f4bf 100644
--- a/PermissionController/res/values-pt/strings.xml
+++ b/PermissionController/res/values-pt/strings.xml
@@ -204,7 +204,7 @@
<string name="auto_revoke_label" msgid="5068393642936571656">"Remover permissões se o app não for usado"</string>
<string name="unused_apps_label" msgid="2595428768404901064">"Remover permissões e liberar espaço"</string>
<string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar atividade no app quando não usado"</string>
- <string name="unused_apps_label_v3" msgid="693340578642156657">"Gerenciar o app quando não usado"</string>
+ <string name="unused_apps_label_v3" msgid="693340578642156657">"Gerenciar o app fora de uso"</string>
<string name="unused_apps_summary" msgid="8839466950318403115">"Remove permissões, exclui arquivos temporários e para notificações"</string>
<string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remover permissões, excluir arquivos temporários, parar notificações e arquivar o app"</string>
<string name="auto_revoke_summary" msgid="5867548789805911683">"Para proteger seus dados, as permissões serão removidas se o app não for usado por alguns meses."</string>
diff --git a/PermissionController/res/values-sk/strings.xml b/PermissionController/res/values-sk/strings.xml
index 57e7aaf6d..9ccf14ef8 100644
--- a/PermissionController/res/values-sk/strings.xml
+++ b/PermissionController/res/values-sk/strings.xml
@@ -206,7 +206,7 @@
<string name="unused_apps_label_v2" msgid="7058776770056517980">"Pozastaviť aktivitu v nepoužívaných apl."</string>
<string name="unused_apps_label_v3" msgid="693340578642156657">"Spravovať aplikáciu, ak sa nepoužíva"</string>
<string name="unused_apps_summary" msgid="8839466950318403115">"Odstrániť povolenia, vymazať dočasné súbory a zastaviť upozornenia"</string>
- <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Odstráňte povolenia, vymažte dočasné súbory, zastavte upozornenia a archivujte aplikáciu"</string>
+ <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Odstrániť povolenia, vymazať dočasné súbory, zastaviť upozornenia a archivovať aplikáciu"</string>
<string name="auto_revoke_summary" msgid="5867548789805911683">"Ak túto aplikáciu niekoľko mesiacov nepoužijete, v záujme ochrany vašich údajov budú odstránené jej povolenia."</string>
<string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Ak túto aplikáciu niekoľko mesiacov nepoužijete, v záujme ochrany vašich údajov budú odstránené tieto povolenia: <xliff:g id="PERMS">%1$s</xliff:g>"</string>
<string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"V záujme ochrany vašich údajov boli odobrané povolenia aplikáciám, ktoré ste niekoľko mesiacov nepoužívali."</string>
diff --git a/PermissionController/res/values-zh-rHK/strings.xml b/PermissionController/res/values-zh-rHK/strings.xml
index bfb271f6d..27fd7ec68 100644
--- a/PermissionController/res/values-zh-rHK/strings.xml
+++ b/PermissionController/res/values-zh-rHK/strings.xml
@@ -200,7 +200,7 @@
<string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"查看「<xliff:g id="APP">%1$s</xliff:g>」的所有權限"</string>
<string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"查看擁有此權限的所有應用程式"</string>
<string name="assistant_mic_label" msgid="1011432357152323896">"顯示「Google 助理」麥克風使用情況"</string>
- <string name="unused_apps_category_title" msgid="2988455616845243901">"未使用的應用程式設定"</string>
+ <string name="unused_apps_category_title" msgid="2988455616845243901">"不使用的應用程式設定"</string>
<string name="auto_revoke_label" msgid="5068393642936571656">"如不使用應用程式,即移除權限"</string>
<string name="unused_apps_label" msgid="2595428768404901064">"移除權限並騰出空間"</string>
<string name="unused_apps_label_v2" msgid="7058776770056517980">"暫停未使用應用程式的活動"</string>
diff --git a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/television/OWNERS b/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/television/OWNERS
index 6214fba50..c6774752d 100644
--- a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/television/OWNERS
+++ b/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/television/OWNERS
@@ -1,5 +1,4 @@
# Primary maintainer
-sergeynv@google.com
# Other maintainers (ATV Core Framework team)
bronger@google.com
diff --git a/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/PermissionUtils.kt b/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/PermissionUtils.kt
index fa58fc9f7..0ae0fd8e0 100644
--- a/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/PermissionUtils.kt
+++ b/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/PermissionUtils.kt
@@ -1,32 +1,24 @@
package android.permissionmultidevice.cts
import android.content.Context
-import android.content.pm.PackageManager
+import android.permission.PermissionManager
+import android.permission.PermissionManager.PermissionState
import android.provider.Settings
-import org.junit.Assert
+import com.android.compatibility.common.util.SystemUtil
object PermissionUtils {
- fun assertAppHasPermissionForDevice(
+ fun getHostDeviceName(context: Context): String {
+ return Settings.Global.getString(context.contentResolver, Settings.Global.DEVICE_NAME)
+ }
+
+ fun getAllPermissionStates(
context: Context,
packageName: String,
- permissionName: String,
- deviceId: Int,
- expectPermissionGranted: Boolean
- ) {
- val checkPermissionResult =
- context
- .createDeviceContext(deviceId)
- .packageManager
- .checkPermission(permissionName, packageName)
-
- if (expectPermissionGranted) {
- Assert.assertEquals(PackageManager.PERMISSION_GRANTED, checkPermissionResult)
- } else {
- Assert.assertEquals(PackageManager.PERMISSION_DENIED, checkPermissionResult)
+ companionDeviceId: String
+ ): Map<String, PermissionState> {
+ val permissionManager = context.getSystemService(PermissionManager::class.java)!!
+ return SystemUtil.runWithShellPermissionIdentity<Map<String, PermissionState>> {
+ permissionManager.getAllPermissionStates(packageName, companionDeviceId)
}
}
-
- fun getHostDeviceName(context: Context): String {
- return Settings.Global.getString(context.contentResolver, Settings.Global.DEVICE_NAME)
- }
}
diff --git a/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/DeviceAwarePermissionGrantTest.kt b/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/DeviceAwarePermissionGrantTest.kt
index b3efa36cb..2d03fbc25 100644
--- a/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/DeviceAwarePermissionGrantTest.kt
+++ b/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/DeviceAwarePermissionGrantTest.kt
@@ -19,14 +19,15 @@ package android.permissionmultidevice.cts
import android.Manifest
import android.app.ActivityOptions
import android.app.Instrumentation
+import android.companion.virtual.VirtualDeviceManager
import android.content.ComponentName
+import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import android.permission.flags.Flags
import android.permissionmultidevice.cts.PackageManagementUtils.installPackage
import android.permissionmultidevice.cts.PackageManagementUtils.uninstallPackage
-import android.permissionmultidevice.cts.PermissionUtils.assertAppHasPermissionForDevice
import android.permissionmultidevice.cts.PermissionUtils.getHostDeviceName
import android.permissionmultidevice.cts.UiAutomatorUtils.click
import android.permissionmultidevice.cts.UiAutomatorUtils.findTextForView
@@ -42,6 +43,7 @@ import com.android.compatibility.common.util.AdoptShellPermissionsRule
import com.android.compatibility.common.util.SystemUtil
import com.google.common.truth.Truth
import org.junit.After
+import org.junit.Assert
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -134,18 +136,10 @@ class DeviceAwarePermissionGrantTest {
expectPermissionGrantedOnDefaultDevice: Boolean,
expectPermissionGrantedOnRemoteDevice: Boolean
) {
- assertAppHasPermissionForDevice(
- defaultDeviceContext,
- APP_PACKAGE_NAME,
- Manifest.permission.CAMERA,
- DEVICE_ID_DEFAULT,
- false
- )
+ assertAppHasPermissionForDevice(defaultDeviceContext, DEVICE_ID_DEFAULT, false)
assertAppHasPermissionForDevice(
defaultDeviceContext,
- APP_PACKAGE_NAME,
- Manifest.permission.CAMERA,
mFakeVirtualDeviceRule.virtualDevice.deviceId,
false
)
@@ -160,19 +154,25 @@ class DeviceAwarePermissionGrantTest {
assertAppHasPermissionForDevice(
defaultDeviceContext,
- APP_PACKAGE_NAME,
- Manifest.permission.CAMERA,
DEVICE_ID_DEFAULT,
expectPermissionGrantedOnDefaultDevice
)
assertAppHasPermissionForDevice(
defaultDeviceContext,
- APP_PACKAGE_NAME,
- Manifest.permission.CAMERA,
mFakeVirtualDeviceRule.virtualDevice.deviceId,
expectPermissionGrantedOnRemoteDevice
)
+
+ assertAppHasPermissionForDeviceUsingAllPermissionStatesApi(
+ defaultDeviceContext,
+ expectPermissionGrantedOnRemoteDevice
+ )
+
+ assertAppHasPermissionForDefaultDeviceUsingAllPermissionStatesApi(
+ defaultDeviceContext,
+ expectPermissionGrantedOnDefaultDevice
+ )
}
private fun requestPermissionOnDevice(displayId: Int, targetDeviceId: Int) {
@@ -194,6 +194,66 @@ class DeviceAwarePermissionGrantTest {
Truth.assertThat(text).contains(deviceName)
}
+ private fun assertAppHasPermissionForDevice(
+ context: Context,
+ deviceId: Int,
+ expectPermissionGranted: Boolean
+ ) {
+ val checkPermissionResult =
+ context
+ .createDeviceContext(deviceId)
+ .packageManager
+ .checkPermission(Manifest.permission.CAMERA, APP_PACKAGE_NAME)
+
+ if (expectPermissionGranted) {
+ Assert.assertEquals(PackageManager.PERMISSION_GRANTED, checkPermissionResult)
+ } else {
+ Assert.assertEquals(PackageManager.PERMISSION_DENIED, checkPermissionResult)
+ }
+ }
+
+ private fun assertAppHasPermissionForDeviceUsingAllPermissionStatesApi(
+ context: Context,
+ expectPermissionGranted: Boolean
+ ) {
+ val vdm = context.getSystemService(VirtualDeviceManager::class.java)!!
+ val persistentDeviceIds = vdm.allPersistentDeviceIds
+
+ if (persistentDeviceIds.isEmpty()) {
+ Assert.assertEquals(expectPermissionGranted, false)
+ } else {
+ Assert.assertEquals(1, persistentDeviceIds.size)
+ val permMap =
+ PermissionUtils.getAllPermissionStates(
+ context,
+ APP_PACKAGE_NAME,
+ persistentDeviceIds.toList()[0]
+ )
+ val grantedList =
+ permMap.filter { it.key == Manifest.permission.CAMERA }.map { it.value.isGranted }
+ if (grantedList.isNotEmpty()) {
+ Assert.assertEquals(1, grantedList.size)
+ Assert.assertEquals(expectPermissionGranted, grantedList[0])
+ } else {
+ Assert.assertFalse(expectPermissionGranted)
+ }
+ }
+ }
+
+ private fun assertAppHasPermissionForDefaultDeviceUsingAllPermissionStatesApi(
+ context: Context,
+ expectPermissionGranted: Boolean
+ ) {
+ val permMap =
+ PermissionUtils.getAllPermissionStates(
+ context,
+ APP_PACKAGE_NAME,
+ PERSISTENT_DEVICE_ID_DEFAULT
+ )
+ Assert.assertNotNull(permMap[Manifest.permission.CAMERA])
+ Assert.assertEquals(expectPermissionGranted, permMap[Manifest.permission.CAMERA]?.isGranted)
+ }
+
companion object {
const val APK_DIRECTORY = "/data/local/tmp/cts-permissionmultidevice"
const val APP_APK_PATH_STREAMING = "${APK_DIRECTORY}/CtsAccessRemoteDeviceCamera.apk"
@@ -202,5 +262,6 @@ class DeviceAwarePermissionGrantTest {
const val ALLOW_BUTTON =
"com.android.permissioncontroller:id/permission_allow_foreground_only_button"
const val DEVICE_ID_DEFAULT = 0
+ const val PERSISTENT_DEVICE_ID_DEFAULT = VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT
}
}