Merge "Add accessibility string description for auto rotate" into tm-dev
diff --git a/res/layout/confirm_lock_password_base.xml b/res/layout/confirm_lock_password_base.xml
index 7c2fc5b..a3e5659 100644
--- a/res/layout/confirm_lock_password_base.xml
+++ b/res/layout/confirm_lock_password_base.xml
@@ -59,7 +59,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:inputType="textPassword"
- android:imeOptions="actionNext|flagForceAscii"
+ android:imeOptions="actionNext|flagForceAscii|flagNoExtractUi"
android:gravity="center"
style="@style/TextAppearance.PasswordEntry"/>
diff --git a/res/layout/confirm_lock_password_normal.xml b/res/layout/confirm_lock_password_normal.xml
index f2b8d1f..645c444 100644
--- a/res/layout/confirm_lock_password_normal.xml
+++ b/res/layout/confirm_lock_password_normal.xml
@@ -52,7 +52,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:inputType="textPassword"
- android:imeOptions="actionNext|flagForceAscii"
+ android:imeOptions="actionNext|flagForceAscii|flagNoExtractUi"
android:gravity="center"
style="@style/TextAppearance.PasswordEntry"/>
@@ -85,4 +85,4 @@
android:text="@string/cancel" />
</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
-</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/face_enroll_introduction.xml b/res/layout/face_enroll_introduction.xml
index 5e7a6a1..c497015 100644
--- a/res/layout/face_enroll_introduction.xml
+++ b/res/layout/face_enroll_introduction.xml
@@ -30,9 +30,7 @@
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
- android:orientation="vertical"
- android:layout_marginStart="?attr/sudMarginStart"
- android:layout_marginEnd="?attr/sudMarginEnd">
+ android:orientation="vertical">
<com.google.android.setupdesign.view.RichTextView
android:id="@+id/error_text"
diff --git a/res/layout/fingerprint_enroll_introduction.xml b/res/layout/fingerprint_enroll_introduction.xml
index aaed5be..5b4560e 100644
--- a/res/layout/fingerprint_enroll_introduction.xml
+++ b/res/layout/fingerprint_enroll_introduction.xml
@@ -30,9 +30,7 @@
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
- android:orientation="vertical"
- android:layout_marginStart="?attr/sudMarginStart"
- android:layout_marginEnd="?attr/sudMarginEnd">
+ android:orientation="vertical">
<com.google.android.setupdesign.view.RichTextView
android:id="@+id/error_text"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 29867e5..f87b489 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5308,6 +5308,8 @@
<string name="accessibility_text_reading_preview_mail_content">Good morning!\n\nI just wanted to check how the designs are coming. Will they be ready before we start building the new balloons?</string>
<!-- Title for the reset button of the accessibility text reading page to reset all preferences state. [CHAR LIMIT=25] -->
<string name="accessibility_text_reading_reset_button_title">Reset settings</string>
+ <!-- Message for the toast after clicking the reset button of the dialog of the accessibility text reading page. [CHAR LIMIT=NONE] -->
+ <string name="accessibility_text_reading_reset_message">Display size and text settings have been reset</string>
<!-- Title for the confirm dialog of reset settings. [CHAR LIMIT=NONE] -->
<string name="accessibility_text_reading_confirm_dialog_title">Reset display size and text?</string>
<!-- Message for the confirm dialog of reset settings. [CHAR LIMIT=NONE] -->
diff --git a/res/values/themes_suw.xml b/res/values/themes_suw.xml
index f0be252..79adbd8 100644
--- a/res/values/themes_suw.xml
+++ b/res/values/themes_suw.xml
@@ -229,8 +229,6 @@
<item name="android:clipToPadding">true</item>
<item name="android:clipChildren">true</item>
<item name="android:textAppearanceListItem">@style/TextAppearance.PreferenceTitle.SettingsLib</item>
- <item name="android:listPreferredItemPaddingStart">@dimen/settingslib_listPreferredItemPaddingStart</item>
- <item name="android:listPreferredItemPaddingEnd">16dp</item>
<item name="preferenceTheme">@style/PreferenceTheme.SettingsLib</item>
<item name="android:switchStyle">@style/Switch.SettingsLib</item>
<item name="preferenceFragmentCompatStyle">@style/SetupWizardPreferenceFragmentStyle</item>
diff --git a/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java b/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
index 1148584..a4ee961c 100644
--- a/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
@@ -23,6 +23,7 @@
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
+import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
@@ -178,6 +179,9 @@
} else {
mResetStateListeners.forEach(ResetStateListener::resetState);
}
+
+ Toast.makeText(getPrefContext(), R.string.accessibility_text_reading_reset_message,
+ Toast.LENGTH_SHORT).show();
}
private List<ResetStateListener> getResetStateListeners() {
diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
index 71f47cc..06f8276 100644
--- a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
@@ -51,6 +51,11 @@
@Override
protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
+ final boolean isEnabled = Settings.Secure.getInt(getContentResolver(), ENABLED, OFF) == ON;
+ if (enabled == isEnabled) {
+ return;
+ }
+
if (enabled) {
showQuickSettingsTooltipIfNeeded(QuickSettingsTooltipType.GUIDE_TO_DIRECT_USE);
}
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index ac4408f..208d5c1 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -166,6 +166,11 @@
@Override
protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
+ final boolean isEnabled = Settings.Secure.getInt(getContentResolver(), ENABLED, OFF) == ON;
+ if (enabled == isEnabled) {
+ return;
+ }
+
if (enabled) {
showQuickSettingsTooltipIfNeeded(QuickSettingsTooltipType.GUIDE_TO_DIRECT_USE);
}
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index f0809ad..b7f8909 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -479,7 +479,7 @@
@Override
protected void refresh() {
for (LocalBluetoothProfile profile : getProfiles()) {
- if (!profile.isProfileReady()) {
+ if (profile != null && !profile.isProfileReady()) {
continue;
}
SwitchPreference pref = mProfilesContainer.findPreference(
diff --git a/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java b/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java
index 1a60cb8..9613b55 100644
--- a/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java
@@ -22,6 +22,7 @@
import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.os.storage.StorageManager;
+import android.text.TextUtils;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -65,6 +66,10 @@
@Override
public boolean handlePreferenceTreeClick(Preference preference) {
+ if (!TextUtils.equals(getPreferenceKey(), preference.getKey())) {
+ return super.handlePreferenceTreeClick(preference);
+ }
+
final MetricsFeatureProvider metricsFeatureProvider =
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
metricsFeatureProvider.action(mContext, SettingsEnums.STORAGE_FREE_UP_SPACE_NOW);
diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java
index 1793cc2..b72cdf7 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java
@@ -47,6 +47,7 @@
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
+import org.robolectric.shadows.ShadowToast;
import java.util.ArrayList;
import java.util.Arrays;
@@ -104,4 +105,18 @@
verify(listener1).resetState();
verify(listener2).resetState();
}
+
+ @Test
+ public void onDialogPositiveButtonClicked_boldTextEnabled_showToast() {
+ Settings.Secure.putInt(mContext.getContentResolver(),
+ Settings.Secure.FONT_WEIGHT_ADJUSTMENT, BOLD_TEXT_ADJUSTMENT);
+ final AlertDialog dialog = (AlertDialog) mFragment.onCreateDialog(
+ DialogEnums.DIALOG_RESET_SETTINGS);
+ dialog.show();
+
+ dialog.getButton(DialogInterface.BUTTON_POSITIVE).callOnClick();
+
+ assertThat(ShadowToast.getTextOfLatestToast())
+ .isEqualTo(mContext.getString(R.string.accessibility_text_reading_reset_message));
+ }
}
diff --git a/tests/unit/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceControllerTest.java
new file mode 100644
index 0000000..6806bdd
--- /dev/null
+++ b/tests/unit/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceControllerTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.deviceinfo.storage;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.widget.CardPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class ManageStoragePreferenceControllerTest {
+
+ private ManageStoragePreferenceController mController;
+ private CardPreference mPreference;
+
+ @Before
+ public void setUp() {
+ Context context = ApplicationProvider.getApplicationContext();
+ mPreference = new CardPreference(context);
+ mController = new ManageStoragePreferenceController(context, "free_up_space");
+ }
+
+ @Test
+ public void handPreferenceTreeClick_keyMatched_consumeClickEvent() {
+ mPreference.setKey(mController.getPreferenceKey());
+
+ assertTrue(mController.handlePreferenceTreeClick(mPreference));
+ }
+
+ @Test
+ public void handPreferenceTreeClick_keyNotMatched_notConsumeClickEvent() {
+ mPreference.setKey("not_matched_key");
+
+ assertFalse(mController.handlePreferenceTreeClick(mPreference));
+ }
+}