Merge "Update show4GForLTE config"
diff --git a/src/com/android/settings/network/telephony/CdmaOptions.java b/src/com/android/settings/network/telephony/CdmaOptions.java
deleted file mode 100644
index c573128..0000000
--- a/src/com/android/settings/network/telephony/CdmaOptions.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.telephony;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceFragmentCompat;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-
-/**
- * List of Phone-specific settings screens.
- */
-public class CdmaOptions {
-    private static final String LOG_TAG = "CdmaOptions";
-
-    private static final String BUTTON_CDMA_SYSTEM_SELECT_KEY = "cdma_system_select_key";
-    private static final String BUTTON_CDMA_SUBSCRIPTION_KEY = "cdma_subscription_key";
-
-    private PreferenceFragmentCompat mPrefFragment;
-
-    public CdmaOptions(PreferenceFragmentCompat prefFragment, PreferenceScreen prefScreen,
-            int subId) {
-        mPrefFragment = prefFragment;
-    }
-
-    public boolean preferenceTreeClick(Preference preference) {
-        //TODO(b/114749736): handle it in preferenceController and remove this file
-        if (preference.getKey().equals(BUTTON_CDMA_SYSTEM_SELECT_KEY)) {
-            log("preferenceTreeClick: return BUTTON_CDMA_ROAMING_KEY true");
-            return true;
-        }
-        if (preference.getKey().equals(BUTTON_CDMA_SUBSCRIPTION_KEY)) {
-            log("preferenceTreeClick: return CDMA_SUBSCRIPTION_KEY true");
-            return true;
-        }
-        return false;
-    }
-
-    protected void log(String s) {
-        android.util.Log.d(LOG_TAG, s);
-    }
-}
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 46773dc..b077dd5 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -45,7 +45,8 @@
     private PersistableBundle mPersistableBundle;
     private int mSubId;
     private boolean mIsGlobalCdma;
-    private boolean mShow4GForLTE;
+    @VisibleForTesting
+    boolean mShow4GForLTE;
 
     public EnabledNetworkModePreferenceController(Context context, String key) {
         super(context, key);
@@ -111,12 +112,10 @@
                 mTelephonyManager.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE;
         mIsGlobalCdma = isLteOnCdma
                 && mPersistableBundle.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
-        initShow4GForLTE();
-    }
-
-    @VisibleForTesting
-    void initShow4GForLTE() {
-        mShow4GForLTE = MobileNetworkUtils.isShow4GForLTE(mContext);
+        mShow4GForLTE = mPersistableBundle != null
+                ? mPersistableBundle.getBoolean(
+                CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL)
+                : false;
     }
 
     private int getPreferredNetworkMode() {
diff --git a/src/com/android/settings/network/telephony/MobileNetworkUtils.java b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
index e85c917..689799e 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkUtils.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
@@ -386,19 +386,6 @@
         return false;
     }
 
-    public static boolean isShow4GForLTE(Context context) {
-        //TODO(b/117882862): move this to framework
-        try {
-            Context con = context.createPackageContext("com.android.systemui", 0);
-            int id = con.getResources().getIdentifier("config_show4GForLTE",
-                    "bool", "com.android.systemui");
-            return con.getResources().getBoolean(id);
-        } catch (PackageManager.NameNotFoundException e) {
-            Log.e(TAG, "NameNotFoundException for show4GFotLTE");
-            return false;
-        }
-    }
-
     /**
      * Return {@code true} if Tdscdma is supported in current subscription
      */
diff --git a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
index 71df401..02710fb 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
@@ -23,7 +23,6 @@
 
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
@@ -80,8 +79,7 @@
         mPreference = new ListPreference(mContext);
         mPreference.setEntries(R.array.enabled_networks_choices);
         mPreference.setEntryValues(R.array.enabled_networks_values);
-        mController = spy(new EnabledNetworkModePreferenceController(mContext, "enabled_network"));
-        doNothing().when(mController).initShow4GForLTE();
+        mController = new EnabledNetworkModePreferenceController(mContext, "enabled_network");
         mController.init(SUB_ID);
         mPreference.setKey(mController.getPreferenceKey());
     }
@@ -104,6 +102,16 @@
     }
 
     @Test
+    public void init_initShow4GForLTE() {
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL,
+                true);
+
+        mController.init(SUB_ID);
+
+        assertThat(mController.mShow4GForLTE).isTrue();
+    }
+
+    @Test
     public void updateState_updateByNetworkMode() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,