Fix fail to search by input "4G Calling"
Fixed step: 1.Update resource xml file in SearchIndexProvider. 2.Add keywords for preference title array. 3.Initizlize data member. When getAvailabilityStatus called by updateNonIndexableKeys, the data member should be initialized, otherwise it always returns CONDITIONALLY_UNAVAILABLE Fixes: 137155154 Test: manual Change-Id: Id06d78bffdeba247741dcfe81e9ed7e179141397
This commit is contained in:
@@ -7437,6 +7437,9 @@
|
||||
<!-- Battery Saver: Search terms for battery saver schedule preference. Feel free to add additional terms when translating if appropriate [CHAR_LIMIT=NONE] -->
|
||||
<string name="keywords_battery_saver_schedule">routine, schedule, battery saver, power saver, battery, automatic, percent</string>
|
||||
|
||||
<!-- List of synonyms for the enhance 4G LTE titles, used to match in settings search [CHAR LIMIT=NONE] -->
|
||||
<string name="keywords_enhance_4g_lte">volte, advanced calling, 4g calling</string>
|
||||
|
||||
<!-- Option title for the default sound, context based on screen -->
|
||||
<string name="default_sound">Default sound</string>
|
||||
|
||||
|
@@ -50,6 +50,7 @@
|
||||
android:title="@string/enhanced_4g_lte_mode_title"
|
||||
android:persistent="false"
|
||||
android:summary="@string/enhanced_4g_lte_mode_summary"
|
||||
settings:keywords="@string/keywords_enhance_4g_lte"
|
||||
settings:controller="com.android.settings.network.telephony.Enhanced4gLtePreferenceController"/>
|
||||
|
||||
<ListPreference
|
||||
|
@@ -21,6 +21,7 @@
|
||||
|
||||
<com.android.settingslib.widget.LayoutPreference
|
||||
android:key="use_sim_switch"
|
||||
android:title="@string/summary_placeholder"
|
||||
android:layout="@layout/styled_switch_bar"
|
||||
settings:controller="com.android.settings.network.telephony.MobileNetworkSwitchController"/>
|
||||
|
||||
@@ -96,6 +97,7 @@
|
||||
android:title="@string/enhanced_4g_lte_mode_title"
|
||||
android:persistent="false"
|
||||
android:summary="@string/enhanced_4g_lte_mode_summary"
|
||||
settings:keywords="@string/keywords_enhance_4g_lte"
|
||||
settings:controller="com.android.settings.network.telephony.Enhanced4gLtePreferenceController"/>
|
||||
|
||||
<ListPreference
|
||||
|
@@ -72,6 +72,7 @@ public class Enhanced4gLtePreferenceController extends TelephonyTogglePreference
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus(int subId) {
|
||||
init(subId);
|
||||
final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
|
||||
final boolean isVisible = subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
|
||||
&& mImsManager != null && carrierConfig != null
|
||||
@@ -105,9 +106,9 @@ public class Enhanced4gLtePreferenceController extends TelephonyTogglePreference
|
||||
super.updateState(preference);
|
||||
final SwitchPreference switchPreference = (SwitchPreference) preference;
|
||||
final boolean show4GForLTE = mCarrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
|
||||
CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
|
||||
int variant4glteTitleIndex = mCarrierConfig.getInt(
|
||||
CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT);
|
||||
CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT);
|
||||
|
||||
if (variant4glteTitleIndex != VARIANT_TITLE_ADVANCED_CALL) {
|
||||
variant4glteTitleIndex = show4GForLTE ? VARIANT_TITLE_4G_CALLING : VARIANT_TITLE_VOLTE;
|
||||
@@ -135,6 +136,9 @@ public class Enhanced4gLtePreferenceController extends TelephonyTogglePreference
|
||||
}
|
||||
|
||||
public Enhanced4gLtePreferenceController init(int subId) {
|
||||
if (mSubId == subId) {
|
||||
return this;
|
||||
}
|
||||
mSubId = subId;
|
||||
mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
|
||||
mCarrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
|
||||
|
@@ -119,7 +119,7 @@ public class MobileNetworkSettings extends RestrictedDashboardFragment {
|
||||
MobileNetworkUtils.getSearchableSubscriptionId(context));
|
||||
|
||||
if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2) &&
|
||||
mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||
mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||
return Arrays.asList(
|
||||
new DataUsageSummaryPreferenceController(getActivity(), getSettingsLifecycle(),
|
||||
this, mSubId));
|
||||
@@ -275,7 +275,10 @@ public class MobileNetworkSettings extends RestrictedDashboardFragment {
|
||||
final ArrayList<SearchIndexableResource> result = new ArrayList<>();
|
||||
|
||||
final SearchIndexableResource sir = new SearchIndexableResource(context);
|
||||
sir.xmlResId = R.xml.mobile_network_settings;
|
||||
sir.xmlResId = FeatureFlagPersistent.isEnabled(context,
|
||||
FeatureFlags.NETWORK_INTERNET_V2)
|
||||
? R.xml.mobile_network_settings_v2
|
||||
: R.xml.mobile_network_settings;
|
||||
result.add(sir);
|
||||
return result;
|
||||
}
|
||||
|
Reference in New Issue
Block a user