diff options
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 } } |