summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PermissionController/Android.bp8
-rw-r--r--PermissionController/jarjar-rules.txt25
-rw-r--r--PermissionController/res/values-ca/strings.xml2
-rw-r--r--PermissionController/res/values-el/strings.xml2
-rw-r--r--PermissionController/res/values-eu/strings.xml6
-rw-r--r--PermissionController/res/values-fa/strings.xml4
-rw-r--r--PermissionController/res/values-km/strings.xml4
-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-tr/strings.xml4
-rw-r--r--PermissionController/res/values-zh-rHK/strings.xml2
-rw-r--r--PermissionController/res/xml/roles.xml3
-rw-r--r--PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java12
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/GetPermissionGroupUsageDetailsUseCase.kt5
-rw-r--r--PermissionController/tests/mocking/Android.bp3
-rw-r--r--PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/domain/usecase/GetPermissionGroupUsageDetailsUseCaseTest.kt9
-rw-r--r--PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/ui/model/PermissionUsageDetailsViewModelTest.kt3
-rw-r--r--flags/flags.aconfig13
-rw-r--r--service/Android.bp1
-rw-r--r--service/jarjar-rules.txt4
-rw-r--r--tests/cts/permission/src/android/permission/cts/OneTimePermissionTest.java36
-rw-r--r--tests/cts/permissionpolicy/res/raw/android_manifest.xml22
22 files changed, 76 insertions, 96 deletions
diff --git a/PermissionController/Android.bp b/PermissionController/Android.bp
index 596b2dbb5..5c238806e 100644
--- a/PermissionController/Android.bp
+++ b/PermissionController/Android.bp
@@ -72,11 +72,6 @@ java_library {
],
}
-filegroup {
- name: "PermissionController-jarjar-rules",
- srcs: ["jarjar-rules.txt"],
-}
-
android_library {
name: "PermissionController-lib",
sdk_version: "system_current",
@@ -172,9 +167,6 @@ android_library {
"//apex_available:platform",
"com.android.permission",
],
-
- // TODO(b/313706381): Remove jarjar once flagging lib is fixed
- jarjar_rules: ":PermissionController-jarjar-rules",
}
android_app {
diff --git a/PermissionController/jarjar-rules.txt b/PermissionController/jarjar-rules.txt
deleted file mode 100644
index 7bfda1ab1..000000000
--- a/PermissionController/jarjar-rules.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-# You may bypass this Gerrit IfThisThenThat Lint if your change doesn't affect
-# RoleParser.applyJarjarTransform(), by adding NO_IFTTT=reason to your commit
-# message.
-# LINT.IfChange
-rule android.app.appfunctions.flags.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.app.appfunctions.flags.FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.app.appfunctions.flags.FeatureFlags com.android.permissioncontroller.jarjar.@0
-rule android.app.appfunctions.flags.Flags com.android.permissioncontroller.jarjar.@0
-rule android.companion.virtualdevice.flags.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.companion.virtualdevice.flags.FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.companion.virtualdevice.flags.FeatureFlags com.android.permissioncontroller.jarjar.@0
-rule android.companion.virtualdevice.flags.Flags com.android.permissioncontroller.jarjar.@0
-rule android.content.pm.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.content.pm.FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.content.pm.FeatureFlags com.android.permissioncontroller.jarjar.@0
-rule android.content.pm.Flags com.android.permissioncontroller.jarjar.@0
-rule android.permission.flags.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.permission.flags.FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.permission.flags.FeatureFlags com.android.permissioncontroller.jarjar.@0
-rule android.permission.flags.Flags com.android.permissioncontroller.jarjar.@0
-rule android.os.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.os.FeatureFlags* com.android.permissioncontroller.jarjar.@0
-rule android.os.FeatureFlags com.android.permissioncontroller.jarjar.@0
-rule android.os.Flags com.android.permissioncontroller.jarjar.@0
-# LINT.ThenChange(PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java:applyJarjarTransform)
diff --git a/PermissionController/res/values-ca/strings.xml b/PermissionController/res/values-ca/strings.xml
index e61f41507..20ca0abed 100644
--- a/PermissionController/res/values-ca/strings.xml
+++ b/PermissionController/res/values-ca/strings.xml
@@ -457,7 +457,7 @@
<string name="incident_report_dialog_title" msgid="669104389325204095">"Vols compartir les dades de depuració?"</string>
<string name="incident_report_dialog_intro" msgid="5897733669850951832">"El sistema ha detectat un problema."</string>
<string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> sol·licita penjar un informe d\'errors des d\'aquest dispositiu generat el dia <xliff:g id="DATE">%2$s</xliff:g> (<xliff:g id="TIME">%3$s</xliff:g>). Els informes d\'errors inclouen informació personal sobre el dispositiu o informació registrada per les aplicacions, com ara noms d\'usuaris, dades de la ubicació, identificadors del dispositiu i informació de la xarxa. Comparteix informes d\'errors només amb persones i aplicacions de confiança. Vols permetre que <xliff:g id="APP_NAME_1">%4$s</xliff:g> pengi un informe d\'errors?"</string>
- <string name="incident_report_error_dialog_text" msgid="4189647113387092272">"S\'ha produït un error en processar l\'informe d\'errors de l\'aplicació <xliff:g id="APP_NAME">%1$s</xliff:g> i, per tant, s\'han denegat les dades de depuració detallades. Sentim la interrupció."</string>
+ <string name="incident_report_error_dialog_text" msgid="4189647113387092272">"Hi ha hagut un error en processar l\'informe d\'errors de l\'aplicació <xliff:g id="APP_NAME">%1$s</xliff:g> i, per tant, s\'han denegat les dades de depuració detallades. Sentim la interrupció."</string>
<string name="incident_report_dialog_allow_label" msgid="2970242967721155239">"Permet"</string>
<string name="incident_report_dialog_deny_label" msgid="3535314290677579383">"Denega"</string>
<string name="adjust_user_sensitive_title" msgid="4196724451314280527">"Configuració avançada"</string>
diff --git a/PermissionController/res/values-el/strings.xml b/PermissionController/res/values-el/strings.xml
index a0982e7a9..e8afe33f3 100644
--- a/PermissionController/res/values-el/strings.xml
+++ b/PermissionController/res/values-el/strings.xml
@@ -381,7 +381,7 @@
<string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string>
<string name="role_home_label" msgid="3871847846649769412">"Προεπ. εφαρμογή αρχικής οθόνης"</string>
<string name="role_home_short_label" msgid="8544733747952272337">"Εφαρμογή αρχικής οθόνης"</string>
- <string name="role_home_description" msgid="7997371519626556675">"Εφαρμογές, που συχνά αποκαλούνται εφαρμογές εκκίνησης, που αντικαθιστούν τις Αρχικές οθόνες στη συσκευή σας Android και σας δίνουν πρόσβαση στα περιεχόμενα και τις λειτουργίες της συσκευή σας"</string>
+ <string name="role_home_description" msgid="7997371519626556675">"Εφαρμογές, που συχνά αποκαλούνται εφαρμογές εκκίνησης, που αντικαθιστούν τις Αρχικές οθόνες στη συσκευή σας Android και σας δίνουν πρόσβαση στα περιεχόμενα και τις λειτουργίες της συσκευής σας"</string>
<string name="role_home_request_title" msgid="738136983453341081">"Ορισμός εφαρμογής <xliff:g id="APP_NAME">%1$s</xliff:g> ως προεπιλεγμένης εφαρμογής αρχικής οθόνης;"</string>
<string name="role_home_request_description" msgid="2658833966716057673">"Δεν απαιτούνται άδειες"</string>
<string name="role_home_search_keywords" msgid="3830755001192666285">"εφαρμογή εκκίνησης"</string>
diff --git a/PermissionController/res/values-eu/strings.xml b/PermissionController/res/values-eu/strings.xml
index 8af605bc3..7acae1dbc 100644
--- a/PermissionController/res/values-eu/strings.xml
+++ b/PermissionController/res/values-eu/strings.xml
@@ -256,7 +256,7 @@
<string name="allowed_storage_scoped" msgid="5383645873719086975">"Multimedia-fitx. soilik erabiltzeko baimena dutenak"</string>
<string name="allowed_storage_full" msgid="5356699280625693530">"Fitxategi guztiak kudeatzeko baimena dutenak"</string>
<string name="ask_header" msgid="2633816846459944376">"Galdetu beti"</string>
- <string name="denied_header" msgid="903209608358177654">"Baimendu gabekoak"</string>
+ <string name="denied_header" msgid="903209608358177654">"Baimendu gabe"</string>
<string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>)"</string>
<string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Ikusi fitxategi guztiak atzi ditzaketen aplikazio gehiago"</string>
<string name="days" msgid="609563020985571393">"{count,plural, =1{1 egun}other{# egun}}"</string>
@@ -355,7 +355,7 @@
<string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Aplikazio horiek pantaila, egiten dituzun ekintzak eta idazten dituzun gauzak ikusi ahalko dituzte, bai eta ekintzak gauzatu eta pantaila kontrolatu ere."</string>
<string name="role_assistant_label" msgid="4727586018198208128">"Laguntzaile digitalaren aplikazio lehenetsia"</string>
<string name="role_assistant_short_label" msgid="3369003713187703399">"Laguntzaile digitalaren aplikazioa"</string>
- <string name="role_assistant_description" msgid="6622458130459922952">"Ikusten ari zaren pantailako informazioaren araberako laguntza eskain diezazukete laguntza-aplikazioek. Zenbait aplikaziok abiarazlea eta ahots bidezko zerbitzuak onartzen dituzte laguntza integratua eskaintzeko."</string>
+ <string name="role_assistant_description" msgid="6622458130459922952">"Ikusten ari zaren pantailako informazioaren araberako laguntza eskain diezazukete laguntza-aplikazioek. Zenbait aplikaziok exekutatzeko tresna eta ahots bidezko zerbitzuak onartzen dituzte laguntza integratua eskaintzeko."</string>
<string name="role_browser_label" msgid="2877796144554070207">"Arakatzaile lehenetsia"</string>
<string name="role_browser_short_label" msgid="6745009127123292296">"Arakatzaile- aplikazioa"</string>
<string name="role_browser_description" msgid="3465253637499842671">"Interneteko sarbidea ematen dizuten eta sakatzen dituzun estekak bistaratzen dituzten aplikazioak"</string>
@@ -381,7 +381,7 @@
<string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string>
<string name="role_home_label" msgid="3871847846649769412">"Hasierako aplikazio lehenetsia"</string>
<string name="role_home_short_label" msgid="8544733747952272337">"Hasierako aplikazioa"</string>
- <string name="role_home_description" msgid="7997371519626556675">"Android-eko gailuko orri nagusiak ordezten dituzten aplikazioak (\"abiarazle\" ere deitzen zaie). Gailuko eduki eta eginbideetarako sarbidea ematen dute."</string>
+ <string name="role_home_description" msgid="7997371519626556675">"Android-eko gailuko orri nagusiak ordezten dituzten aplikazioak (\"exekutatzeko tresna\" ere deitzen zaie). Gailuko eduki eta eginbideetarako sarbidea ematen dute."</string>
<string name="role_home_request_title" msgid="738136983453341081">"<xliff:g id="APP_NAME">%1$s</xliff:g> ezarri nahi duzu hasierako aplikazio lehenetsi gisa?"</string>
<string name="role_home_request_description" msgid="2658833966716057673">"Ez du behar baimenik"</string>
<string name="role_home_search_keywords" msgid="3830755001192666285">"abiarazlea"</string>
diff --git a/PermissionController/res/values-fa/strings.xml b/PermissionController/res/values-fa/strings.xml
index 49f4a86d7..1ef41ea6d 100644
--- a/PermissionController/res/values-fa/strings.xml
+++ b/PermissionController/res/values-fa/strings.xml
@@ -256,7 +256,7 @@
<string name="allowed_storage_scoped" msgid="5383645873719086975">"مجاز فقط برای دسترسی به رسانه‌ها"</string>
<string name="allowed_storage_full" msgid="5356699280625693530">"مجاز برای مدیریت همه فایل‌ها"</string>
<string name="ask_header" msgid="2633816846459944376">"هربار پرسیده شود"</string>
- <string name="denied_header" msgid="903209608358177654">"مجاز نبودن"</string>
+ <string name="denied_header" msgid="903209608358177654">"مجاز نیست"</string>
<string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> در <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
<string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"دیدن برنامه‌های دیگری که به همه فایل‌ها دسترسی دارند"</string>
<string name="days" msgid="609563020985571393">"{count,plural, =1{یک روز}one{# روز}other{# روز}}"</string>
@@ -381,7 +381,7 @@
<string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string>
<string name="role_home_label" msgid="3871847846649769412">"برنامه صفحه اصلی پیش‌فرض"</string>
<string name="role_home_short_label" msgid="8544733747952272337">"برنامه صفحه اصلی"</string>
- <string name="role_home_description" msgid="7997371519626556675">"‏برنامه‌های عموماً موسوم به راه‌انداز، که جایگزین صفحه‌های اصلی در دستگاه Android می‌شوند و امکان دسترسی به محتواها و ویژگی‌های دستگاه را می‌دهند"</string>
+ <string name="role_home_description" msgid="7997371519626556675">"‏برنامه‌هایی (موسوم به راه‌انداز) که جایگزین صفحه‌های اصلی در دستگاه Android می‌شوند و امکان دسترسی به محتواها و ویژگی‌های دستگاه را می‌دهند"</string>
<string name="role_home_request_title" msgid="738136983453341081">"<xliff:g id="APP_NAME">%1$s</xliff:g> به‌عنوان برنامه صفحه اصلی پیش‌فرض تنظیم شود؟"</string>
<string name="role_home_request_description" msgid="2658833966716057673">"اجازه لازم نیست"</string>
<string name="role_home_search_keywords" msgid="3830755001192666285">"راه‌انداز"</string>
diff --git a/PermissionController/res/values-km/strings.xml b/PermissionController/res/values-km/strings.xml
index 82f5c1919..60e0590ce 100644
--- a/PermissionController/res/values-km/strings.xml
+++ b/PermissionController/res/values-km/strings.xml
@@ -80,7 +80,7 @@
<string name="additional_permissions" msgid="5801285469338873430">"ការអនុញ្ញាតបន្ថែម"</string>
<string name="app_permissions_info_button_label" msgid="7633312050729974623">"បើក​ព័ត៌មាន​កម្មវិធី"</string>
<string name="additional_permissions_more" msgid="5681220714755304407">"{count,plural, =1{# ទៀត}other{# ទៀត}}"</string>
- <string name="old_sdk_deny_warning" msgid="2382236998845153919">"កម្មវិធីនេះ​ត្រូវបាន​រចនាឡើង​សម្រាប់​កំណែចាស់ជាងនេះ​របស់ Android ។ ការបដិសេធ​ការអនុញ្ញាត​អាចបណ្តាលឱ្យ​វាបំពេញ​មុខងារ​មិនដូចការគ្រោងទុក​តទៅទៀតទេ។"</string>
+ <string name="old_sdk_deny_warning" msgid="2382236998845153919">"កម្មវិធីនេះ​ត្រូវបាន​រចនាឡើង​សម្រាប់​កំណែចាស់ជាងនេះ​របស់ Android ។ ការបដិសេធ​ការអនុញ្ញាត​អាចបណ្តាលឱ្យ​វាលែងអាចបំពេញ​មុខងារ​ដូចការគ្រោងទុក។"</string>
<string name="storage_supergroup_warning_allow" msgid="103093462784523190">"កម្មវិធីនេះ​ត្រូវបាន​រចនាឡើង​សម្រាប់​កំណែចាស់​ជាងនេះ​របស់ Android។ ប្រសិនបើ​អ្នកផ្ដល់ការអនុញ្ញាតនេះ នោះសិទ្ធិចូលប្រើ​ទំហំផ្ទុក​ទាំងអស់ (រូមទាំង​រូបថត វីដេអូ តន្ត្រី សំឡេង និងឯកសារ​ផ្សេងទៀត) នឹងត្រូវបាន​អនុញ្ញាត។"</string>
<string name="storage_supergroup_warning_deny" msgid="6420765672683284347">"កម្មវិធីនេះ​ត្រូវបាន​រចនាឡើង​សម្រាប់​កំណែចាស់​ជាងនេះ​របស់ Android។ ប្រសិនបើអ្នក​បដិសេធ​ការអនុញ្ញាតនេះ នោះសិទ្ធិចូលប្រើ​ទំហំផ្ទុក​ទាំងអស់ (រូមទាំង​រូបថត វីដេអូ តន្ត្រី សំឡេង និងឯកសារ​ផ្សេងទៀត) នឹងត្រូវបាន​បដិសេធ។"</string>
<string name="default_permission_description" msgid="4624464917726285203">"ប្រតិបត្តិការសកម្មភាពមិនស្គាល់"</string>
@@ -381,7 +381,7 @@
<string name="role_emergency_search_keywords" msgid="1920007722599213358">"ក្នុងករណី​មានអាសន្ន"</string>
<string name="role_home_label" msgid="3871847846649769412">"កម្មវិធីទំព័រដើមលំនាំដើម"</string>
<string name="role_home_short_label" msgid="8544733747952272337">"កម្មវិធីទំព័រដើម"</string>
- <string name="role_home_description" msgid="7997371519626556675">"កម្មវិធី​ដែលជាទូទៅហៅថា​កម្មវិធី​ចាប់ផ្ដើម​ ដែលជំនួសអេក្រង់​ដើមនៅលើឧបករណ៍​ Android របស់អ្នក និងផ្ដល់លទ្ធភាពឱ្យអ្នក​ចូលប្រើ​ខ្លឹមសារ និងមុខងារ​របស់ឧបករណ៍​អ្នក"</string>
+ <string name="role_home_description" msgid="7997371519626556675">"កម្មវិធី​ដែលគេច្រើនតែហៅថា​កម្មវិធី​ចាប់ផ្ដើម​ វាជំនួសអេក្រង់​ដើមនៅលើឧបករណ៍​ Android របស់អ្នក និងផ្ដល់លទ្ធភាពឱ្យអ្នក​ចូលប្រើ​ខ្លឹមសារ និងមុខងារ​របស់ឧបករណ៍​អ្នក"</string>
<string name="role_home_request_title" msgid="738136983453341081">"កំណត់ <xliff:g id="APP_NAME">%1$s</xliff:g> ជាកម្មវិធី​ទំព័រដើមលំនាំដើម​របស់អ្នក?"</string>
<string name="role_home_request_description" msgid="2658833966716057673">"មិន​ត្រូវការការអនុញ្ញាត​ទេ"</string>
<string name="role_home_search_keywords" msgid="3830755001192666285">"កម្មវិធី​ចាប់ផ្ដើម"</string>
diff --git a/PermissionController/res/values-pt-rBR/strings.xml b/PermissionController/res/values-pt-rBR/strings.xml
index 330ee5680..fea62d7e7 100644
--- a/PermissionController/res/values-pt-rBR/strings.xml
+++ b/PermissionController/res/values-pt-rBR/strings.xml
@@ -362,7 +362,7 @@
<string name="role_browser_request_title" msgid="2895200507835937192">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como navegador padrão?"</string>
<string name="role_browser_request_description" msgid="5888803407905985941">"Nenhuma permissão necessária"</string>
<string name="role_dialer_label" msgid="1100224146343237968">"App de telefone padrão"</string>
- <string name="role_dialer_short_label" msgid="7186888549465352489">"App de Telefone"</string>
+ <string name="role_dialer_short_label" msgid="7186888549465352489">"App de telefone"</string>
<string name="role_dialer_description" msgid="8768708633696539612">"Apps que permitem fazer e receber chamadas no seu dispositivo."</string>
<string name="role_dialer_request_title" msgid="5959618560705912058">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como seu app de telefone padrão?"</string>
<string name="role_dialer_request_description" msgid="6288839625724909320">"Este app poderá acessar contatos, câmera, microfone, telefone e SMS"</string>
diff --git a/PermissionController/res/values-pt/strings.xml b/PermissionController/res/values-pt/strings.xml
index 330ee5680..fea62d7e7 100644
--- a/PermissionController/res/values-pt/strings.xml
+++ b/PermissionController/res/values-pt/strings.xml
@@ -362,7 +362,7 @@
<string name="role_browser_request_title" msgid="2895200507835937192">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como navegador padrão?"</string>
<string name="role_browser_request_description" msgid="5888803407905985941">"Nenhuma permissão necessária"</string>
<string name="role_dialer_label" msgid="1100224146343237968">"App de telefone padrão"</string>
- <string name="role_dialer_short_label" msgid="7186888549465352489">"App de Telefone"</string>
+ <string name="role_dialer_short_label" msgid="7186888549465352489">"App de telefone"</string>
<string name="role_dialer_description" msgid="8768708633696539612">"Apps que permitem fazer e receber chamadas no seu dispositivo."</string>
<string name="role_dialer_request_title" msgid="5959618560705912058">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como seu app de telefone padrão?"</string>
<string name="role_dialer_request_description" msgid="6288839625724909320">"Este app poderá acessar contatos, câmera, microfone, telefone e SMS"</string>
diff --git a/PermissionController/res/values-tr/strings.xml b/PermissionController/res/values-tr/strings.xml
index 14f6885af..467d98bdc 100644
--- a/PermissionController/res/values-tr/strings.xml
+++ b/PermissionController/res/values-tr/strings.xml
@@ -369,7 +369,7 @@
<string name="role_dialer_search_keywords" msgid="3324448983559188087">"çevirici"</string>
<string name="role_sms_label" msgid="8456999857547686640">"Varsayılan SMS uygulaması"</string>
<string name="role_sms_short_label" msgid="4371444488034692243">"SMS uygulaması"</string>
- <string name="role_sms_description" msgid="3424020199148153513">"Kısa mesajlar, fotoğraflar, videolar ve başka içerikler göndermek ve almak için telefon numaranızı kullanmanıza olanak tanıyan uygulamalar"</string>
+ <string name="role_sms_description" msgid="3424020199148153513">"Kısa mesaj, fotoğraf ve video gibi içerikleri göndermek ve almak için telefon numaranızı kullanabileceğiniz uygulamalar"</string>
<string name="role_sms_request_title" msgid="7953552109601185602">"<xliff:g id="APP_NAME">%1$s</xliff:g> varsayılan SMS uygulamanız olarak ayarlansın mı?"</string>
<string name="role_sms_request_description" msgid="2691004766132144886">"Bu uygulama Kamera, Kişiler, Dosyalar ve medya, Mikrofon, Telefon ve SMS\'inize erişebilecek"</string>
<string name="role_sms_search_keywords" msgid="8022048144395047352">"kısa mesaj, kısa mesaj gönderme, mesajlar, mesajlaşma"</string>
@@ -381,7 +381,7 @@
<string name="role_emergency_search_keywords" msgid="1920007722599213358">"acil durumda"</string>
<string name="role_home_label" msgid="3871847846649769412">"Varsayılan ana ekran uygulaması"</string>
<string name="role_home_short_label" msgid="8544733747952272337">"Ana ekran uygulaması"</string>
- <string name="role_home_description" msgid="7997371519626556675">"Android cihazınızın Ana ekranı yerine geçen ve cihazınızın içeriklerine ve özelliklerine erişmenizi sağlayan, genellikle başlatıcı olarak adlandırılan uygulamalar"</string>
+ <string name="role_home_description" msgid="7997371519626556675">"Android cihazınızın ana ekranı yerine geçen, cihazınızın içeriklerine ve özelliklerine erişmenizi sağlayan, genellikle başlatıcılar olarak adlandırılan uygulamalar"</string>
<string name="role_home_request_title" msgid="738136983453341081">"<xliff:g id="APP_NAME">%1$s</xliff:g>, varsayılan ana ekran uygulamanız olarak ayarlansın mı?"</string>
<string name="role_home_request_description" msgid="2658833966716057673">"Herhangi bir izin gerekli değil"</string>
<string name="role_home_search_keywords" msgid="3830755001192666285">"başlatıcı"</string>
diff --git a/PermissionController/res/values-zh-rHK/strings.xml b/PermissionController/res/values-zh-rHK/strings.xml
index bfc2db95e..3f278f113 100644
--- a/PermissionController/res/values-zh-rHK/strings.xml
+++ b/PermissionController/res/values-zh-rHK/strings.xml
@@ -369,7 +369,7 @@
<string name="role_dialer_search_keywords" msgid="3324448983559188087">"撥號器"</string>
<string name="role_sms_label" msgid="8456999857547686640">"預設短訊應用程式"</string>
<string name="role_sms_short_label" msgid="4371444488034692243">"短訊應用程式"</string>
- <string name="role_sms_description" msgid="3424020199148153513">"此類應用程式允許你使用自己手機號碼傳送和接收短訊、相片、影片和其他資料"</string>
+ <string name="role_sms_description" msgid="3424020199148153513">"此類應用程式允許你使用自己的手機號碼傳送和接收短訊、相片、影片和其他資料"</string>
<string name="role_sms_request_title" msgid="7953552109601185602">"要將「<xliff:g id="APP_NAME">%1$s</xliff:g>」設為預設短訊應用程式嗎?"</string>
<string name="role_sms_request_description" msgid="2691004766132144886">"此應用程式將可存取你的相機、通訊錄、檔案和媒體、麥克風、電話及短訊"</string>
<string name="role_sms_search_keywords" msgid="8022048144395047352">"短訊, 發短訊, 訊息, 傳送短訊"</string>
diff --git a/PermissionController/res/xml/roles.xml b/PermissionController/res/xml/roles.xml
index 9bd675ba0..b067c41b5 100644
--- a/PermissionController/res/xml/roles.xml
+++ b/PermissionController/res/xml/roles.xml
@@ -1630,9 +1630,6 @@
name="android.permission.health.READ_HEART_RATE"
featureFlag="android.permission.flags.Flags.replaceBodySensorPermissionEnabled" />
<permission
- name="android.permission.health.READ_SKIN_TEMPERATURE"
- featureFlag="android.permission.flags.Flags.platformSkinTemperatureEnabled" />
- <permission
name="android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND"
featureFlag="android.permission.flags.Flags.replaceBodySensorPermissionEnabled" />
</permissions>
diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java b/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java
index 6d5cf69bd..a0705cd5e 100644
--- a/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java
+++ b/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java
@@ -1106,7 +1106,7 @@ public class RoleParser {
+ ">");
return fallbackValue;
}
- String className = applyJarjarTransform(value.substring(0, lastDotIndex));
+ String className = applyJarjarTransformIfNeeded(value.substring(0, lastDotIndex));
String methodName = value.substring(lastDotIndex + 1);
Method method;
try {
@@ -1155,18 +1155,16 @@ public class RoleParser {
};
}
- // LINT.IfChange(applyJarjarTransform)
+ // LINT.IfChange(applyJarjarTransformIfNeeded)
/**
* Simulate the jarjar transform that should happen on the class name.
* <p>
* Currently this only handles the {@code Flags} classes for feature flagging.
*/
@NonNull
- private String applyJarjarTransform(@NonNull String className) {
- if (className.endsWith(".Flags")) {
- String jarjarPrefix = Objects.equals(mContext.getPackageName(), "android")
- ? "com.android.permission.jarjar." : "com.android.permissioncontroller.jarjar.";
- return jarjarPrefix + className;
+ private String applyJarjarTransformIfNeeded(@NonNull String className) {
+ if (className.endsWith(".Flags") && Objects.equals(mContext.getPackageName(), "android")) {
+ return "com.android.permission.jarjar." + className;
}
return className;
}
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 edf6e22e5..5ba649fd3 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
@@ -50,6 +50,9 @@ class GetPermissionGroupUsageDetailsUseCase(
private val appOpRepository: AppOpRepository,
private val roleRepository: RoleRepository,
private val userRepository: UserRepository,
+ // Allow tests to inject as on T- READ_DEVICE_CONFIG permission check is enforced.
+ private val attributionLabelFix: Boolean =
+ com.android.permission.flags.Flags.permissionTimelineAttributionLabelFix(),
) {
operator fun invoke(coroutineScope: CoroutineScope): Flow<PermissionTimelineUsageModelWrapper> {
val opNames = requireNotNull(permissionGroupToOpNames[permissionGroup])
@@ -90,7 +93,7 @@ class GetPermissionGroupUsageDetailsUseCase(
// show attribution on T+ for location provider only..
private fun shouldShowAttributionLabel(packageName: String): Boolean {
- return if (com.android.permission.flags.Flags.permissionTimelineAttributionLabelFix()) {
+ return if (attributionLabelFix) {
SdkLevel.isAtLeastT() &&
LocationUtils.isLocationProvider(PermissionControllerApplication.get(), packageName)
} else true
diff --git a/PermissionController/tests/mocking/Android.bp b/PermissionController/tests/mocking/Android.bp
index 37851b2bb..a541f4577 100644
--- a/PermissionController/tests/mocking/Android.bp
+++ b/PermissionController/tests/mocking/Android.bp
@@ -86,7 +86,4 @@ android_test {
],
kotlincflags: ["-Xjvm-default=all"],
-
- // TODO(b/313706381): Remove jarjar once flagging lib is fixed
- jarjar_rules: ":PermissionController-jarjar-rules",
}
diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/domain/usecase/GetPermissionGroupUsageDetailsUseCaseTest.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/domain/usecase/GetPermissionGroupUsageDetailsUseCaseTest.kt
index ee25a2569..800123d43 100644
--- a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/domain/usecase/GetPermissionGroupUsageDetailsUseCaseTest.kt
+++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/domain/usecase/GetPermissionGroupUsageDetailsUseCaseTest.kt
@@ -24,6 +24,7 @@ import android.content.pm.PackageManager
import android.os.UserHandle
import android.permission.flags.Flags
import android.platform.test.annotations.RequiresFlagsEnabled
+import android.platform.test.flag.junit.DeviceFlagsValueProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.dx.mockito.inline.extended.ExtendedMockito
import com.android.modules.utils.build.SdkLevel
@@ -57,7 +58,7 @@ import kotlinx.coroutines.test.runTest
import org.junit.After
import org.junit.Assume
import org.junit.Before
-import org.junit.Ignore
+import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
@@ -71,6 +72,7 @@ import org.mockito.quality.Strictness
class GetPermissionGroupUsageDetailsUseCaseTest {
@Mock private lateinit var application: PermissionControllerApplication
@Mock private lateinit var context: Context
+ @JvmField @Rule val checkFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()
private var mockitoSession: MockitoSession? = null
private lateinit var packageInfos: MutableMap<String, PackageInfoModel>
@@ -700,7 +702,6 @@ class GetPermissionGroupUsageDetailsUseCaseTest {
@RequiresFlagsEnabled(
com.android.permission.flags.Flags.FLAG_PERMISSION_TIMELINE_ATTRIBUTION_LABEL_FIX
)
- @Ignore("b/365004787")
fun verifyAccessIsNotGroupedByAttributionLabelAndClustered() = runTest {
// The package is not a location provider.
val appOpEvents =
@@ -756,6 +757,7 @@ class GetPermissionGroupUsageDetailsUseCaseTest {
LOCATION_PERMISSION_GROUP,
discretePackageOps,
packageRepository = FakePackageRepository(packageInfos, packageAttributions),
+ attributionLabelFix = true,
)
val permissionTimelineUsages = getResult(underTest, this)
@@ -844,7 +846,6 @@ class GetPermissionGroupUsageDetailsUseCaseTest {
}
@Test
- @Ignore("b/365004787")
@RequiresFlagsEnabled(Flags.FLAG_LOCATION_BYPASS_PRIVACY_DASHBOARD_ENABLED)
fun emergencyAccessesAreNotClusteredWithRegularAccesses() = runTest {
Assume.assumeTrue(SdkLevel.isAtLeastV())
@@ -906,6 +907,7 @@ class GetPermissionGroupUsageDetailsUseCaseTest {
permissionFlags: Map<String, Int> = emptyMap(),
userRepository: UserRepository = FakeUserRepository(listOf(currentUser.identifier)),
packageRepository: PackageRepository = FakePackageRepository(packageInfos),
+ attributionLabelFix: Boolean = false,
): GetPermissionGroupUsageDetailsUseCase {
val permissionRepository = FakePermissionRepository(permissionFlags)
val appOpUsageRepository = FakeAppOpRepository(emptyFlow(), discreteUsageFlow)
@@ -917,6 +919,7 @@ class GetPermissionGroupUsageDetailsUseCaseTest {
appOpUsageRepository,
roleRepository,
userRepository,
+ attributionLabelFix,
)
}
diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/ui/model/PermissionUsageDetailsViewModelTest.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/ui/model/PermissionUsageDetailsViewModelTest.kt
index d64a7e30b..edaea9aba 100644
--- a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/ui/model/PermissionUsageDetailsViewModelTest.kt
+++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/ui/model/PermissionUsageDetailsViewModelTest.kt
@@ -503,7 +503,8 @@ class PermissionUsageDetailsViewModelTest {
permissionRepository,
appOpUsageRepository,
roleRepository,
- userRepository
+ userRepository,
+ false,
)
}
diff --git a/flags/flags.aconfig b/flags/flags.aconfig
index 5f3e84121..4cb084988 100644
--- a/flags/flags.aconfig
+++ b/flags/flags.aconfig
@@ -104,7 +104,7 @@ flag {
name: "app_permission_fragment_uses_preferences"
is_exported: true
namespace: "permissions"
- description: "This flag enables AppPermissionFragment rather than LegacyAppPermissionFragment (to support BC25)"
+ description: "This flag enables AppPermissionFragment rather than LegacyAppPermissionFragment"
bug: "349675008"
is_fixed_read_only: true
}
@@ -131,7 +131,7 @@ flag {
name: "wear_compose_material3"
is_exported: true
namespace: "permissions"
- description: "This flag enables material3 design system for wear ui components (to support BC25)"
+ description: "This flag enables material3 design system for wear ui components"
bug: "370489422"
is_fixed_read_only: true
}
@@ -144,3 +144,12 @@ flag {
bug: "365823624"
is_fixed_read_only: true
}
+
+flag {
+ name: "expressive_design_enabled"
+ is_exported: true
+ namespace: "permissions"
+ description: "This flag is used to enable Expressive Design for Settings pages inside PermissionController"
+ bug: "375480184"
+ is_fixed_read_only: true
+} \ No newline at end of file
diff --git a/service/Android.bp b/service/Android.bp
index 6f851c4d2..8efce5ebe 100644
--- a/service/Android.bp
+++ b/service/Android.bp
@@ -111,7 +111,6 @@ java_sdk_library {
"service-permission-statsd",
"permissioncontroller-statsd",
"service-permission-proto-stream",
- "com.android.permission.flags-aconfig-java",
],
errorprone: {
javacflags: ["-Xep:GuardedBy:ERROR"],
diff --git a/service/jarjar-rules.txt b/service/jarjar-rules.txt
index 4d4d6e050..77e071672 100644
--- a/service/jarjar-rules.txt
+++ b/service/jarjar-rules.txt
@@ -1,5 +1,5 @@
# You may bypass this Gerrit IfThisThenThat Lint if your change doesn't affect
-# RoleParser.applyJarjarTransform(), by adding NO_IFTTT=reason to your commit
+# RoleParser.applyJarjarTransformIfNeeded(), by adding NO_IFTTT=reason to your commit
# message.
# LINT.IfChange
rule android.app.appfunctions.flags.*FeatureFlags* com.android.permission.jarjar.@0
@@ -37,4 +37,4 @@ rule com.android.safetycenter.resources.** com.android.permission.jarjar.@0
rule com.google.protobuf.** com.android.permission.jarjar.@0
rule kotlin.** com.android.permission.jarjar.@0
rule com.android.permissioncontroller.PermissionControllerStatsLog com.android.permission.jarjar.@0
-# LINT.ThenChange(PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java:applyJarjarTransform)
+# LINT.ThenChange(PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java:applyJarjarTransformIfNeeded)
diff --git a/tests/cts/permission/src/android/permission/cts/OneTimePermissionTest.java b/tests/cts/permission/src/android/permission/cts/OneTimePermissionTest.java
index 2692c6e7c..291633aab 100644
--- a/tests/cts/permission/src/android/permission/cts/OneTimePermissionTest.java
+++ b/tests/cts/permission/src/android/permission/cts/OneTimePermissionTest.java
@@ -290,34 +290,18 @@ public class OneTimePermissionTest {
}
private void exitApp() {
- boolean[] hasExited = {false};
- try {
- new Thread(() -> {
- while (!hasExited[0]) {
- DreamManager mDreamManager = mContext.getSystemService(DreamManager.class);
- mUiDevice.pressBack();
- runWithShellPermissionIdentity(() -> {
- if (mDreamManager.isDreaming()) {
- mDreamManager.stopDream();
- }
- });
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- }
+ eventually(() -> {
+ mUiDevice.pressBack();
+ runWithShellPermissionIdentity(() -> {
+ DreamManager mDreamManager = mContext.getSystemService(DreamManager.class);
+ if (mDreamManager.isDreaming()) {
+ mDreamManager.stopDream();
}
- }).start();
- eventually(() -> {
- runWithShellPermissionIdentity(() -> {
- if (mActivityManager.getPackageImportance(APP_PKG_NAME)
- <= IMPORTANCE_FOREGROUND) {
- throw new AssertionError("Unable to exit application");
- }
- });
+ Assert.assertFalse("Unable to exit application",
+ mActivityManager.getPackageImportance(APP_PKG_NAME)
+ <= IMPORTANCE_FOREGROUND);
});
- } finally {
- hasExited[0] = true;
- }
+ });
}
private void clickOneTimeButton() throws Throwable {
diff --git a/tests/cts/permissionpolicy/res/raw/android_manifest.xml b/tests/cts/permissionpolicy/res/raw/android_manifest.xml
index 2eff8b0af..cfe790292 100644
--- a/tests/cts/permissionpolicy/res/raw/android_manifest.xml
+++ b/tests/cts/permissionpolicy/res/raw/android_manifest.xml
@@ -8301,6 +8301,28 @@
android:protectionLevel="internal"
android:featureFlag="android.content.pm.verification_service" />
+ <!--
+ @SystemApi
+ @FlaggedApi("android.media.tv.flags.media_quality_fw")
+ Allows an application to access its picture profile from the media quality database.
+ <p> Protection level: signature|privileged|vendor privileged
+ @hide
+ -->
+ <permission android:name="android.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE"
+ android:protectionLevel="signature|privileged|vendorPrivileged"
+ android:featureFlag="android.media.tv.flags.media_quality_fw"/>
+
+ <!--
+ @SystemApi
+ @FlaggedApi("android.media.tv.flags.media_quality_fw")
+ Allows an application to access its sound profile from the media quality database.
+ <p> Protection level: signature|privileged|vendor privileged
+ @hide
+ -->
+ <permission android:name="android.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE"
+ android:protectionLevel="signature|privileged|vendorPrivileged"
+ android:featureFlag="android.media.tv.flags.media_quality_fw"/>
+
<!-- Allows app to enter trade-in-mode.
<p>Protection level: signature|privileged
@hide