diff options
| author | 2017-09-05 11:02:03 -0700 | |
|---|---|---|
| committer | 2017-09-06 01:12:24 +0000 | |
| commit | b6cec0d7b28df7af6861a3e8bd27a82dbccafc0a (patch) | |
| tree | d1b74649c88f2e7f0646b5593210e3a71773724c | |
| parent | 9e16e1dd17d944d7a06aac1380c0f54415b04982 (diff) | |
Use raw string when setting wifi preference title.
This is necessary for talkback to correctly recognize content
description on the whole viewgroup.
Change-Id: Ic792102b269b9a8db09c632f7e70d8773048c840
Bug: 65202862
Test: robotests
2 files changed, 34 insertions, 13 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java index 0ecb8be627f6..0f4e13bd5d8b 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java @@ -155,7 +155,7 @@ public class AccessPointPreference extends Preference { drawable.setLevel(mLevel); } - mTitleView = (TextView) view.findViewById(com.android.internal.R.id.title); + mTitleView = (TextView) view.findViewById(android.R.id.title); if (mTitleView != null) { // Attach to the end of the title view mTitleView.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, mBadge, null); @@ -224,12 +224,7 @@ public class AccessPointPreference extends Preference { * Updates the title and summary; may indirectly call notifyChanged(). */ public void refresh() { - if (mForSavedNetworks) { - setTitle(mAccessPoint.getConfigName()); - } else { - setTitle(mAccessPoint.getSsid()); - } - + setTitle(this, mAccessPoint, mForSavedNetworks); final Context context = getContext(); int level = mAccessPoint.getLevel(); int wifiSpeed = mAccessPoint.getSpeed(); @@ -258,6 +253,15 @@ public class AccessPointPreference extends Preference { } } + @VisibleForTesting + static void setTitle(AccessPointPreference preference, AccessPoint ap, boolean savedNetworks) { + if (savedNetworks) { + preference.setTitle(ap.getConfigName()); + } else { + preference.setTitle(ap.getSsidStr()); + } + } + /** * Helper method to generate content description string. */ diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/AccessPointPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/AccessPointPreferenceTest.java index 7f89fd5d079c..96cbc82ae193 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/AccessPointPreferenceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/AccessPointPreferenceTest.java @@ -18,13 +18,12 @@ package com.android.settingslib.wifi; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.when; import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; import android.content.Context; - import android.graphics.drawable.ColorDrawable; + import com.android.settingslib.SettingsLibRobolectricTestRunner; import com.android.settingslib.TestConfig; @@ -42,9 +41,12 @@ public class AccessPointPreferenceTest { private Context mContext = RuntimeEnvironment.application; - @Mock private AccessPoint mockAccessPoint; - @Mock private AccessPointPreference.UserBadgeCache mockUserBadgeCache; - @Mock private AccessPointPreference.IconInjector mockIconInjector; + @Mock + private AccessPoint mockAccessPoint; + @Mock + private AccessPointPreference.UserBadgeCache mockUserBadgeCache; + @Mock + private AccessPointPreference.IconInjector mockIconInjector; private AccessPointPreference createWithAccessPoint(AccessPoint accessPoint) { return new AccessPointPreference(accessPoint, mContext, mockUserBadgeCache, @@ -113,4 +115,19 @@ public class AccessPointPreferenceTest { verify(mockIconInjector).getIcon(level); } + + @Test + public void refresh_setTitle_shouldUseSsidString() { + final String ssid = "ssid"; + final String summary = "connected"; + final int security = AccessPoint.SECURITY_WEP; + final AccessPoint ap = new TestAccessPointBuilder(mContext) + .setSsid(ssid) + .setSecurity(security) + .build(); + final AccessPointPreference preference = mock(AccessPointPreference.class); + + AccessPointPreference.setTitle(preference, ap, false /* savedNetwork */); + verify(preference).setTitle(ssid); + } } |