Merge "Ensure the learn more string meet Accessibility requirement." into tm-dev am: 53cd248506

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18089226

Change-Id: I60eb6ba1eb2a35d4116e8f686471e8d10e80359e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Edgar Wang
2022-05-20 23:25:33 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 44 deletions

View File

@@ -44,7 +44,6 @@ public class FooterPreference extends Preference {
int mIconVisibility = View.VISIBLE; int mIconVisibility = View.VISIBLE;
private CharSequence mContentDescription; private CharSequence mContentDescription;
private CharSequence mLearnMoreText; private CharSequence mLearnMoreText;
private CharSequence mLearnMoreContentDescription;
private FooterLearnMoreSpan mLearnMoreSpan; private FooterLearnMoreSpan mLearnMoreSpan;
public FooterPreference(Context context, AttributeSet attrs) { public FooterPreference(Context context, AttributeSet attrs) {
@@ -80,9 +79,6 @@ public class FooterPreference extends Preference {
learnMoreText.setSpan(mLearnMoreSpan, 0, learnMoreText.setSpan(mLearnMoreSpan, 0,
learnMoreText.length(), 0); learnMoreText.length(), 0);
learnMore.setText(learnMoreText); learnMore.setText(learnMoreText);
if (!TextUtils.isEmpty(mLearnMoreContentDescription)) {
learnMore.setContentDescription(mLearnMoreContentDescription);
}
} else { } else {
learnMore.setVisibility(View.GONE); learnMore.setVisibility(View.GONE);
} }
@@ -139,27 +135,6 @@ public class FooterPreference extends Preference {
} }
} }
/**
* To set content description of the learn more text. This can use for talkback
* environment if developer wants to have a customization content.
*
* @param learnMoreContentDescription The resource id of the content description.
*/
public void setLearnMoreContentDescription(CharSequence learnMoreContentDescription) {
if (!TextUtils.equals(mContentDescription, learnMoreContentDescription)) {
mLearnMoreContentDescription = learnMoreContentDescription;
notifyChanged();
}
}
/**
* Return the content description of learn more link.
*/
@VisibleForTesting
CharSequence getLearnMoreContentDescription() {
return mLearnMoreContentDescription;
}
/** /**
* Assign an action for the learn more link. * Assign an action for the learn more link.
*/ */
@@ -201,7 +176,7 @@ public class FooterPreference extends Preference {
private String mKey; private String mKey;
private CharSequence mTitle; private CharSequence mTitle;
private CharSequence mContentDescription; private CharSequence mContentDescription;
private CharSequence mLearnMoreContentDescription; private CharSequence mLearnMoreText;
public Builder(@NonNull Context context) { public Builder(@NonNull Context context) {
mContext = context; mContext = context;
@@ -260,25 +235,24 @@ public class FooterPreference extends Preference {
} }
/** /**
* To set content description of the learn more text. This can use for talkback * To set learn more string of the learn more text. This can use for talkback
* environment if developer wants to have a customization content. * environment if developer wants to have a customization content.
* *
* @param learnMoreContentDescription The resource id of the content description. * @param learnMoreText The resource id of the learn more string.
*/ */
public Builder setLearnMoreContentDescription(CharSequence learnMoreContentDescription) { public Builder setLearnMoreText(CharSequence learnMoreText) {
mLearnMoreContentDescription = learnMoreContentDescription; mLearnMoreText = learnMoreText;
return this; return this;
} }
/** /**
* To set content description of the {@link FooterPreference}. This can use for talkback * To set learn more string of the {@link FooterPreference}. This can use for talkback
* environment if developer wants to have a customization content. * environment if developer wants to have a customization content.
* *
* @param learnMoreContentDescriptionResId The resource id of the content description. * @param learnMoreTextResId The resource id of the learn more string.
*/ */
public Builder setLearnMoreContentDescription( public Builder setLearnMoreText(@StringRes int learnMoreTextResId) {
@StringRes int learnMoreContentDescriptionResId) { mLearnMoreText = mContext.getText(learnMoreTextResId);
mLearnMoreContentDescription = mContext.getText(learnMoreContentDescriptionResId);
return this; return this;
} }
@@ -301,8 +275,8 @@ public class FooterPreference extends Preference {
footerPreference.setContentDescription(mContentDescription); footerPreference.setContentDescription(mContentDescription);
} }
if (!TextUtils.isEmpty(mLearnMoreContentDescription)) { if (!TextUtils.isEmpty(mLearnMoreText)) {
footerPreference.setLearnMoreContentDescription(mLearnMoreContentDescription); footerPreference.setLearnMoreText(mLearnMoreText);
} }
return footerPreference; return footerPreference;
} }

View File

@@ -73,13 +73,6 @@ public class FooterPreferenceTest {
assertThat(mFooterPreference.getContentDescription()).isEqualTo("test"); assertThat(mFooterPreference.getContentDescription()).isEqualTo("test");
} }
@Test
public void setLearnMoreContentDescription_contentSet_shouldGetSameContentDescription() {
mFooterPreference.setLearnMoreContentDescription("test");
assertThat(mFooterPreference.getLearnMoreContentDescription()).isEqualTo("test");
}
@Test @Test
public void setLearnMoreAction_actionSet_shouldGetAction() { public void setLearnMoreAction_actionSet_shouldGetAction() {
mFooterPreference.setLearnMoreAction(v -> { mFooterPreference.setLearnMoreAction(v -> {