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
This commit is contained in:
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user