Mock WifiP2pManager.class for WifiP2pSettingsTest

Bug: 214938188
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest

Change-Id: I21bfc1c8303970437ae2641ed0f2f9c16f09b33f
diff --git a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
index 869356f..332cf14 100644
--- a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
@@ -49,7 +49,6 @@
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -68,7 +67,7 @@
 
     private Context mContext;
     private FragmentActivity mActivity;
-    private WifiP2pSettings mFragment;
+    private TestWifiP2pSettings mFragment;
 
     @Mock
     public WifiP2pManager mWifiP2pManager;
@@ -86,8 +85,10 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
+        TestWifiP2pSettings.sMockWifiP2pManager = mWifiP2pManager;
+
         mActivity = Robolectric.setupActivity(FragmentActivity.class);
-        mFragment = new WifiP2pSettings();
+        mFragment = new TestWifiP2pSettings();
         mFragment.mWifiP2pManager = mWifiP2pManager;
         doReturn(mChannel).when(mWifiP2pManager).initialize(any(), any(), any());
         FragmentManager fragmentManager = mActivity.getSupportFragmentManager();
@@ -504,7 +505,6 @@
     }
 
     @Test
-    @Ignore
     public void onActivityCreate_withNullP2pManager_shouldGetP2pManagerAgain() {
         mFragment.mChannel = null; // Reset channel to re-test onActivityCreated flow
         mFragment.mWifiP2pManager = null;
@@ -542,4 +542,13 @@
         wifiP2pDevice.deviceName = "testName";
         mWifiP2pPeer.device = wifiP2pDevice;
     }
+
+    public static class TestWifiP2pSettings extends WifiP2pSettings {
+        static WifiP2pManager sMockWifiP2pManager;
+        @Override
+        protected Object getSystemService(final String name) {
+            if (Context.WIFI_P2P_SERVICE.equals(name)) return sMockWifiP2pManager;
+            return getActivity().getSystemService(name);
+        }
+    }
 }