Merge "Clean up lifecycle in MobileNetworkSettings" into tm-dev
diff --git a/src/com/android/settings/network/CarrierWifiTogglePreferenceController.java b/src/com/android/settings/network/CarrierWifiTogglePreferenceController.java
index af2c0a5..ce225b4 100644
--- a/src/com/android/settings/network/CarrierWifiTogglePreferenceController.java
+++ b/src/com/android/settings/network/CarrierWifiTogglePreferenceController.java
@@ -23,7 +23,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.Utils;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.wifi.WifiPickerTrackerHelper;
 import com.android.wifitrackerlib.WifiPickerTracker;
@@ -65,7 +64,7 @@
 
     @Override
     public boolean isChecked() {
-        return mWifiPickerTrackerHelper.isCarrierNetworkEnabled(mSubId);
+        return mWifiPickerTrackerHelper.isCarrierNetworkEnabled();
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/WifiPickerTrackerHelper.java b/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
index 1be71c8..3aa7b83 100644
--- a/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
+++ b/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
@@ -117,16 +117,25 @@
     }
 
     /** Return the enabled/disabled state of the carrier network */
-    public boolean isCarrierNetworkEnabled(int subId) {
-        return mWifiManager.isCarrierNetworkOffloadEnabled(subId, true /* merged */);
+    public boolean isCarrierNetworkEnabled() {
+        final MergedCarrierEntry mergedCarrierEntry = mWifiPickerTracker.getMergedCarrierEntry();
+        if (mergedCarrierEntry == null) {
+            Log.e(TAG, "Failed to get MergedCarrierEntry to query enabled status");
+            return false;
+        }
+        final boolean isCarrierNetworkEnabled = mergedCarrierEntry.isEnabled();
+        Log.i(TAG, "isCarrierNetworkEnabled:" + isCarrierNetworkEnabled);
+        return isCarrierNetworkEnabled;
     }
 
     /** Enables/disables the carrier network */
     public void setCarrierNetworkEnabled(boolean enabled) {
         final MergedCarrierEntry mergedCarrierEntry = mWifiPickerTracker.getMergedCarrierEntry();
         if (mergedCarrierEntry == null) {
+            Log.e(TAG, "Unable to get MergedCarrierEntry to set enabled status");
             return;
         }
+        Log.i(TAG, "setCarrierNetworkEnabled:" + enabled);
         mergedCarrierEntry.setEnabled(enabled);
     }
 
diff --git a/tests/unit/src/com/android/settings/network/CarrierWifiTogglePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/CarrierWifiTogglePreferenceControllerTest.java
index 21a8444..480d744 100644
--- a/tests/unit/src/com/android/settings/network/CarrierWifiTogglePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/CarrierWifiTogglePreferenceControllerTest.java
@@ -107,14 +107,14 @@
 
     @Test
     public void isChecked_carrierNetworkEnabled_returnTrue() {
-        doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkEnabled(SUB_ID);
+        doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkEnabled();
 
         assertThat(mController.isChecked()).isEqualTo(true);
     }
 
     @Test
     public void isChecked_carrierNetworkDisabled_returnFalse() {
-        doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkEnabled(SUB_ID);
+        doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkEnabled();
 
         assertThat(mController.isChecked()).isEqualTo(false);
     }
diff --git a/tests/unit/src/com/android/settings/wifi/WifiPickerTrackerHelperTest.java b/tests/unit/src/com/android/settings/wifi/WifiPickerTrackerHelperTest.java
index 1c0cf04..b79dd45 100644
--- a/tests/unit/src/com/android/settings/wifi/WifiPickerTrackerHelperTest.java
+++ b/tests/unit/src/com/android/settings/wifi/WifiPickerTrackerHelperTest.java
@@ -24,7 +24,6 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyLong;
-import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
@@ -135,14 +134,13 @@
 
     @Test
     public void isCarrierNetworkEnabled_returnCorrect() {
-        doReturn(true).when(mWifiManager).isCarrierNetworkOffloadEnabled(SUB_ID, true /* merged */);
+        when(mMergedCarrierEntry.isEnabled()).thenReturn(true);
 
-        assertThat(mWifiPickerTrackerHelper.isCarrierNetworkEnabled(SUB_ID)).isTrue();
+        assertThat(mWifiPickerTrackerHelper.isCarrierNetworkEnabled()).isTrue();
 
-        doReturn(false).when(mWifiManager)
-                .isCarrierNetworkOffloadEnabled(SUB_ID, true /* merged */);
+        when(mMergedCarrierEntry.isEnabled()).thenReturn(false);
 
-        assertThat(mWifiPickerTrackerHelper.isCarrierNetworkEnabled(SUB_ID)).isFalse();
+        assertThat(mWifiPickerTrackerHelper.isCarrierNetworkEnabled()).isFalse();
     }
 
     @Test