Merge "Support customized summary in Channel Notification" into main
diff --git a/aconfig/settings_contacts_default_account_flag_declarations.aconfig b/aconfig/settings_contacts_default_account_flag_declarations.aconfig
new file mode 100644
index 0000000..eb877af
--- /dev/null
+++ b/aconfig/settings_contacts_default_account_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+ name: "enable_contacts_default_account_in_settings"
+ namespace: "contacts"
+ description: "Enable Contacts Storage (Contacts Default Account) in settings"
+ bug: "368126293"
+}
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 8e5519f..327ff44 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1503,14 +1503,12 @@
<!-- A locale list of not supporting Terms of Address. [DO NOT TRANSLATE] -->
<string-array name="terms_of_address_unsupported_locales">
+ <item>fr-CA</item> <!-- French (Canada) -->
</string-array>
<!-- A language list of supporting Terms of Address. [DO NOT TRANSLATE] -->
<string-array name="terms_of_address_supported_languages">
<item>fr</item> <!-- French -->
- <item>es</item> <!-- Spanish -->
- <item>it</item> <!-- Italian -->
- <item>de</item> <!-- German -->
</string-array>
<!-- Entries for private space auto lock option -->
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 456eb95..c586c3f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -960,8 +960,6 @@
<string name="go_to_identity_check">Go to identity check</string>
<!-- Biometric error dialog button text to lock screen and recover biometric lockout state. [CHAR LIMIT=60] -->
<string name="identity_check_lockout_error_lock_screen">Lock screen</string>
- <!-- Action for opening identity check settings page [CHAR LIMIT=NONE] [DO NOT TRANSLATE] -->
- <string name="identity_check_settings_action"></string>
<!-- RemoteAuth unlock enrollment and settings --><skip />
<!-- Title shown for menu item that launches watch unlock settings. [CHAR LIMIT=40] -->
<string name ="security_settings_remoteauth_preference_title">Remote Authenticator Unlock</string>
@@ -4695,6 +4693,8 @@
<string name="pointer_scale_decrease_content_description">Decrease pointer scale</string>
<!-- Setting for mouse pointer scale. [CHAR LIMIT=35] -->
<string name="pointer_scale_increase_content_description">Increase pointer scale</string>
+ <!-- Search keywords for pointer scale, including legacy Large Mouse Pointer. [CHAR LIMIT=NONE] -->
+ <string name="pointer_scale_keywords">scale, size, Pointer Scale, Pointer Size, Large mouse pointer, Large, noticeable</string>
<!-- On Languages & input settings screen, heading. Inside the "Languages & input settings" screen, this is the header for settings that relate to game controller devices. [CHAR LIMIT=40] -->
<string name="game_controller_settings_category">Game Controller</string>
diff --git a/res/xml/accessibility_pointer_and_touchpad.xml b/res/xml/accessibility_pointer_and_touchpad.xml
index 1d3b0f2..8da4177 100644
--- a/res/xml/accessibility_pointer_and_touchpad.xml
+++ b/res/xml/accessibility_pointer_and_touchpad.xml
@@ -29,6 +29,7 @@
settings:iconStartContentDescription="@string/pointer_scale_decrease_content_description"
settings:iconEnd="@drawable/ic_add_24dp"
settings:iconEndContentDescription="@string/pointer_scale_increase_content_description"
+ settings:keywords="@string/pointer_scale_keywords"
settings:controller="com.android.settings.inputmethod.PointerScaleSeekBarController" />
<Preference
diff --git a/src/com/android/settings/biometrics/IdentityCheckBiometricErrorDialog.java b/src/com/android/settings/biometrics/IdentityCheckBiometricErrorDialog.java
index a4b10fc..a5fe49e 100644
--- a/src/com/android/settings/biometrics/IdentityCheckBiometricErrorDialog.java
+++ b/src/com/android/settings/biometrics/IdentityCheckBiometricErrorDialog.java
@@ -53,6 +53,7 @@
private static final String KEY_FINISH_ACTIVITY = "key_finish_activity";
private String mActionIdentityCheckSettings = Settings.ACTION_SETTINGS;
+ private String mIdentityCheckSettingsPackageName;
@Nullable private BroadcastReceiver mBroadcastReceiver;
private boolean mShouldFinishActivity = false;
@@ -69,9 +70,11 @@
final boolean twoFactorAuthentication = getArguments().getBoolean(
KEY_TWO_FACTOR_AUTHENTICATION);
final String identityCheckSettingsAction = getActivity().getString(
- R.string.identity_check_settings_action);
+ com.android.internal.R.string.identity_check_settings_action);
mActionIdentityCheckSettings = identityCheckSettingsAction.isEmpty()
? mActionIdentityCheckSettings : identityCheckSettingsAction;
+ mIdentityCheckSettingsPackageName = getActivity().getString(
+ com.android.internal.R.string.identity_check_settings_package_name);
mShouldFinishActivity = getArguments().getBoolean(
KEY_FINISH_ACTIVITY);
diff --git a/src/com/android/settings/development/DesktopModePreferenceController.java b/src/com/android/settings/development/DesktopModePreferenceController.java
index 3f8ddab..f43e17c 100644
--- a/src/com/android/settings/development/DesktopModePreferenceController.java
+++ b/src/com/android/settings/development/DesktopModePreferenceController.java
@@ -17,14 +17,14 @@
package com.android.settings.development;
import static android.provider.Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES;
-
-import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.convertToToggleOverrideWithFallback;
-import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF;
-import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_ON;
-import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET;
+import static android.window.flags.DesktopModeFlags.ToggleOverride.fromSetting;
+import static android.window.flags.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF;
+import static android.window.flags.DesktopModeFlags.ToggleOverride.OVERRIDE_ON;
+import static android.window.flags.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET;
import android.content.Context;
import android.provider.Settings;
+import android.window.flags.DesktopModeFlags.ToggleOverride;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -34,7 +34,6 @@
import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;
-import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride;
import com.android.wm.shell.shared.desktopmode.DesktopModeStatus;
/**
@@ -84,7 +83,7 @@
// Use overridden state, if not present, then use default state
final int overrideInt = Settings.Global.getInt(mContext.getContentResolver(),
DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_UNSET.getSetting());
- final ToggleOverride toggleOverride = convertToToggleOverrideWithFallback(overrideInt,
+ final ToggleOverride toggleOverride = fromSetting(overrideInt,
OVERRIDE_UNSET);
final boolean shouldDevOptionBeEnabled = switch (toggleOverride) {
case OVERRIDE_OFF -> false;
diff --git a/src/com/android/settings/notification/modes/IconUtil.java b/src/com/android/settings/notification/modes/IconUtil.java
index 33d0d96..23817cb 100644
--- a/src/com/android/settings/notification/modes/IconUtil.java
+++ b/src/com/android/settings/notification/modes/IconUtil.java
@@ -60,7 +60,7 @@
private static Drawable applyTint(@NonNull Context context, @NonNull Drawable icon,
@AttrRes int colorAttr) {
- icon = icon.mutate();
+ icon = mutateDrawable(context.getResources(), icon);
icon.setTintList(Utils.getColorAttr(context, colorAttr));
return icon;
}
@@ -218,9 +218,9 @@
private static Drawable composeIcons(Resources res, Drawable outer, ColorStateList outerColor,
@Px int outerSizePx, Drawable icon, ColorStateList iconColor, @Px int iconSizePx) {
- Drawable background = checkNotNull(outer.getConstantState()).newDrawable(res).mutate();
+ Drawable background = mutateDrawable(res, outer);
background.setTintList(outerColor);
- Drawable foreground = checkNotNull(icon.getConstantState()).newDrawable(res).mutate();
+ Drawable foreground = mutateDrawable(res, icon);
foreground.setTintList(iconColor);
LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] { background, foreground });
@@ -232,4 +232,13 @@
layerDrawable.setBounds(0, 0, outerSizePx, outerSizePx);
return layerDrawable;
}
+
+ private static Drawable mutateDrawable(Resources res, Drawable drawable) {
+ Drawable.ConstantState cs = drawable.getConstantState();
+ if (cs != null) {
+ return cs.newDrawable(res).mutate();
+ } else {
+ return drawable.mutate();
+ }
+ }
}
diff --git a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
index 0fd4d85..7fe9377 100644
--- a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
@@ -17,10 +17,9 @@
package com.android.settings.development;
import static android.provider.Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES;
-
-import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_ON;
-import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF;
-import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET;
+import static android.window.flags.DesktopModeFlags.ToggleOverride.OVERRIDE_ON;
+import static android.window.flags.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF;
+import static android.window.flags.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET;
import static com.google.common.truth.Truth.assertThat;