Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3855b76b authored by Edgar Wang's avatar Edgar Wang Committed by Automerger Merge Worker
Browse files

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

parents 7f1d0ab2 53cd2485
Loading
Loading
Loading
Loading
+11 −37
Original line number Original line Diff line number Diff line
@@ -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;
        }
        }
+0 −7
Original line number Original line Diff line number Diff line
@@ -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 -> {