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