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:
@@ -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