Remove the cached display name
If the display name is changed, then the Settings should remove the cached display name. Bug: 296157273 Test: [pass] atest SubscriptionUtilTest [pass]Build and manual test Change-Id: I3b1297ddddf9f9051dd16523b97fc27255cf3923
This commit is contained in:
committed by
SongFerng Wang
parent
d43d6f259a
commit
d21f14a002
@@ -18,9 +18,7 @@ package com.android.settings.network;
|
||||
|
||||
import static com.android.settings.network.SubscriptionUtil.KEY_UNIQUE_SUBSCRIPTION_DISPLAYNAME;
|
||||
import static com.android.settings.network.SubscriptionUtil.SUB_ID;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
@@ -185,7 +183,7 @@ public class SubscriptionUtilTest {
|
||||
@Ignore
|
||||
@Test
|
||||
public void getUniqueDisplayNames_identicalCarriers_fourDigitsUsed() {
|
||||
// Both subscriptoins have the same display name.
|
||||
// Both subscriptions have the same display name.
|
||||
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
||||
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
||||
@@ -215,7 +213,7 @@ public class SubscriptionUtilTest {
|
||||
@Ignore
|
||||
@Test
|
||||
public void getUniqueDisplayNames_identicalCarriersAfterTrim_fourDigitsUsed() {
|
||||
// Both subscriptoins have the same display name.
|
||||
// Both subscriptions have the same display name.
|
||||
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
||||
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
||||
@@ -244,8 +242,8 @@ public class SubscriptionUtilTest {
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void getUniqueDisplayNames_phoneNumberBlocked_subscriptoinIdFallback() {
|
||||
// Both subscriptoins have the same display name.
|
||||
public void getUniqueDisplayNames_phoneNumberBlocked_subscriptionIdFallback() {
|
||||
// Both subscriptions have the same display name.
|
||||
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
||||
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
||||
@@ -273,9 +271,9 @@ public class SubscriptionUtilTest {
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void getUniqueDisplayNames_phoneNumberIdentical_subscriptoinIdFallback() {
|
||||
public void getUniqueDisplayNames_phoneNumberIdentical_subscriptionIdFallback() {
|
||||
// TODO have three here from the same carrier
|
||||
// Both subscriptoins have the same display name.
|
||||
// Both subscriptions have the same display name.
|
||||
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
||||
final SubscriptionInfo info3 = mock(SubscriptionInfo.class);
|
||||
@@ -464,8 +462,8 @@ public class SubscriptionUtilTest {
|
||||
SharedPreferences sp = mock(SharedPreferences.class);
|
||||
when(mContext.getSharedPreferences(
|
||||
KEY_UNIQUE_SUBSCRIPTION_DISPLAYNAME, Context.MODE_PRIVATE)).thenReturn(sp);
|
||||
when(sp.getString(eq(SUB_ID + SUBID_1), anyString())).thenReturn(CARRIER_1 + "6789");
|
||||
when(sp.getString(eq(SUB_ID + SUBID_2), anyString())).thenReturn(CARRIER_1 + "4321");
|
||||
when(sp.getString(eq(SUB_ID + SUBID_1), anyString())).thenReturn(CARRIER_1 + " 6789");
|
||||
when(sp.getString(eq(SUB_ID + SUBID_2), anyString())).thenReturn(CARRIER_1 + " 4321");
|
||||
|
||||
|
||||
final CharSequence nameOfSub1 =
|
||||
@@ -475,8 +473,41 @@ public class SubscriptionUtilTest {
|
||||
|
||||
assertThat(nameOfSub1).isNotNull();
|
||||
assertThat(nameOfSub2).isNotNull();
|
||||
assertEquals(CARRIER_1 + "6789", nameOfSub1.toString());
|
||||
assertEquals(CARRIER_1 + "4321", nameOfSub2.toString());
|
||||
assertEquals(CARRIER_1 + " 6789", nameOfSub1.toString());
|
||||
assertEquals(CARRIER_1 + " 4321", nameOfSub2.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getUniqueDisplayName_hasRecordAndNameIsChanged_doesNotUseRecordBeTheResult() {
|
||||
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
||||
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
||||
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||
when(info2.getDisplayName()).thenReturn(CARRIER_2);
|
||||
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(
|
||||
Arrays.asList(info1, info2));
|
||||
|
||||
SharedPreferences sp = mock(SharedPreferences.class);
|
||||
SharedPreferences.Editor editor = mock(SharedPreferences.Editor.class);
|
||||
when(mContext.getSharedPreferences(
|
||||
KEY_UNIQUE_SUBSCRIPTION_DISPLAYNAME, Context.MODE_PRIVATE)).thenReturn(sp);
|
||||
when(sp.edit()).thenReturn(editor);
|
||||
when(editor.remove(anyString())).thenReturn(editor);
|
||||
|
||||
when(sp.getString(eq(SUB_ID + SUBID_1), anyString())).thenReturn(CARRIER_1 + " 6789");
|
||||
when(sp.getString(eq(SUB_ID + SUBID_2), anyString())).thenReturn(CARRIER_1 + " 4321");
|
||||
|
||||
|
||||
final CharSequence nameOfSub1 =
|
||||
SubscriptionUtil.getUniqueSubscriptionDisplayName(info1, mContext);
|
||||
final CharSequence nameOfSub2 =
|
||||
SubscriptionUtil.getUniqueSubscriptionDisplayName(info2, mContext);
|
||||
|
||||
assertThat(nameOfSub1).isNotNull();
|
||||
assertThat(nameOfSub2).isNotNull();
|
||||
assertEquals(CARRIER_1 + " 6789", nameOfSub1.toString());
|
||||
assertEquals(CARRIER_2.toString(), nameOfSub2.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -501,4 +532,60 @@ public class SubscriptionUtilTest {
|
||||
|
||||
assertTrue(SubscriptionUtil.isSimHardwareVisible(mContext));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidCachedDisplayName_matchesRule1_returnTrue() {
|
||||
String originalName = "originalName";
|
||||
String cacheString = "originalName 1234";
|
||||
|
||||
assertThat(SubscriptionUtil.isValidCachedDisplayName(cacheString, originalName)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidCachedDisplayName_matchesRule2_returnTrue() {
|
||||
String originalName = "original Name";
|
||||
String cacheString = originalName + " " + 1234;
|
||||
|
||||
assertThat(SubscriptionUtil.isValidCachedDisplayName(cacheString, originalName)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidCachedDisplayName_nameIsEmpty1_returnFalse() {
|
||||
String originalName = "original Name";
|
||||
String cacheString = "";
|
||||
|
||||
assertThat(SubscriptionUtil.isValidCachedDisplayName(cacheString, originalName)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidCachedDisplayName_nameIsEmpty2_returnFalse() {
|
||||
String originalName = "";
|
||||
String cacheString = "originalName 1234";
|
||||
|
||||
assertThat(SubscriptionUtil.isValidCachedDisplayName(cacheString, originalName)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidCachedDisplayName_nameIsDifferent_returnFalse() {
|
||||
String originalName = "original Name";
|
||||
String cacheString = "originalName 1234";
|
||||
|
||||
assertThat(SubscriptionUtil.isValidCachedDisplayName(cacheString, originalName)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidCachedDisplayName_noNumber_returnFalse() {
|
||||
String originalName = "original Name";
|
||||
String cacheString = originalName;
|
||||
|
||||
assertThat(SubscriptionUtil.isValidCachedDisplayName(cacheString, originalName)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidCachedDisplayName_noSpace_returnFalse() {
|
||||
String originalName = "original Name";
|
||||
String cacheString = originalName;
|
||||
|
||||
assertThat(SubscriptionUtil.isValidCachedDisplayName(cacheString, originalName)).isFalse();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user