summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2025-03-13 16:20:19 -0700
committer Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2025-03-13 16:20:19 -0700
commit176185e13ac050640dde194f0e55d2264e53fc7c (patch)
treeb149b85ae67b7cf456c1941c21bd600cb906e4f1
parent36db3067b36ac2bba7b981b2bdb5491628c28e4d (diff)
parent701f30433fa1960cbdf8490fea160e2333f2527d (diff)
Snap for 13210474 from 701f30433fa1960cbdf8490fea160e2333f2527d to 25Q2-release
Change-Id: Ie6b4f3c90b6e3ad0416001a351e3f17ba176badf
-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-v33/strings.xml2
-rw-r--r--service/java/com/android/role/RoleService.java30
4 files changed, 33 insertions, 3 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);
}