Fix SMS and Calls preference summary displays empty.
SMS and Calls preference summary set to summary_placeholder in displayPreference's every call. But displayPreference can be called multiple times, so it may result in SMS and Calls preference summary displays empty when refreshSummary is not explicitly called after displayPreference's last call.
Move the summary placeholder setting to layout xml.
Bug: 331874741
Change-Id: I4c6f34dd813fa9a6d7e2c4df2cac279679ee6960
diff --git a/res/xml/mobile_network_settings.xml b/res/xml/mobile_network_settings.xml
index 62a88b7..8b59f80 100644
--- a/res/xml/mobile_network_settings.xml
+++ b/res/xml/mobile_network_settings.xml
@@ -37,6 +37,7 @@
<ListPreference
android:key="calls_preference"
android:title="@string/calls_preference"
+ android:summary="@string/summary_placeholder"
android:enabled="false"
settings:controller="com.android.settings.network.telephony.CallsDefaultSubscriptionController"
settings:allowDividerAbove="true"/>
@@ -44,6 +45,7 @@
<ListPreference
android:key="sms_preference"
android:title="@string/sms_preference"
+ android:summary="@string/summary_placeholder"
android:enabled="false"
settings:controller="com.android.settings.network.telephony.SmsDefaultSubscriptionController"/>
diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
index 206b3a9..8426382 100644
--- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
@@ -112,8 +112,6 @@
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreference = screen.findPreference(getPreferenceKey());
- // Set a summary placeholder to reduce flicker.
- mPreference.setSummaryProvider(pref -> mContext.getString(R.string.summary_placeholder));
updateEntries();
}