Change the index of enhanced_4g_lte

The carrier app can hide this preference screen by set the carrier
config file and we don't want the settings index this preference screen
when it's hidden. This CL adds this key into non-indexable key list when
the preference screen is hidden.

Bug: 62976860
Test: TeleServiceTests
Change-Id: I72728ada7c2080ee13798bb3563b256e3f768b3f
diff --git a/src/com/android/phone/PhoneSearchIndexablesProvider.java b/src/com/android/phone/PhoneSearchIndexablesProvider.java
index 209d100..1cee227 100644
--- a/src/com/android/phone/PhoneSearchIndexablesProvider.java
+++ b/src/com/android/phone/PhoneSearchIndexablesProvider.java
@@ -36,6 +36,7 @@
 import android.provider.SearchIndexablesContract.RawData;
 import android.provider.SearchIndexablesProvider;
 import android.support.annotation.VisibleForTesting;
+import android.telephony.TelephonyManager;
 import android.telephony.euicc.EuiccManager;
 
 public class PhoneSearchIndexablesProvider extends SearchIndexablesProvider {
@@ -97,6 +98,7 @@
     @Override
     public Cursor queryNonIndexableKeys(String[] projection) {
         MatrixCursor cursor = new MatrixCursor(NON_INDEXABLES_KEYS_COLUMNS);
+
         if (!mUserManager.isAdminUser()) {
             final String[] values = new String[]{"preferred_network_mode_key", "button_roaming_key",
                     "cdma_lte_data_service_key", "enabled_networks_key", "enhanced_4g_lte",
@@ -105,8 +107,13 @@
             for (String nik : values) {
                 cursor.addRow(createNonIndexableRow(nik));
             }
-        } else if (isEuiccSettingsHidden()) {
-            cursor.addRow(createNonIndexableRow("esim_list_profile" /* key */));
+        } else {
+            if (isEuiccSettingsHidden()) {
+                cursor.addRow(createNonIndexableRow("esim_list_profile" /* key */));
+            }
+            if (isEnhanced4gLteHidden()) {
+                cursor.addRow(createNonIndexableRow("enhanced_4g_lte" /* key */));
+            }
         }
         cursor.addRow(createNonIndexableRow("carrier_settings_euicc_key" /* key */));
         return cursor;
@@ -116,6 +123,13 @@
         return !MobileNetworkSettings.showEuiccSettings(getContext());
     }
 
+    @VisibleForTesting boolean isEnhanced4gLteHidden() {
+        TelephonyManager telephonyManager =
+                (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
+        return MobileNetworkSettings
+                .hideEnhanced4gLteSettings(getContext(), telephonyManager.getCarrierConfig());
+    }
+
     private Object[] createNonIndexableRow(String key) {
         final Object[] ref = new Object[NON_INDEXABLES_KEYS_COLUMNS.length];
         ref[COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE] = key;