Merge changes Ic908918a,Iefa3ec84
* changes:
Polish and humanize the title for the entry of Text and Reading Options in SuW.
Polish and humanize the title for Text and Reading Options.
diff --git a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
index 5fc4cd2..2cdbb33 100644
--- a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
@@ -234,6 +234,9 @@
final String htmlDescription = info.loadHtmlDescription(getActivity().getPackageManager());
extras.putString(AccessibilitySettings.EXTRA_HTML_DESCRIPTION, htmlDescription);
+ final CharSequence intro = info.loadIntro(getActivity().getPackageManager());
+ extras.putCharSequence(AccessibilitySettings.EXTRA_INTRO, intro);
+
// We will log nonA11yTool status from PolicyWarningUIController; others none.
extras.putLong(AccessibilitySettings.EXTRA_TIME_FOR_LOGGING,
getActivity().getIntent().getLongExtra(
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index e834640..6539f32 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -94,6 +94,7 @@
static final String EXTRA_TITLE_RES = "title_res";
static final String EXTRA_RESOLVE_INFO = "resolve_info";
static final String EXTRA_SUMMARY = "summary";
+ static final String EXTRA_INTRO = "intro";
static final String EXTRA_SETTINGS_TITLE = "settings_title";
static final String EXTRA_COMPONENT_NAME = "component_name";
static final String EXTRA_SETTINGS_COMPONENT_NAME = "settings_component_name";
@@ -570,14 +571,15 @@
final String prefKey = preference.getKey();
final int imageRes = info.getAnimatedImageRes();
+ final CharSequence intro = info.loadIntro(mPm);
final CharSequence description = getServiceDescription(mContext, info,
serviceEnabled);
final String htmlDescription = info.loadHtmlDescription(mPm);
final String settingsClassName = info.getSettingsActivityName();
final String tileServiceClassName = info.getTileServiceClassName();
- putBasicExtras(preference, prefKey, title, description, imageRes, htmlDescription,
- componentName);
+ putBasicExtras(preference, prefKey, title, intro, description, imageRes,
+ htmlDescription, componentName);
putServiceExtras(preference, resolveInfo, serviceEnabled);
putSettingsExtras(preference, packageName, settingsClassName);
putTileServiceExtras(preference, packageName, tileServiceClassName);
@@ -630,14 +632,15 @@
setRestrictedPreferenceEnabled(preference, permittedServices, serviceEnabled);
final String prefKey = preference.getKey();
+ final CharSequence intro = info.loadIntro(mPm);
final String description = info.loadDescription(mPm);
final int imageRes = info.getAnimatedImageRes();
final String htmlDescription = info.loadHtmlDescription(mPm);
final String settingsClassName = info.getSettingsActivityName();
final String tileServiceClassName = info.getTileServiceClassName();
- putBasicExtras(preference, prefKey, title, description, imageRes, htmlDescription,
- componentName);
+ putBasicExtras(preference, prefKey, title, intro, description, imageRes,
+ htmlDescription, componentName);
putSettingsExtras(preference, componentName.getPackageName(), settingsClassName);
putTileServiceExtras(preference, componentName.getPackageName(),
tileServiceClassName);
@@ -722,11 +725,12 @@
/** Puts the basic extras into {@link RestrictedPreference}'s getExtras(). */
private void putBasicExtras(RestrictedPreference preference, String prefKey,
- CharSequence title, CharSequence summary, int imageRes, String htmlDescription,
- ComponentName componentName) {
+ CharSequence title, CharSequence intro, CharSequence summary, int imageRes,
+ String htmlDescription, ComponentName componentName) {
final Bundle extras = preference.getExtras();
extras.putString(EXTRA_PREFERENCE_KEY, prefKey);
extras.putCharSequence(EXTRA_TITLE, title);
+ extras.putCharSequence(EXTRA_INTRO, intro);
extras.putCharSequence(EXTRA_SUMMARY, summary);
extras.putParcelable(EXTRA_COMPONENT_NAME, componentName);
extras.putInt(EXTRA_ANIMATED_IMAGE_RES, imageRes);
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index 08e9b88..5747d0a 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -63,6 +63,7 @@
import com.android.settingslib.accessibility.AccessibilityUtils;
import com.android.settingslib.widget.IllustrationPreference;
import com.android.settingslib.widget.OnMainSwitchChangeListener;
+import com.android.settingslib.widget.TopIntroPreference;
import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -92,8 +93,10 @@
protected Uri mImageUri;
private CharSequence mDescription;
protected CharSequence mHtmlDescription;
+ protected CharSequence mTopIntroTitle;
private static final String DRAWABLE_FOLDER = "drawable";
+ protected static final String KEY_TOP_INTRO_PREFERENCE = "top_intro";
protected static final String KEY_USE_SERVICE_PREFERENCE = "use_service";
public static final String KEY_GENERAL_CATEGORY = "general_categories";
protected static final String KEY_HTML_DESCRIPTION_PREFERENCE = "html_description";
@@ -182,6 +185,7 @@
// Need to be called as early as possible. Protected variables will be assigned here.
onProcessArguments(getArguments());
+ initTopIntroPreference();
initAnimatedImagePreference();
initToggleServiceSwitchPreference();
initGeneralCategory();
@@ -388,11 +392,17 @@
mHtmlDescription = arguments.getCharSequence(
AccessibilitySettings.EXTRA_HTML_DESCRIPTION);
}
+
+ // Intro.
+ if (arguments.containsKey(AccessibilitySettings.EXTRA_INTRO)) {
+ mTopIntroTitle = arguments.getCharSequence(AccessibilitySettings.EXTRA_INTRO);
+ }
}
/** Customizes the order by preference key. */
protected List<String> getPreferenceOrderList() {
final List<String> lists = new ArrayList<>();
+ lists.add(KEY_TOP_INTRO_PREFERENCE);
lists.add(KEY_ANIMATED_IMAGE);
lists.add(KEY_USE_SERVICE_PREFERENCE);
lists.add(KEY_GENERAL_CATEGORY);
@@ -461,6 +471,17 @@
getPreferenceScreen().addPreference(illustrationPreference);
}
+ @VisibleForTesting
+ void initTopIntroPreference() {
+ if (TextUtils.isEmpty(mTopIntroTitle)) {
+ return;
+ }
+ final TopIntroPreference topIntroPreference = new TopIntroPreference(getPrefContext());
+ topIntroPreference.setKey(KEY_TOP_INTRO_PREFERENCE);
+ topIntroPreference.setTitle(mTopIntroTitle);
+ getPreferenceScreen().addPreference(topIntroPreference);
+ }
+
private void initToggleServiceSwitchPreference() {
mToggleServiceSwitchPreference = new SettingsMainSwitchPreference(getPrefContext());
mToggleServiceSwitchPreference.setKey(KEY_USE_SERVICE_PREFERENCE);
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index 5ea4edc..34a2f5b 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -51,6 +51,7 @@
import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType;
import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import com.android.settings.testutils.shadow.ShadowFragment;
+import com.android.settingslib.widget.TopIntroPreference;
import org.junit.Before;
import org.junit.Test;
@@ -81,6 +82,7 @@
private static final String PLACEHOLDER_DIALOG_TITLE = "title";
private static final String DEFAULT_SUMMARY = "default summary";
private static final String DEFAULT_DESCRIPTION = "default description";
+ private static final String DEFAULT_TOP_INTRO = "default top intro";
private static final String SOFTWARE_SHORTCUT_KEY =
Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS;
@@ -294,6 +296,23 @@
}
@Test
+ public void initTopIntroPreference_hasTopIntroTitle_shouldSetAsExpectedValue() {
+ mFragment.mTopIntroTitle = DEFAULT_TOP_INTRO;
+ mFragment.initTopIntroPreference();
+
+ TopIntroPreference topIntroPreference =
+ (TopIntroPreference) mFragment.getPreferenceScreen().getPreference(/* index= */ 0);
+ assertThat(topIntroPreference.getTitle().toString()).isEqualTo(DEFAULT_TOP_INTRO);
+ }
+
+ @Test
+ public void initTopIntroPreference_topIntroTitleIsNull_shouldNotAdded() {
+ mFragment.initTopIntroPreference();
+
+ assertThat(mFragment.getPreferenceScreen().getPreferenceCount()).isEqualTo(0);
+ }
+
+ @Test
public void createFooterPreference_shouldSetAsExpectedValue() {
mFragment.createFooterPreference(mFragment.getPreferenceScreen(),
DEFAULT_SUMMARY, DEFAULT_DESCRIPTION);