Make prefs without an action unselectable

Setting selectable=false is required for proper A11y. Otherwise Talkback
will inform the user that the item can be activated.

Bug: 29025567
Change-Id: I2b61c622c2d69fa83640f7822349613f51f849d5
This commit is contained in:
Fyodor Kupolov
2016-06-02 10:39:33 -07:00
parent a260cf8931
commit 77865ec827

View File

@@ -743,13 +743,13 @@ public class UserSettings extends SettingsPreferenceFragment
pref = new UserPreference(getPrefContext(), null, user.id, pref = new UserPreference(getPrefContext(), null, user.id,
showSettings ? this : null, showSettings ? this : null,
showDelete ? this : null); showDelete ? this : null);
pref.setOnPreferenceClickListener(this);
pref.setKey("id=" + user.id); pref.setKey("id=" + user.id);
userPreferences.add(pref); userPreferences.add(pref);
if (user.isAdmin()) { if (user.isAdmin()) {
pref.setSummary(R.string.user_admin); pref.setSummary(R.string.user_admin);
} }
pref.setTitle(user.name); pref.setTitle(user.name);
pref.setSelectable(false);
} }
if (pref == null) { if (pref == null) {
continue; continue;
@@ -760,6 +760,8 @@ public class UserSettings extends SettingsPreferenceFragment
} else { } else {
pref.setSummary(R.string.user_summary_not_set_up); pref.setSummary(R.string.user_summary_not_set_up);
} }
pref.setOnPreferenceClickListener(this);
pref.setSelectable(true);
} else if (user.isRestricted()) { } else if (user.isRestricted()) {
pref.setSummary(R.string.user_summary_restricted_profile); pref.setSummary(R.string.user_summary_restricted_profile);
} }
@@ -800,6 +802,7 @@ public class UserSettings extends SettingsPreferenceFragment
userPreferences.add(pref); userPreferences.add(pref);
pref.setDisabledByAdmin( pref.setDisabledByAdmin(
mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null); mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null);
pref.setSelectable(false);
} }
// Sort list of users by serialNum // Sort list of users by serialNum