Avoid unnecessary Html.fromHtml()

Check if string contains html tag, before call Html.fromHtml()

Fix: 308681068
Test: atest SubscriptionsPreferenceControllerTest
Test: atest ProviderModelSliceHelperTest NetworkProviderWorkerTest
Test: manual - on Internet page
Change-Id: Id914689f2861a8c997d18afd03ecfdf47b91c631
This commit is contained in:
Chaohui Wang
2023-11-09 15:04:23 +08:00
parent 62e64c592e
commit d8b21d7846
7 changed files with 116 additions and 60 deletions

View File

@@ -42,7 +42,6 @@ import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.Html;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
@@ -56,7 +55,6 @@ import com.android.settings.wifi.slice.WifiSliceItem;
import com.android.wifitrackerlib.WifiEntry;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -166,11 +164,9 @@ public class ProviderModelSliceHelperTest {
assertThat(testItem).isNull();
}
@Ignore
@Test
public void createCarrierRow_hasDdsAndActiveNetworkIsNotCellular_verifyTitleAndSummary() {
String expectDisplayName = "Name1";
CharSequence expectedSubtitle = Html.fromHtml("5G", Html.FROM_HTML_MODE_LEGACY);
String networkType = "5G";
mockConnections(true, ServiceState.STATE_IN_SERVICE, expectDisplayName,
true, true);
@@ -180,19 +176,17 @@ public class ProviderModelSliceHelperTest {
networkType);
assertThat(testRowBuild.getTitle()).isEqualTo(expectDisplayName);
assertThat(testRowBuild.getSubtitle()).isEqualTo(expectedSubtitle);
assertThat(testRowBuild.getSubtitle()).isEqualTo("5G");
}
@Ignore
@Test
public void createCarrierRow_wifiOnhasDdsAndActiveNetworkIsCellular_verifyTitleAndSummary() {
String expectDisplayName = "Name1";
String networkType = "5G";
String connectedText = ResourcesUtils.getResourcesString(mContext,
"mobile_data_connection_active");
CharSequence expectedSubtitle = Html.fromHtml(ResourcesUtils.getResourcesString(mContext,
"preference_summary_default_combination", connectedText, networkType),
Html.FROM_HTML_MODE_LEGACY);
CharSequence expectedSubtitle = ResourcesUtils.getResourcesString(mContext,
"preference_summary_default_combination", connectedText, networkType);
mockConnections(true, ServiceState.STATE_IN_SERVICE, expectDisplayName,
true, true);
addNetworkTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
@@ -204,13 +198,11 @@ public class ProviderModelSliceHelperTest {
assertThat(testRowBuild.getSubtitle()).isEqualTo(expectedSubtitle);
}
@Ignore
@Test
public void createCarrierRow_noNetworkAvailable_verifyTitleAndSummary() {
String expectDisplayName = "Name1";
CharSequence expectedSubtitle = Html.fromHtml(
ResourcesUtils.getResourcesString(mContext, "mobile_data_no_connection"),
Html.FROM_HTML_MODE_LEGACY);
CharSequence expectedSubtitle =
ResourcesUtils.getResourcesString(mContext, "mobile_data_no_connection");
String networkType = "";
mockConnections(true, ServiceState.STATE_OUT_OF_SERVICE, expectDisplayName,

View File

@@ -53,7 +53,6 @@ import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
import android.text.Html;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LifecycleRegistry;
@@ -266,8 +265,6 @@ public class SubscriptionsPreferenceControllerTest {
@Test
@UiThreadTest
public void displayPreference_providerAndHasMultiSimAndActive_connectedAndRat() {
final CharSequence expectedSummary =
Html.fromHtml("Connected / 5G", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "5G";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -281,14 +278,12 @@ public class SubscriptionsPreferenceControllerTest {
mController.onResume();
mController.displayPreference(mPreferenceScreen);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo("Connected / 5G");
}
@Test
@UiThreadTest
public void displayPreference_providerAndHasMultiSimAndActiveCarrierWifi_connectedAndWPlus() {
final CharSequence expectedSummary =
Html.fromHtml("Connected / W+", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "W+";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -302,7 +297,7 @@ public class SubscriptionsPreferenceControllerTest {
mController.onResume();
mController.displayPreference(mPreferenceScreen);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo("Connected / W+");
}
@Test
@@ -310,8 +305,6 @@ public class SubscriptionsPreferenceControllerTest {
public void displayPreference_providerAndHasMultiSimButMobileDataOff_notAutoConnect() {
final String dataOffSummary =
ResourcesUtils.getResourcesString(mContext, "mobile_data_off_summary");
final CharSequence expectedSummary =
Html.fromHtml(dataOffSummary, Html.FROM_HTML_MODE_LEGACY);
final String networkType = "5G";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -324,14 +317,12 @@ public class SubscriptionsPreferenceControllerTest {
mController.onResume();
mController.displayPreference(mPreferenceScreen);
assertThat(mPreferenceCategory.getPreference(0).getSummary())
.isEqualTo(expectedSummary.toString());
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(dataOffSummary);
}
@Test
@UiThreadTest
public void displayPreference_providerAndHasMultiSimAndNotActive_showRatOnly() {
final CharSequence expectedSummary = Html.fromHtml("5G", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "5G";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -345,7 +336,7 @@ public class SubscriptionsPreferenceControllerTest {
mController.onResume();
mController.displayPreference(mPreferenceScreen);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(networkType);
}
@Test
@@ -362,8 +353,6 @@ public class SubscriptionsPreferenceControllerTest {
@Test
@UiThreadTest
public void onTelephonyDisplayInfoChanged_providerAndHasMultiSimAndActive_connectedAndRat() {
final CharSequence expectedSummary =
Html.fromHtml("Connected / LTE", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "LTE";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
final TelephonyDisplayInfo telephonyDisplayInfo =
@@ -383,14 +372,12 @@ public class SubscriptionsPreferenceControllerTest {
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
telephonyDisplayInfo);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo("Connected / LTE");
}
@Test
@UiThreadTest
public void onTelephonyDisplayInfoChanged_providerAndHasMultiSimAndNotActive_showRat() {
final CharSequence expectedSummary =
Html.fromHtml("LTE", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "LTE";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
final TelephonyDisplayInfo telephonyDisplayInfo =
@@ -409,7 +396,7 @@ public class SubscriptionsPreferenceControllerTest {
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
telephonyDisplayInfo);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(networkType);
}
@Test
@@ -417,8 +404,6 @@ public class SubscriptionsPreferenceControllerTest {
public void onTelephonyDisplayInfoChanged_providerAndHasMultiSimAndOutOfService_noConnection() {
final String noConnectionSummary =
ResourcesUtils.getResourcesString(mContext, "mobile_data_no_connection");
final CharSequence expectedSummary =
Html.fromHtml(noConnectionSummary, Html.FROM_HTML_MODE_LEGACY);
final String networkType = "LTE";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
final TelephonyDisplayInfo telephonyDisplayInfo =
@@ -437,7 +422,8 @@ public class SubscriptionsPreferenceControllerTest {
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
telephonyDisplayInfo);
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
assertThat(mPreferenceCategory.getPreference(0).getSummary())
.isEqualTo(noConnectionSummary);
}
@Test