summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PermissionController/res/values-es-rUS/strings.xml2
-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--PermissionController/wear-permission-components/src/wear.permission.components/material2/ToggleChip.kt5
-rw-r--r--PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionButtonStyle.kt13
-rw-r--r--PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionToggleControl.kt4
-rw-r--r--service/java/com/android/role/RoleService.java30
-rw-r--r--tests/cts/permissionpolicy/res/raw/android_manifest.xml4
9 files changed, 56 insertions, 8 deletions
diff --git a/PermissionController/res/values-es-rUS/strings.xml b/PermissionController/res/values-es-rUS/strings.xml
index 0a8908fd7..94179a6e7 100644
--- a/PermissionController/res/values-es-rUS/strings.xml
+++ b/PermissionController/res/values-es-rUS/strings.xml
@@ -370,7 +370,7 @@
<string name="role_dialer_request_description" msgid="6288839625724909320">"Esta app obtendrá acceso a la cámara, los contactos, micrófono, teléfono y SMS"</string>
<string name="role_dialer_search_keywords" msgid="3324448983559188087">"marcador"</string>
<string name="role_sms_label" msgid="8456999857547686640">"App de SMS predeterminada"</string>
- <string name="role_sms_short_label" msgid="4371444488034692243">"app de SMS"</string>
+ <string name="role_sms_short_label" msgid="4371444488034692243">"App de SMS"</string>
<string name="role_sms_description" msgid="3424020199148153513">"Apps que te permiten usar tu número de teléfono para enviar y recibir mensajes de texto cortos, fotos, videos y mucho más"</string>
<string name="role_sms_request_title" msgid="7953552109601185602">"¿Quieres establecer <xliff:g id="APP_NAME">%1$s</xliff:g> como app de SMS predeterminada?"</string>
<string name="role_sms_request_description" msgid="2691004766132144886">"Se le otorgará acceso a esta app a tu cámara, contactos, archivos y contenido multimedia, micrófono, teléfono y SMS"</string>
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/PermissionController/wear-permission-components/src/wear.permission.components/material2/ToggleChip.kt b/PermissionController/wear-permission-components/src/wear.permission.components/material2/ToggleChip.kt
index de8e0542d..46a55bdc7 100644
--- a/PermissionController/wear-permission-components/src/wear.permission.components/material2/ToggleChip.kt
+++ b/PermissionController/wear-permission-components/src/wear.permission.components/material2/ToggleChip.kt
@@ -33,6 +33,7 @@ import androidx.compose.ui.semantics.Role
import androidx.compose.ui.semantics.role
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.stateDescription
+import androidx.compose.ui.text.style.Hyphens
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.wear.compose.material.ChipDefaults
@@ -78,7 +79,7 @@ fun ToggleChip(
textAlign = TextAlign.Start,
overflow = TextOverflow.Ellipsis,
maxLines = labelMaxLine ?: if (hasSecondaryLabel) 1 else 2,
- style = MaterialTheme.typography.button,
+ style = MaterialTheme.typography.button.copy(hyphens = Hyphens.Auto),
)
}
@@ -89,7 +90,7 @@ fun ToggleChip(
text = secondaryLabel,
overflow = TextOverflow.Ellipsis,
maxLines = secondaryLabelMaxLine ?: 1,
- style = MaterialTheme.typography.caption2,
+ style = MaterialTheme.typography.caption2.copy(hyphens = Hyphens.Auto),
)
}
}
diff --git a/PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionButtonStyle.kt b/PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionButtonStyle.kt
index 114bcd4bc..f48d47b2c 100644
--- a/PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionButtonStyle.kt
+++ b/PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionButtonStyle.kt
@@ -16,6 +16,7 @@
package com.android.permissioncontroller.wear.permission.components.material3
import androidx.compose.runtime.Composable
+import androidx.compose.ui.graphics.Color
import androidx.wear.compose.material.ChipColors
import androidx.wear.compose.material.ChipDefaults
import androidx.wear.compose.material3.ButtonColors
@@ -26,6 +27,7 @@ import com.android.permissioncontroller.wear.permission.components.material3.Wea
import com.android.permissioncontroller.wear.permission.components.material3.WearPermissionButtonStyle.Primary
import com.android.permissioncontroller.wear.permission.components.material3.WearPermissionButtonStyle.Secondary
import com.android.permissioncontroller.wear.permission.components.material3.WearPermissionButtonStyle.Transparent
+import com.android.permissioncontroller.wear.permission.components.material3.WearPermissionButtonStyle.Warning
/**
* This component is wrapper on material control colors, It applies the right colors based material
@@ -36,6 +38,7 @@ enum class WearPermissionButtonStyle {
Secondary,
Transparent,
DisabledLike,
+ Warning,
}
@Composable
@@ -45,6 +48,11 @@ internal fun WearPermissionButtonStyle.material2ChipColors(): ChipColors {
Secondary -> ChipDefaults.secondaryChipColors()
Transparent -> ChipDefaults.childChipColors()
DisabledLike -> chipDisabledColors()
+ Warning ->
+ ChipDefaults.secondaryChipColors(
+ backgroundColor =
+ Color(red = 65, green = 14, blue = 11, alpha = (0.8f * 255).toInt())
+ )
}
}
@@ -55,6 +63,11 @@ internal fun WearPermissionButtonStyle.material3ButtonColors(): ButtonColors {
Secondary -> ButtonDefaults.filledTonalButtonColors()
Transparent -> ButtonDefaults.childButtonColors()
DisabledLike -> ButtonDefaults.disabledLikeColors()
+ Warning ->
+ ButtonDefaults.buttonColors(
+ containerColor =
+ Color(red = 65, green = 14, blue = 11, alpha = (0.8f * 255).toInt())
+ )
}
}
diff --git a/PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionToggleControl.kt b/PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionToggleControl.kt
index 1dfb90682..7998f43de 100644
--- a/PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionToggleControl.kt
+++ b/PermissionController/wear-permission-components/src/wear.permission.components/material3/WearPermissionToggleControl.kt
@@ -23,8 +23,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.stateDescription
+import androidx.compose.ui.text.style.Hyphens
import androidx.wear.compose.material3.CheckboxButton
import androidx.wear.compose.material3.LocalTextConfiguration
+import androidx.wear.compose.material3.LocalTextStyle
import androidx.wear.compose.material3.RadioButton
import androidx.wear.compose.material3.SwitchButton
import androidx.wear.compose.material3.Text
@@ -112,6 +114,7 @@ private fun WearPermissionToggleControlInternal(
text = label,
modifier = Modifier.fillMaxWidth(),
maxLines = labelMaxLines ?: LocalTextConfiguration.current.maxLines,
+ style = LocalTextStyle.current.copy(hyphens = Hyphens.Auto),
)
}
@@ -122,6 +125,7 @@ private fun WearPermissionToggleControlInternal(
text = it,
modifier = Modifier.fillMaxWidth(),
maxLines = secondaryLabelMaxLines ?: LocalTextConfiguration.current.maxLines,
+ style = LocalTextStyle.current.copy(hyphens = Hyphens.Auto),
)
}
}
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" />