Fix the Robolectric Tests Failures

- The ShadowWifiManager class is not working as expected
  - The getSystemService(WifiManager.class) return null when testing

- Use Mockito class instead of Shadow class

Bug: 214906101
Bug: 214938188
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=AllInOneTetherSettingsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest

Change-Id: Ic54af8524fbff1b6ac916ca8e1bcac52f413663a
diff --git a/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java b/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java
index 7dc4613..aec31fc 100644
--- a/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java
@@ -35,6 +35,7 @@
 import android.net.ConnectivityManager;
 import android.net.TetheringManager;
 import android.net.wifi.SoftApConfiguration;
+import android.net.wifi.WifiManager;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.util.FeatureFlagUtils;
@@ -43,27 +44,23 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.FeatureFlags;
-import com.android.settings.testutils.shadow.ShadowWifiManager;
 import com.android.settings.wifi.tether.WifiTetherAutoOffPreferenceController;
 import com.android.settings.wifi.tether.WifiTetherSecurityPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowWifiManager.class})
 public class AllInOneTetherSettingsTest {
     private static final String[] WIFI_REGEXS = {"wifi_regexs"};
     private static final String[] USB_REGEXS = {"usb_regexs"};
@@ -74,6 +71,8 @@
     private AllInOneTetherSettings mAllInOneTetherSettings;
 
     @Mock
+    private WifiManager mWifiManager;
+    @Mock
     private ConnectivityManager mConnectivityManager;
     @Mock
     private TetheringManager mTetheringManager;
@@ -91,6 +90,7 @@
         mContext = spy(RuntimeEnvironment.application);
 
         MockitoAnnotations.initMocks(this);
+        doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
         doReturn(mConnectivityManager)
                 .when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
         doReturn(mTetheringManager)
@@ -178,7 +178,6 @@
     }
 
     @Test
-    @Ignore
     public void createPreferenceControllers_hasAutoOffPreference() {
         assertThat(mAllInOneTetherSettings.createPreferenceControllers(mContext)
                 .stream()
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
index e5d39dd..e0cd780 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -31,6 +31,7 @@
 import android.content.res.Resources;
 import android.net.ConnectivityManager;
 import android.net.TetheringManager;
+import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -43,10 +44,8 @@
 import com.android.settings.core.FeatureFlags;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowFragment;
-import com.android.settings.testutils.shadow.ShadowWifiManager;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -60,7 +59,6 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowWifiManager.class})
 public class WifiTetherSettingsTest {
     private static final String[] WIFI_REGEXS = {"wifi_regexs"};
 
@@ -68,6 +66,8 @@
     private WifiTetherSettings mWifiTetherSettings;
 
     @Mock
+    private WifiManager mWifiManager;
+    @Mock
     private ConnectivityManager mConnectivityManager;
     @Mock
     private UserManager mUserManager;
@@ -79,6 +79,7 @@
         mContext = spy(RuntimeEnvironment.application);
 
         MockitoAnnotations.initMocks(this);
+        doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
         doReturn(mConnectivityManager)
                 .when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
         doReturn(mTetheringManager).when(mContext).getSystemService(Context.TETHERING_SERVICE);
@@ -89,7 +90,6 @@
     }
 
     @Test
-    @Ignore
     public void wifiTetherNonIndexableKeys_tetherAvailable_keysNotReturned() {
         FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         // To let TetherUtil.isTetherAvailable return true, select one of the combinations
@@ -119,7 +119,6 @@
     }
 
     @Test
-    @Ignore
     public void createPreferenceControllers_notEmpty() {
         assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.getPreferenceControllers(mContext))
                 .isNotEmpty();
@@ -152,7 +151,6 @@
     }
 
     @Test
-    @Ignore
     public void createPreferenceControllers_hasAutoOffPreference() {
         assertThat(mWifiTetherSettings.createPreferenceControllers(mContext)
                 .stream()