Fix NPE on getTitle()

Bug: 199922685
Test: make RunSettingsLibRoboTests -j40
Change-Id: I35bf6f5911dc0ee56e43af7faddaceb479362863
(cherry picked from commit f00f2203b5)
Merged-In: I35bf6f5911dc0ee56e43af7faddaceb479362863
This commit is contained in:
cnchen
2020-07-06 19:58:44 +08:00
committed by Quang Luong
parent 02ae041c0e
commit af6f9ab235
2 changed files with 17 additions and 4 deletions

View File

@@ -1117,14 +1117,16 @@ public class AccessPoint implements Comparable<AccessPoint> {
* Returns the display title for the AccessPoint, such as for an AccessPointPreference's title. * Returns the display title for the AccessPoint, such as for an AccessPointPreference's title.
*/ */
public String getTitle() { public String getTitle() {
if (isPasspoint()) { if (isPasspoint() && !TextUtils.isEmpty(mConfig.providerFriendlyName)) {
return mConfig.providerFriendlyName; return mConfig.providerFriendlyName;
} else if (isPasspointConfig()) { } else if (isPasspointConfig() && !TextUtils.isEmpty(mProviderFriendlyName)) {
return mProviderFriendlyName; return mProviderFriendlyName;
} else if (isOsuProvider()) { } else if (isOsuProvider() && !TextUtils.isEmpty(mOsuProvider.getFriendlyName())) {
return mOsuProvider.getFriendlyName(); return mOsuProvider.getFriendlyName();
} else { } else if (!TextUtils.isEmpty(getSsidStr())) {
return getSsidStr(); return getSsidStr();
} else {
return "";
} }
} }

View File

@@ -147,6 +147,17 @@ public class AccessPointTest {
assertThat(ssid instanceof SpannableString).isFalse(); assertThat(ssid instanceof SpannableString).isFalse();
} }
@Test
public void testCompareTo_GivesNull() {
WifiConfiguration spyConfig = spy(new WifiConfiguration());
when(spyConfig.isPasspoint()).thenReturn(true);
spyConfig.providerFriendlyName = null;
AccessPoint passpointAp = new AccessPoint(mContext, spyConfig);
assertThat(passpointAp.getTitle()).isEqualTo("");
}
@Test @Test
public void testCompareTo_GivesActiveBeforeInactive() { public void testCompareTo_GivesActiveBeforeInactive() {
AccessPoint activeAp = new TestAccessPointBuilder(mContext).setActive(true).build(); AccessPoint activeAp = new TestAccessPointBuilder(mContext).setActive(true).build();