[Wi-Fi][A11Y] Fix TalkBack lose focus in WifiSettings & WifiSettings2

Use stable ID feature of RecycleView to keep preference focus.

Bug: 126132618
Test: WifiSettingsTest
      WifiSettings2Test
      manual visual

Change-Id: Id73157b0935186c9a59d1ef68190d853f671ebc2
This commit is contained in:
Arc Wang
2019-10-31 14:39:27 +08:00
parent fe5b2d9624
commit f4d3ba1049
4 changed files with 40 additions and 0 deletions

View File

@@ -45,6 +45,8 @@ import android.view.View;
import androidx.fragment.app.FragmentActivity;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
import com.android.settings.datausage.DataUsagePreference;
@@ -291,4 +293,13 @@ public class WifiSettingsTest {
verify(menu).add(anyInt(), eq(WifiSettings.MENU_ID_FORGET), anyInt(), anyInt());
}
@Test
public void onCreateAdapter_hasStableIdsTrue() {
final PreferenceScreen preferenceScreen = mock(PreferenceScreen.class);
RecyclerView.Adapter adapter = mWifiSettings.onCreateAdapter(preferenceScreen);
assertThat(adapter.hasStableIds()).isTrue();
}
}