Skip to content

Commit de83e7a

Browse files
sganovAndroid (Google) Code Review
authored andcommitted
Merge "Make TextView respect ACCESSIBILITY_SPEAK_PASSWORD preference." into jb-dev
2 parents d4cc925 + 7d62419 commit de83e7a

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

core/java/android/widget/TextView.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import android.os.Parcel;
4040
import android.os.Parcelable;
4141
import android.os.SystemClock;
42+
import android.provider.Settings;
4243
import android.text.BoringLayout;
4344
import android.text.DynamicLayout;
4445
import android.text.Editable;
@@ -7705,14 +7706,23 @@ public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
77057706
super.onPopulateAccessibilityEvent(event);
77067707

77077708
final boolean isPassword = hasPasswordTransformationMethod();
7708-
if (!isPassword) {
7709-
CharSequence text = getTextForAccessibility();
7709+
if (!isPassword || shouldSpeakPasswordsForAccessibility()) {
7710+
final CharSequence text = getTextForAccessibility();
77107711
if (!TextUtils.isEmpty(text)) {
77117712
event.getText().add(text);
77127713
}
77137714
}
77147715
}
77157716

7717+
/**
7718+
* @return true if the user has explicitly allowed accessibility services
7719+
* to speak passwords.
7720+
*/
7721+
private boolean shouldSpeakPasswordsForAccessibility() {
7722+
return (Settings.Secure.getInt(mContext.getContentResolver(),
7723+
Settings.Secure.ACCESSIBILITY_SPEAK_PASSWORD, 0) == 1);
7724+
}
7725+
77167726
@Override
77177727
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
77187728
super.onInitializeAccessibilityEvent(event);

0 commit comments

Comments
 (0)