[Wi-Fi] Fix TalkBack focus lost in SavedAccessPointsWifiSettings2
PreferenceGroup in a controller is not in a RecyclerView, TalkBack loses focus after PreferenceGroup#removeAll. To fix it, only add/remove the preference if it's necessary. Bug: 153278854 Test: make RunSettingsRoboTests ROBOTEST_FILTER=SavedAccessPointsPreferenceController2Test Change-Id: Ie9ad5481c33865dce2b7db04d0f969b1f49b80e1
This commit is contained in:
@@ -103,4 +103,20 @@ public class SavedAccessPointsPreferenceController2Test {
|
||||
assertThat(prefs.size()).isEqualTo(1);
|
||||
assertThat(prefs.get(0).getTitle()).isEqualTo(title);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_noAccessPoint_shouldRemoveIt() {
|
||||
final String title = "ssid_title";
|
||||
final String key = "key";
|
||||
final WifiEntry mockWifiEntry = mock(WifiEntry.class);
|
||||
when(mockWifiEntry.getTitle()).thenReturn(title);
|
||||
when(mockWifiEntry.getKey()).thenReturn(key);
|
||||
final WifiEntryPreference preference = new WifiEntryPreference(mContext, mockWifiEntry);
|
||||
preference.setKey(key);
|
||||
mPreferenceCategory.addPreference(preference);
|
||||
|
||||
mController.displayPreference(mPreferenceScreen, new ArrayList<>());
|
||||
|
||||
assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(0);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user