summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values-be/strings.xml2
-rw-r--r--res/values-ca/strings.xml8
-rw-r--r--res/values-eu/strings.xml2
-rw-r--r--res/values-kn/strings.xml2
-rw-r--r--res/values-mr/strings.xml2
-rw-r--r--res/values-my/strings.xml4
-rw-r--r--res/values-pt-rBR/strings.xml2
-rw-r--r--res/values-pt/strings.xml2
-rw-r--r--res/values-sl/strings.xml2
-rw-r--r--res/values-ta-television/strings.xml2
-rw-r--r--res/values-ta/strings.xml4
-rw-r--r--res/values-te/strings.xml8
-rw-r--r--src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java64
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java2
-rw-r--r--src/com/android/packageinstaller/role/model/HomeRoleBehavior.java11
-rw-r--r--src/com/android/packageinstaller/role/model/Role.java17
-rw-r--r--src/com/android/packageinstaller/role/model/RoleBehavior.java9
-rw-r--r--src/com/android/packageinstaller/role/service/RoleControllerServiceImpl.java6
-rw-r--r--src/com/android/packageinstaller/role/ui/RoleLiveData.java3
19 files changed, 117 insertions, 35 deletions
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 0f685301..0b10db1b 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -178,7 +178,7 @@
<string name="app_permission_footer_not_available" msgid="7473636495733881225">"Даныя пра апошні доступ цяпер недаступныя для гэтага дазволу"</string>
<string name="app_permission_footer_app_permissions_link" msgid="6074026408119212662">"Паказаць усе дазволы праграмы \"<xliff:g id="APP">%1$s</xliff:g>\""</string>
<string name="app_permission_footer_permission_apps_link" msgid="3489066323918915073">"Паказаць усе праграмы з гэтым дазволам"</string>
- <string name="permission_description_summary_generic" msgid="1134416469764865198">"Характарыстыка дазволу: <xliff:g id="DESCRIPTION">%1$s</xliff:g>"</string>
+ <string name="permission_description_summary_generic" msgid="1134416469764865198">"Праграмы з гэтым дазволам могуць выконваць наступныя дзеянні: <xliff:g id="DESCRIPTION">%1$s</xliff:g>"</string>
<string name="permission_description_summary_activity_recognition" msgid="3371048800215659444">"Праграмы з гэтым дазволам могуць мець доступ да звестак пра вашу фізічную актыўнасць, напрыклад перамяшчэнні пешшу, язду на веласіпедзе, на аўтамабілі, колькасць крокаў і многае іншае"</string>
<string name="permission_description_summary_calendar" msgid="7627624281615554407">"Праграмы з гэтым дазволам могуць мець доступ да календара"</string>
<string name="permission_description_summary_call_log" msgid="4715804544768878751">"Праграмы з гэтым дазволам могуць чытаць журнал выклікаў тэлефона і рабіць у яго запісы"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 2cf650d3..bca09ff2 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -97,20 +97,20 @@
<string name="permission_usage_summary_background" msgid="9179526841353882748">"Últim accés: <xliff:g id="TIME">%1$s</xliff:g>\nÚltim accés en segon pla"</string>
<string name="permission_usage_any_permission" msgid="8832731783727406380">"Qualsevol permís"</string>
<string name="permission_usage_any_time" msgid="1476491940247458210">"En qualsevol moment"</string>
- <string name="permission_usage_last_7_days" msgid="4888188421845723880">"Últims 7 dies"</string>
+ <string name="permission_usage_last_7_days" msgid="4888188421845723880">"7 darrers dies"</string>
<string name="permission_usage_last_day" msgid="8645320285604363072">"Últimes 24 hores"</string>
<string name="permission_usage_last_hour" msgid="2604532770472032956">"Última hora"</string>
<string name="permission_usage_last_15_minutes" msgid="5426881076086895200">"Últims 15 minuts"</string>
<string name="permission_usage_last_minute" msgid="3067561801126564567">"Últim minut"</string>
<string name="no_permission_usages" msgid="5322488885313825032">"Cap ús de permisos"</string>
<string name="permission_usage_list_title_any_time" msgid="5231969131124312338">"Accés més recents en qualsevol moment"</string>
- <string name="permission_usage_list_title_last_7_days" msgid="3481601827843295434">"Accés més recents durant els 7 últims dies"</string>
+ <string name="permission_usage_list_title_last_7_days" msgid="3481601827843295434">"Accés més recents durant els 7 darrers dies"</string>
<string name="permission_usage_list_title_last_day" msgid="8004766042375735038">"Accés més recent durant les últimes 24 hores"</string>
<string name="permission_usage_list_title_last_hour" msgid="5263636446126109595">"Accés més recent durant l\'última hora"</string>
<string name="permission_usage_list_title_last_15_minutes" msgid="3842584491108496053">"Accés més recents durant els últims 15 minuts"</string>
<string name="permission_usage_list_title_last_minute" msgid="6135511482448899737">"Accés més recents durant l\'últim minut"</string>
<string name="permission_usage_bar_chart_title_any_time" msgid="2233750755422237444">"Ús de permisos en qualsevol moment"</string>
- <string name="permission_usage_bar_chart_title_last_7_days" msgid="2505302271268657969">"Ús de permisos durant els últims 7 dies"</string>
+ <string name="permission_usage_bar_chart_title_last_7_days" msgid="2505302271268657969">"Ús de permisos durant els 7 darrers dies"</string>
<string name="permission_usage_bar_chart_title_last_day" msgid="3929341411684348428">"Ús de permisos durant les últimes 24 hores"</string>
<string name="permission_usage_bar_chart_title_last_hour" msgid="1473287216393833028">"Ús de permisos durant l\'última hora"</string>
<string name="permission_usage_bar_chart_title_last_15_minutes" msgid="8394883927589032677">"Ús de permisos durant els últims 15 minuts"</string>
@@ -225,7 +225,7 @@
<string name="accessibility_service_dialog_bottom_text_multiple" msgid="99044354994789512">"Aquestes aplicacions poden veure la pantalla, les accions i el text que s\'introdueix, dur a terme accions i controlar la pantalla."</string>
<string name="role_assistant_label" msgid="325607225419991524">"Aplicació d\'assistència predeterminada"</string>
<string name="role_assistant_short_label" msgid="5324338887042810318">"Aplicació d\'assistència"</string>
- <string name="role_assistant_description" msgid="5980622464037768572">"Les aplicacions d\'assistència et poden ajudar en funció de la informació que es mostri a la pantalla. Algunes aplicacions admeten tant els serveis de menú d\'aplicacions com els d\'entrada de veu per oferir-te una assistència integrada."</string>
+ <string name="role_assistant_description" msgid="5980622464037768572">"Les aplicacions d\'assistència et poden ajudar en funció de la informació que es mostri a la pantalla. Algunes aplicacions admeten tant el menú d\'aplicacions com els serveis d\'entrada de veu per oferir-te una assistència integrada."</string>
<string name="role_assistant_request_title" msgid="2198246079117996249">"Vols establir <xliff:g id="APP_NAME">%1$s</xliff:g> com a aplicació d\'assistència predeterminada?"</string>
<string name="role_assistant_request_description" msgid="9007538649849881727">"Tindrà accés als SMS i al registre de trucades"</string>
<string name="role_browser_label" msgid="1452186785584890151">"Aplicació de navegador predeterminada"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 450c2934..b7066234 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -98,7 +98,7 @@
<string name="permission_usage_any_permission" msgid="8832731783727406380">"Edozein baimen"</string>
<string name="permission_usage_any_time" msgid="1476491940247458210">"Edonoiz"</string>
<string name="permission_usage_last_7_days" msgid="4888188421845723880">"Azken 7 egunetan"</string>
- <string name="permission_usage_last_day" msgid="8645320285604363072">"Azken 24 orduetan"</string>
+ <string name="permission_usage_last_day" msgid="8645320285604363072">"Azken 24 orduetakoak"</string>
<string name="permission_usage_last_hour" msgid="2604532770472032956">"Azken orduan"</string>
<string name="permission_usage_last_15_minutes" msgid="5426881076086895200">"Azken 15 minutuetan"</string>
<string name="permission_usage_last_minute" msgid="3067561801126564567">"Azken minutuan"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 9f3b5619..50b43856 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -224,7 +224,7 @@
<string name="accessibility_service_dialog_bottom_text_single" msgid="1201610224744125691">"<xliff:g id="SERVICE_NAME">%s</xliff:g> ಸೇವೆಯು ನಿಮ್ಮ ಸ್ಕ್ರೀನ್, ಕ್ರಿಯೆಗಳು ಮತ್ತು ಇನ್‌ಪುಟ್‌ಗಳು, ಕೆಲಸ ನಿರ್ವಹಣೆ ಕ್ರಿಯೆಗಳು ಮತ್ತು ಡಿಸ್‌ಪ್ಲೇ ನಿಯಂತ್ರಣವನ್ನು ವೀಕ್ಷಿಸಬಹುದು."</string>
<string name="accessibility_service_dialog_bottom_text_multiple" msgid="99044354994789512">"ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ನಿಮ್ಮ ಪರದೆ, ಕ್ರಿಯೆಗಳು ಮತ್ತು ಇನ್‌ಪುಟ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಬಹುದು, ಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದು, ಮತ್ತು ಡಿಸ್‌ಪ್ಲೇ ಅನ್ನು ನಿಯಂತ್ರಿಸಬಹುದು."</string>
<string name="role_assistant_label" msgid="325607225419991524">"ಡೀಫಾಲ್ಟ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್"</string>
- <string name="role_assistant_short_label" msgid="5324338887042810318">"ಸಹಾಯ ಅಪ್ಲಿಕೇಶನ್"</string>
+ <string name="role_assistant_short_label" msgid="5324338887042810318">"ಸಹಾಯಕ ಆ್ಯಪ್"</string>
<string name="role_assistant_description" msgid="5980622464037768572">"ನೀವು ವೀಕ್ಷಿಸುತ್ತಿರುವ ಸ್ಕ್ರೀನ್‌ನ ಮಾಹಿತಿಯನ್ನು ಆಧರಿಸಿ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್‌ಗಳು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಬಹುದು. ಕೆಲವು ಆ್ಯಪ್‌ಗಳು ನಿಮಗೆ ಸಂಪೂರ್ಣ ಸಹಾಯವನ್ನು ಒದಗಿಸಲು ಲಾಂಚರ್ ಮತ್ತು ಧ್ವನಿ ಇನ್‌ಪುಟ್ ಸೇವೆಗಳೆರಡನ್ನೂ ಬೆಂಬಲಿಸುತ್ತವೆ."</string>
<string name="role_assistant_request_title" msgid="2198246079117996249">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಆ್ಯಪ್ ಅನ್ನು ನಿಮ್ಮ ಡೀಫಾಲ್ಟ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಆಗಿ ಹೊಂದಿಸುವುದೇ?"</string>
<string name="role_assistant_request_description" msgid="9007538649849881727">"SMS, ಕರೆ ಲಾಗ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 977dd910..76fe778a 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -98,7 +98,7 @@
<string name="permission_usage_any_permission" msgid="8832731783727406380">"कोणतीही परवानगी"</string>
<string name="permission_usage_any_time" msgid="1476491940247458210">"कधीही"</string>
<string name="permission_usage_last_7_days" msgid="4888188421845723880">"शेवटचे सात दिवस"</string>
- <string name="permission_usage_last_day" msgid="8645320285604363072">"गेल्या २४ तासात"</string>
+ <string name="permission_usage_last_day" msgid="8645320285604363072">"गेल्या २४ तासांत"</string>
<string name="permission_usage_last_hour" msgid="2604532770472032956">"शेवटचा एक तास"</string>
<string name="permission_usage_last_15_minutes" msgid="5426881076086895200">"शेवटची १५ मिनिटे"</string>
<string name="permission_usage_last_minute" msgid="3067561801126564567">"शेवटचा एक मिनिट"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index d8205bec..6227c433 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -21,7 +21,7 @@
<string name="permission_search_keyword" msgid="3970416730023831175">"ခွင့်ပြုချက်များ"</string>
<string name="cancel" msgid="8360346460165114585">"မလုပ်တော့"</string>
<string name="app_not_found_dlg_title" msgid="2692335460569505484">"အက်ပ်အားမတွေ့ပါ"</string>
- <string name="grant_dialog_button_deny" msgid="2176510645406614340">"ငြင်းပယ်သည်"</string>
+ <string name="grant_dialog_button_deny" msgid="2176510645406614340">"ငြင်းပယ်ရန်"</string>
<string name="grant_dialog_button_deny_and_dont_ask_again" msgid="7583601276815031679">"ငြင်းပယ်သည်၊ ထပ်မမေးပါနှင့်"</string>
<string name="grant_dialog_button_deny_background" msgid="4054411855048240271">"အသုံးပြုနေစဉ် ဝင်သုံးခွင့်ကို သိမ်းထားပါ"</string>
<string name="grant_dialog_button_deny_background_and_dont_ask_again" msgid="999878458921486616">"သိမ်းပါ၊ ထပ်မမေးပါနှင့်"</string>
@@ -225,7 +225,7 @@
<string name="accessibility_service_dialog_bottom_text_multiple" msgid="99044354994789512">"ဤအက်ပ်များက သင်၏ မျက်နှာပြင်၊ လုပ်ဆောင်ချက်များ၊ ထည့်သွင်းမှုများကို ကြည့်နိုင်ပြီး လုပ်ဆောင်ချက်များကို ဆောင်ရွက်နိုင်သည့်အပြင် မျက်နှာပြင်ပြသမှုကိုလည်း ထိန်းချုပ်နိုင်သည်။"</string>
<string name="role_assistant_label" msgid="325607225419991524">"မူရင်း အကူအညီအက်ပ်"</string>
<string name="role_assistant_short_label" msgid="5324338887042810318">"အကူအညီ အက်ပ်"</string>
- <string name="role_assistant_description" msgid="5980622464037768572">"အကူအညီအက်ပ်များသည် သင်ကြည့်နေသည့် မျက်နှာပြင်မှ အချက်အလက်ကို အခြေခံ၍ ပံ့ပိုးပေးနိုင်ပါသည်။ ဘက်စုံ အထောက်အကူပေးနိုင်ရန်အတွက် အချို့အက်ပ်များသည် စဖွင့်စနစ်နှင့် အသံဖြင့်ထည့်သွင်းဝန်ဆောင်မှု နှစ်ခုလုံးကို ပံ့ပိုးပါသည်။"</string>
+ <string name="role_assistant_description" msgid="5980622464037768572">"အကူအညီအက်ပ်သည် သင်ကြည့်နေသည့် မျက်နှာပြင်မှ အချက်အလက်ကို အခြေခံ၍ ကူညီနိုင်ပါသည်။ ဘက်စုံ အထောက်အကူပေးနိုင်ရန်အတွက် အချို့အက်ပ်များသည် launcher နှင့် အသံဖြင့်ထည့်သွင်းခြင်းတို့ကို ပံ့ပိုးပါသည်။"</string>
<string name="role_assistant_request_title" msgid="2198246079117996249">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို သင့်မူရင်း အကူအညီအက်ပ်အဖြစ် သတ်မှတ်လိုပါသလား။"</string>
<string name="role_assistant_request_description" msgid="9007538649849881727">"SMS နှင့် ခေါ်ဆိုမှတ်တမ်းကို ဝင်သုံးခွင့် ရယူသည်"</string>
<string name="role_browser_label" msgid="1452186785584890151">"မူရင်း ဘရောင်ဇာအက်ပ်"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index a1f115c9..8bc18f7b 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -225,7 +225,7 @@
<string name="accessibility_service_dialog_bottom_text_multiple" msgid="99044354994789512">"Esses apps podem ver sua tela, ações e entradas, além de realizar ações e controlar a exibição."</string>
<string name="role_assistant_label" msgid="325607225419991524">"App assistivo padrão"</string>
<string name="role_assistant_short_label" msgid="5324338887042810318">"App assistivo"</string>
- <string name="role_assistant_description" msgid="5980622464037768572">"Apps assistivos podem ajudar com base nas informações da tela que você vê no momento. Alguns apps são compatíveis com a tela de início e com serviços de entrada de texto por voz para oferecer assistência integrada."</string>
+ <string name="role_assistant_description" msgid="5980622464037768572">"Apps assistivos podem ajudar com base nas informações que você vê na tela. Alguns apps oferecem tecnologia assistiva integrada, porque são compatíveis com a tela de início e com serviços de entrada de texto por voz."</string>
<string name="role_assistant_request_title" msgid="2198246079117996249">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como seu app assistivo padrão?"</string>
<string name="role_assistant_request_description" msgid="9007538649849881727">"Recebe acesso a SMS e registro de chamadas"</string>
<string name="role_browser_label" msgid="1452186785584890151">"App padrão de navegador"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index a1f115c9..8bc18f7b 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -225,7 +225,7 @@
<string name="accessibility_service_dialog_bottom_text_multiple" msgid="99044354994789512">"Esses apps podem ver sua tela, ações e entradas, além de realizar ações e controlar a exibição."</string>
<string name="role_assistant_label" msgid="325607225419991524">"App assistivo padrão"</string>
<string name="role_assistant_short_label" msgid="5324338887042810318">"App assistivo"</string>
- <string name="role_assistant_description" msgid="5980622464037768572">"Apps assistivos podem ajudar com base nas informações da tela que você vê no momento. Alguns apps são compatíveis com a tela de início e com serviços de entrada de texto por voz para oferecer assistência integrada."</string>
+ <string name="role_assistant_description" msgid="5980622464037768572">"Apps assistivos podem ajudar com base nas informações que você vê na tela. Alguns apps oferecem tecnologia assistiva integrada, porque são compatíveis com a tela de início e com serviços de entrada de texto por voz."</string>
<string name="role_assistant_request_title" msgid="2198246079117996249">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como seu app assistivo padrão?"</string>
<string name="role_assistant_request_description" msgid="9007538649849881727">"Recebe acesso a SMS e registro de chamadas"</string>
<string name="role_browser_label" msgid="1452186785584890151">"App padrão de navegador"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index c30d35d9..89b6dc2a 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -239,7 +239,7 @@
<string name="accessibility_service_dialog_bottom_text_multiple" msgid="99044354994789512">"Te aplikacije si lahko ogledujejo zaslon, dejanja in vnose, izvajajo dejanja in upravljajo prikaz."</string>
<string name="role_assistant_label" msgid="325607225419991524">"Privzeta aplikacija za pomoč"</string>
<string name="role_assistant_short_label" msgid="5324338887042810318">"Aplikacija za pomoč"</string>
- <string name="role_assistant_description" msgid="5980622464037768572">"Aplikacije za pomoč vam pomagajo na podlagi podatkov na zaslonu, ki si ga ogledujete. Nekatere aplikacije podpirajo storitve zaganjalnika in glasovnega vnosa pri zagotavljanju integrirane pomoči."</string>
+ <string name="role_assistant_description" msgid="5980622464037768572">"Aplikacije za pomoč vam lahko pomagajo na podlagi podatkov na zaslonu, ki si ga ogledujete. Nekatere aplikacije podpirajo storitve zaganjalnika in glasovnega vnosa in vam tako zagotavljajo celovito pomoč."</string>
<string name="role_assistant_request_title" msgid="2198246079117996249">"Želite aplikacijo <xliff:g id="APP_NAME">%1$s</xliff:g> nastaviti kot privzeto aplikacijo za pomoč?"</string>
<string name="role_assistant_request_description" msgid="9007538649849881727">"Dobi dostop do sporočil SMS in dnevnika klicev"</string>
<string name="role_browser_label" msgid="1452186785584890151">"Privzeti brskalnik"</string>
diff --git a/res/values-ta-television/strings.xml b/res/values-ta-television/strings.xml
index e79ff344..d467a86a 100644
--- a/res/values-ta-television/strings.xml
+++ b/res/values-ta-television/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="grant_dialog_button_deny_dont_ask_again" msgid="5694574989758145558">"நிராகரி, மீண்டும் கேட்காதே"</string>
- <string name="grant_dialog_how_to_change" msgid="615414835189256888">"அமைப்புகள் &gt; பயன்பாடுகள் என்பதில் பிறகு மாற்றலாம்"</string>
+ <string name="grant_dialog_how_to_change" msgid="615414835189256888">"அமைப்புகள் &gt; ஆப்ஸ் என்பதில் பிறகு மாற்றலாம்"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"முறைமைப் பயன்பாடுகளைக் காட்டு"</string>
<string name="app_permissions_decor_title" msgid="1461057434211920209">"ஆப்ஸ் அனுமதிகள்"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 8c31aeaa..3411f2e5 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -79,8 +79,8 @@
<string name="all_permissions" msgid="5156669007784613042">"எல்லா அனுமதிகளும்"</string>
<string name="other_permissions" msgid="2016192512386091933">"ஆப்ஸின் பிற திறன்கள்"</string>
<string name="permission_request_title" msgid="1204446718549121199">"அனுமதி கோரிக்கை"</string>
- <string name="screen_overlay_title" msgid="3021729846864038529">"திரையின் மேலே செயல்படும் பயன்பாடுகள் கண்டறியப்பட்டன"</string>
- <string name="screen_overlay_message" msgid="2141944461571677331">"இந்த அனுமதியை மாற்ற, அமைப்புகள் &gt; பயன்பாடுகள் என்பதற்குச் சென்று, திரையின் மேலே செயல்படும் பயன்பாடுகளை முதலில் முடக்கவும்"</string>
+ <string name="screen_overlay_title" msgid="3021729846864038529">"திரையின் மேலே செயல்படும் ஆப்ஸ் கண்டறியப்பட்டன"</string>
+ <string name="screen_overlay_message" msgid="2141944461571677331">"இந்த அனுமதியை மாற்ற, அமைப்புகள் &gt; ஆப்ஸ் என்பதற்குச் சென்று, திரையின் மேலே செயல்படும் ஆப்ஸை முதலில் முடக்கவும்"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"அமைப்புகளைத் திற"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
<string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear இல் நிறுவுதல்/நிறுவல் நீக்குதலுக்கு ஆதரவில்லை."</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 740789d6..d0edbe79 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -53,8 +53,8 @@
</plurals>
<string name="old_sdk_deny_warning" msgid="3872277112584842615">"ఈ యాప్ పాత Android వెర్షన్ కోసం రూపొందించబడింది. అనుమతిని నిరాకరించినట్లయితే ఇది ఇకపై ఉద్దేశించిన రీతిలో పని చేయకపోవచ్చు."</string>
<string name="default_permission_description" msgid="4992892207044156668">"తెలియని చర్యను చేస్తుంది"</string>
- <string name="app_permissions_group_summary" msgid="4787239772223699263">"<xliff:g id="COUNT_1">%2$d</xliff:g>లో <xliff:g id="COUNT_0">%1$d</xliff:g> యాప్‌లు అనుమతించబడ్డాయి"</string>
- <string name="menu_show_system" msgid="6773743421743728921">"సిస్టమ్‌ను చూపు"</string>
+ <string name="app_permissions_group_summary" msgid="4787239772223699263">"<xliff:g id="COUNT_1">%2$d</xliff:g> యాప్‌లలో <xliff:g id="COUNT_0">%1$d</xliff:g> యాప్‌లు అనుమతించబడ్డాయి"</string>
+ <string name="menu_show_system" msgid="6773743421743728921">"సిస్టమ్ ప్రాసెస్‌లను చూపు"</string>
<string name="menu_hide_system" msgid="7595471742649432977">"సిస్టమ్‌ను దాచు"</string>
<string name="no_apps" msgid="1965493419005012569">"యాప్‌లు లేవు"</string>
<string name="location_settings" msgid="1774875730854491297">"స్థాన సెట్టింగ్‌లు"</string>
@@ -77,7 +77,7 @@
<string name="permission_access_never" msgid="6189440007697689967">"తిరస్కరించు"</string>
<string name="loading" msgid="7811651799620593731">"లోడ్ అవుతోంది..."</string>
<string name="all_permissions" msgid="5156669007784613042">"అన్ని అనుమతులు"</string>
- <string name="other_permissions" msgid="2016192512386091933">"ఇతర అనువర్తన సామర్థ్యాలు"</string>
+ <string name="other_permissions" msgid="2016192512386091933">"యాప్‌నకు మంజూరైన ఇతర అనుమతులు"</string>
<string name="permission_request_title" msgid="1204446718549121199">"అనుమతి అభ్యర్థన"</string>
<string name="screen_overlay_title" msgid="3021729846864038529">"స్క్రీన్ అతివ్యాప్తి గుర్తించబడింది"</string>
<string name="screen_overlay_message" msgid="2141944461571677331">"ఈ అనుమతి సెట్టింగ్‌ను మార్చడానికి, మీరు ముందుగా సెట్టింగ్‌లు &gt; అనువర్తనాల నుండి స్క్రీన్ అతివ్యాప్తిని ఆఫ్ చేయాలి"</string>
@@ -225,7 +225,7 @@
<string name="accessibility_service_dialog_bottom_text_multiple" msgid="99044354994789512">"ఈ యాప్‌లు మీ స్క్రీన్, చర్యలు, ఇన్‌పుట్‌లను చూడగలవు, చర్యలను అమలు చేయగలవు, అలాగే ప్రదర్శనను నియంత్రించగలవు."</string>
<string name="role_assistant_label" msgid="325607225419991524">"డిఫాల్ట్ సహాయక యాప్"</string>
<string name="role_assistant_short_label" msgid="5324338887042810318">"సహాయక యాప్"</string>
- <string name="role_assistant_description" msgid="5980622464037768572">"సహాయక యాప్‌లు మీరు వీక్షిస్తున్న స్క్రీన్‌పై ఉన్న సమాచారం ఆధారంగా మీకు సహాయపడగలవు. కొన్ని యాప్‌లు మీకు సమగ్రమైన సహాయాన్ని అందించడానికి లాంచర్, వాయిస్ ఇన్‌పుట్ సేవలు రెండింటికీ మద్దతిస్తాయి."</string>
+ <string name="role_assistant_description" msgid="5980622464037768572">"మీరు చూస్తోన్న స్క్రీన్‌పై ఉన్న సమాచారం ఆధారంగా, సహాయక యాప్‌లు మీకు సహాయపడగలవు. మీకు సమగ్రమైన సహాయాన్ని అందించడానికి, కొన్ని యాప్‌లు లాంచర్, వాయిస్ ఇన్‌పుట్ సేవలు రెండింటికీ మద్దతిస్తాయి."</string>
<string name="role_assistant_request_title" msgid="2198246079117996249">"<xliff:g id="APP_NAME">%1$s</xliff:g>ను మీ డిఫాల్ట్ సహాయక యాప్‌గా సెట్ చేయాలా?"</string>
<string name="role_assistant_request_description" msgid="9007538649849881727">"SMS, కాల్ లాగ్‌లకు యాక్సెస్ పొందుతుంది"</string>
<string name="role_browser_label" msgid="1452186785584890151">"డిఫాల్ట్ బ్రౌజర్ యాప్"</string>
diff --git a/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java b/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
index cac2ef2c..438487ec 100644
--- a/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
+++ b/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
@@ -25,6 +25,7 @@ import android.content.pm.PackageManager;
import android.content.pm.PermissionInfo;
import android.permission.PermissionManager;
import android.text.TextUtils;
+import android.util.ArrayMap;
import android.util.Log;
import androidx.annotation.NonNull;
@@ -32,6 +33,7 @@ import androidx.annotation.NonNull;
import com.android.packageinstaller.PermissionControllerStatsLog;
import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.Permission;
+import com.android.packageinstaller.permission.utils.ArrayUtils;
import com.android.packageinstaller.permission.utils.Utils;
import java.util.ArrayList;
@@ -44,7 +46,7 @@ class RuntimePermissionsUpgradeController {
private static final String LOG_TAG = RuntimePermissionsUpgradeController.class.getSimpleName();
// The latest version of the runtime permissions database
- private static final int LATEST_VERSION = 7;
+ private static final int LATEST_VERSION = 8;
private RuntimePermissionsUpgradeController() {
/* do nothing - hide constructor */
@@ -88,6 +90,9 @@ class RuntimePermissionsUpgradeController {
| PackageManager.MATCH_UNINSTALLED_PACKAGES
| PackageManager.MATCH_FACTORY_ONLY);
+ // Cache permissionInfos
+ final ArrayMap<String, PermissionInfo> permissionInfos = new ArrayMap<>();
+
final int appCount = apps.size();
for (int i = 0; i < appCount; i++) {
final PackageInfo app = apps.get(i);
@@ -97,12 +102,16 @@ class RuntimePermissionsUpgradeController {
}
for (String requestedPermission : app.requestedPermissions) {
- final PermissionInfo permInfo;
- try {
- permInfo = context.getPackageManager().getPermissionInfo(
- requestedPermission, 0);
- } catch (PackageManager.NameNotFoundException e) {
- continue;
+ PermissionInfo permInfo = permissionInfos.get(requestedPermission);
+ if (permInfo == null) {
+ try {
+ permInfo = context.getPackageManager().getPermissionInfo(
+ requestedPermission, 0);
+ } catch (PackageManager.NameNotFoundException e) {
+ continue;
+ }
+
+ permissionInfos.put(requestedPermission, permInfo);
}
if ((permInfo.flags & (PermissionInfo.FLAG_HARD_RESTRICTED
@@ -272,16 +281,55 @@ class RuntimePermissionsUpgradeController {
currentVersion = 7;
}
+ if (currentVersion == 7) {
+ Log.i(LOG_TAG, "Expanding read storage to access media location");
+
+ for (int i = 0; i < appCount; i++) {
+ final PackageInfo pkgInfo = apps.get(i);
+
+ if (!ArrayUtils.contains(pkgInfo.requestedPermissions,
+ Manifest.permission.ACCESS_MEDIA_LOCATION)) {
+ continue;
+ }
+
+ if (context.checkPermission(Manifest.permission.READ_EXTERNAL_STORAGE, 0,
+ pkgInfo.applicationInfo.uid) != PackageManager.PERMISSION_GRANTED) {
+ continue;
+ }
+
+ final AppPermissionGroup group = AppPermissionGroup.create(context, pkgInfo,
+ Manifest.permission.ACCESS_MEDIA_LOCATION, false);
+ final Permission perm = group.getPermission(
+ Manifest.permission.ACCESS_MEDIA_LOCATION);
+
+ if (!perm.isUserSet() && !perm.isSystemFixed() && !perm.isPolicyFixed()
+ && !perm.isGrantedIncludingAppOp()) {
+ group.grantRuntimePermissions(false,
+ new String[]{Manifest.permission.ACCESS_MEDIA_LOCATION});
+
+ logRuntimePermissionUpgradeResult(group,
+ pkgInfo.applicationInfo.uid, pkgInfo.packageName,
+ Manifest.permission.ACCESS_MEDIA_LOCATION);
+ }
+ }
+
+ currentVersion = 8;
+ }
+
// XXX: Add new upgrade steps above this point.
return currentVersion;
}
private static void logRuntimePermissionUpgradeResult(AppPermissionGroup permissionGroup,
- int uid, String packageName) {
+ int uid, String packageName, String... filterPermissions) {
ArrayList<Permission> permissions = permissionGroup.getPermissions();
int numPermissions = permissions.size();
for (int i = 0; i < numPermissions; i++) {
+ if (filterPermissions != null && !ArrayUtils.contains(filterPermissions, permissions)) {
+ continue;
+ }
+
Permission permission = permissions.get(i);
PermissionControllerStatsLog.write(RUNTIME_PERMISSIONS_UPGRADE_RESULT,
permission.getName(), uid, packageName);
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java
index 214d7202..548545b5 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java
@@ -354,7 +354,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader {
return permissionSnapshot;
}
- permissions = mGroup.getPermissions();
+ permissions = permissionGroup.getPermissions();
numPermissions = permissions.size();
for (int i = 0; i < numPermissions; i++) {
diff --git a/src/com/android/packageinstaller/role/model/HomeRoleBehavior.java b/src/com/android/packageinstaller/role/model/HomeRoleBehavior.java
index c59575de..eb808acb 100644
--- a/src/com/android/packageinstaller/role/model/HomeRoleBehavior.java
+++ b/src/com/android/packageinstaller/role/model/HomeRoleBehavior.java
@@ -126,12 +126,17 @@ public class HomeRoleBehavior implements RoleBehavior {
}
@Override
+ public boolean isApplicationVisibleAsUser(@NonNull Role role,
+ @NonNull ApplicationInfo applicationInfo, @NonNull UserHandle user,
+ @NonNull Context context) {
+ // Home is not available for work profile, so we can just use the current user.
+ return !isSettingsApplication(applicationInfo, context);
+ }
+
+ @Override
public void prepareApplicationPreferenceAsUser(@NonNull Role role,
@NonNull Preference preference, @NonNull ApplicationInfo applicationInfo,
@NonNull UserHandle user, @NonNull Context context) {
- // Home is not available for work profile, so we can just use the current user.
- boolean isSettingsApplication = isSettingsApplication(applicationInfo, context);
- preference.setVisible(!isSettingsApplication);
boolean missingWorkProfileSupport = isMissingWorkProfileSupport(applicationInfo, context);
preference.setEnabled(!missingWorkProfileSupport);
preference.setSummary(missingWorkProfileSupport ? context.getString(
diff --git a/src/com/android/packageinstaller/role/model/Role.java b/src/com/android/packageinstaller/role/model/Role.java
index 58cbf622..e3332db0 100644
--- a/src/com/android/packageinstaller/role/model/Role.java
+++ b/src/com/android/packageinstaller/role/model/Role.java
@@ -369,6 +369,23 @@ public class Role {
}
/**
+ * Check whether a qualifying application should be visible to user.
+ *
+ * @param applicationInfo the {@link ApplicationInfo} for the application
+ * @param user the user for the application
+ * @param context the {@code Context} to retrieve system services
+ *
+ * @return whether the qualifying application should be visible to user
+ */
+ public boolean isApplicationVisibleAsUser(@NonNull ApplicationInfo applicationInfo,
+ @NonNull UserHandle user, @NonNull Context context) {
+ if (mBehavior != null) {
+ return mBehavior.isApplicationVisibleAsUser(this, applicationInfo, user, context);
+ }
+ return true;
+ }
+
+ /**
* Prepare a {@link Preference} for an application.
*
* @param preference the {@link Preference} for the application
diff --git a/src/com/android/packageinstaller/role/model/RoleBehavior.java b/src/com/android/packageinstaller/role/model/RoleBehavior.java
index 4a30d00c..41ffb455 100644
--- a/src/com/android/packageinstaller/role/model/RoleBehavior.java
+++ b/src/com/android/packageinstaller/role/model/RoleBehavior.java
@@ -84,6 +84,15 @@ public interface RoleBehavior {
@NonNull Context context) {}
/**
+ * @see Role#isApplicationVisibleAsUser(ApplicationInfo, UserHandle, Context)
+ */
+ default boolean isApplicationVisibleAsUser(@NonNull Role role,
+ @NonNull ApplicationInfo applicationInfo, @NonNull UserHandle user,
+ @NonNull Context context) {
+ return true;
+ }
+
+ /**
* @see Role#prepareApplicationPreferenceAsUser(Preference, ApplicationInfo, UserHandle,
* Context)
*/
diff --git a/src/com/android/packageinstaller/role/service/RoleControllerServiceImpl.java b/src/com/android/packageinstaller/role/service/RoleControllerServiceImpl.java
index 1ba0e0ff..bee43205 100644
--- a/src/com/android/packageinstaller/role/service/RoleControllerServiceImpl.java
+++ b/src/com/android/packageinstaller/role/service/RoleControllerServiceImpl.java
@@ -19,6 +19,7 @@ package com.android.packageinstaller.role.service;
import android.app.role.RoleControllerService;
import android.app.role.RoleManager;
import android.content.pm.ApplicationInfo;
+import android.os.AsyncTask;
import android.os.Process;
import android.os.UserHandle;
import android.util.ArrayMap;
@@ -169,9 +170,8 @@ public class RoleControllerServiceImpl extends RoleControllerService {
}
}
- // Load data on this thread instead of background.
- // TODO: Move out of this thread
- Utils.updateUserSensitive(getApplication(), Process.myUserHandle());
+ AsyncTask.execute(
+ () -> Utils.updateUserSensitive(getApplication(), Process.myUserHandle()));
return true;
}
diff --git a/src/com/android/packageinstaller/role/ui/RoleLiveData.java b/src/com/android/packageinstaller/role/ui/RoleLiveData.java
index 4b932b6f..5a7b138b 100644
--- a/src/com/android/packageinstaller/role/ui/RoleLiveData.java
+++ b/src/com/android/packageinstaller/role/ui/RoleLiveData.java
@@ -94,6 +94,9 @@ public class RoleLiveData extends AsyncTaskLiveData<List<Pair<ApplicationInfo, B
+ qualifyingPackageName);
continue;
}
+ if (!mRole.isApplicationVisibleAsUser(qualifyingApplicationInfo, mUser, mContext)) {
+ continue;
+ }
boolean isHolderApplication = holderPackageNames.contains(qualifyingPackageName);
qualifyingApplications.add(new Pair<>(qualifyingApplicationInfo, isHolderApplication));
}