diff options
5 files changed, 35 insertions, 5 deletions
diff --git a/PermissionController/res/values-pt-rBR/strings.xml b/PermissionController/res/values-pt-rBR/strings.xml index 17d18a2b7..48cedd428 100644 --- a/PermissionController/res/values-pt-rBR/strings.xml +++ b/PermissionController/res/values-pt-rBR/strings.xml @@ -442,7 +442,7 @@ <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Padrão para o espaço privado"</string> <string name="default_app_recommended" msgid="5669584821778942909">"Otimizados para o dispositivo"</string> <string name="default_app_others" msgid="7793029848126079876">"Outros"</string> - <string name="default_app_none" msgid="9084592086808194457">"Nenhuma"</string> + <string name="default_app_none" msgid="9084592086808194457">"Nenhum"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Padrão do sistema)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nenhum app"</string> <string name="default_payment_app_other_nfc_services" msgid="5957633798695758917">"Outros serviços de NFC"</string> diff --git a/PermissionController/res/values-pt/strings.xml b/PermissionController/res/values-pt/strings.xml index 17d18a2b7..48cedd428 100644 --- a/PermissionController/res/values-pt/strings.xml +++ b/PermissionController/res/values-pt/strings.xml @@ -442,7 +442,7 @@ <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Padrão para o espaço privado"</string> <string name="default_app_recommended" msgid="5669584821778942909">"Otimizados para o dispositivo"</string> <string name="default_app_others" msgid="7793029848126079876">"Outros"</string> - <string name="default_app_none" msgid="9084592086808194457">"Nenhuma"</string> + <string name="default_app_none" msgid="9084592086808194457">"Nenhum"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Padrão do sistema)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nenhum app"</string> <string name="default_payment_app_other_nfc_services" msgid="5957633798695758917">"Outros serviços de NFC"</string> diff --git a/PermissionController/res/values-tr-v33/strings.xml b/PermissionController/res/values-tr-v33/strings.xml index ee3827f93..f3b0f08e5 100644 --- a/PermissionController/res/values-tr-v33/strings.xml +++ b/PermissionController/res/values-tr-v33/strings.xml @@ -33,7 +33,7 @@ <string name="safety_center_more_issues_card_collapse_action" msgid="7485597582198474637">"Daralt"</string> <string name="safety_center_issue_card_prefix_content_description" msgid="1447445289637043544">"Uyarı. <xliff:g id="ISSUE_CARD_TITLE">%1$s</xliff:g>"</string> <string name="safety_center_resolved_issue_fallback" msgid="8548932070610766651">"İşlem tamamlandı"</string> - <string name="safety_center_qs_status_summary" msgid="5193925895830451177">"Cihazınızın korumasını artırabilecek ayarlara göz atın"</string> + <string name="safety_center_qs_status_summary" msgid="5193925895830451177">"Cihazınızın korunma düzeyini artırabilecek ayarlara göz atın"</string> <string name="safety_center_qs_page_landing" msgid="1717368301679228128">"Güvenlik ve gizlilikle ilgili hızlı ayarlar"</string> <string name="safety_center_qs_close_button" msgid="1352313308176244599">"Kapat"</string> <string name="safety_center_qs_expand_action" msgid="2193190557696484169">"Seçenekleri genişletip göster"</string> diff --git a/service/java/com/android/role/RoleService.java b/service/java/com/android/role/RoleService.java index ac6703545..529b0cbdf 100644 --- a/service/java/com/android/role/RoleService.java +++ b/service/java/com/android/role/RoleService.java @@ -40,6 +40,7 @@ import android.os.Binder; import android.os.Build; import android.os.Handler; import android.os.ParcelFileDescriptor; +import android.os.Process; import android.os.RemoteCallback; import android.os.RemoteCallbackList; import android.os.RemoteException; @@ -726,6 +727,35 @@ public class RoleService extends SystemService implements RoleUserState.Callback Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); Objects.requireNonNull(callback, "callback cannot be null"); + // Work around VoiceInteractionManagerService resetting default assistant upon force + // stop on pre-V platforms (b/191743558). + if (!SdkLevel.isAtLeastV() && Objects.equals(roleName, RoleManager.ROLE_ASSISTANT) + && Binder.getCallingUid() == Process.myUid()) { + StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace(); + boolean isCallFromForceStop = false; + for (StackTraceElement stackTraceElement : stackTraceElements) { + if (stackTraceElement.getClassName().contains( + "com.android.server.voiceinteraction.VoiceInteractionManagerService") + && stackTraceElement.getMethodName().equals("onHandleForceStop")) { + isCallFromForceStop = true; + break; + } + } + if (isCallFromForceStop) { + Log.i(LOG_TAG, "Ignoring clearRoleHoldersAsUser() call from" + + " VoiceInteractionManagerService due to force stopping the current" + + " assistant"); + ForegroundThread.getHandler().post(() -> { + // Notify the callback as if this call has failed for some reason. + callback.sendResult(null); + // Announce a role holder change to trigger the default assistant to be + // re-configured in VoiceInteractionManagerService. + onRoleHoldersChanged(roleName, userId); + }); + return; + } + } + getOrCreateController(userId).onClearRoleHolders(roleName, flags, callback); } diff --git a/tests/cts/permissionpolicy/res/raw/android_manifest.xml b/tests/cts/permissionpolicy/res/raw/android_manifest.xml index 2547b9786..4476d934b 100644 --- a/tests/cts/permissionpolicy/res/raw/android_manifest.xml +++ b/tests/cts/permissionpolicy/res/raw/android_manifest.xml @@ -5394,13 +5394,13 @@ corresponding permission such as {@link #HEAD_TRACKING} or {@link #FACE_TRACKING} for the data being accessed. - <p>Protection level: normal|appop + <p>Protection level: signature|privileged @SystemApi @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) @hide --> <permission android:name="android.permission.XR_TRACKING_IN_BACKGROUND" - android:protectionLevel="normal|appop" + android:protectionLevel="signature|privileged" android:description="@string/permdesc_xr_tracking_in_background" android:label="@string/permlab_xr_tracking_in_background" android:featureFlag="android.xr.xr_manifest_entries" /> |