MapClientTest: Pass mock MnsService in constructor

Bug: 319112725
Test: atest MapClientTest
Flag: Exempt, test change
Change-Id: I5270d07ba3ef89a9b87dfb2bf8d65c48e7c54fd9
diff --git a/android/app/src/com/android/bluetooth/mapclient/MapClientService.java b/android/app/src/com/android/bluetooth/mapclient/MapClientService.java
index 0740a6c..4a8bf26 100644
--- a/android/app/src/com/android/bluetooth/mapclient/MapClientService.java
+++ b/android/app/src/com/android/bluetooth/mapclient/MapClientService.java
@@ -74,9 +74,10 @@
     }
 
     @VisibleForTesting
-    MapClientService(Context ctx, Looper looper) {
+    MapClientService(Context ctx, Looper looper, MnsService mnsServer) {
         this(ctx);
         mSmLooper = looper;
+        mMnsServer = mnsServer;
     }
 
     public static boolean isEnabled() {
@@ -329,12 +330,7 @@
         mHandler = new Handler(Looper.getMainLooper());
 
         if (mMnsServer == null) {
-            mMnsServer = MapUtils.newMnsServiceInstance(this);
-            if (mMnsServer == null) {
-                // this can't happen
-                Log.w(TAG, "MnsService is *not* created!");
-                return false;
-            }
+            mMnsServer = new MnsService(this);
         }
 
         removeUncleanAccounts();
diff --git a/android/app/src/com/android/bluetooth/mapclient/MapUtils.java b/android/app/src/com/android/bluetooth/mapclient/MapUtils.java
index 7696484..3848884 100644
--- a/android/app/src/com/android/bluetooth/mapclient/MapUtils.java
+++ b/android/app/src/com/android/bluetooth/mapclient/MapUtils.java
@@ -19,27 +19,17 @@
 import android.os.SystemProperties;
 
 import com.android.bluetooth.Utils;
-import com.android.internal.annotations.VisibleForTesting;
 
 class MapUtils {
-    private static MnsService sMnsService = null;
     private static final String FETCH_MESSAGE_TYPE =
             "persist.bluetooth.pts.mapclient.fetchmessagetype";
     private static final String SEND_MESSAGE_TYPE =
             "persist.bluetooth.pts.mapclient.sendmessagetype";
 
-    @VisibleForTesting
-    static void setMnsService(MnsService service) {
-        sMnsService = service;
-    }
-
     static boolean isSystemUser() {
         return Binder.getCallingUserHandle().isSystem();
     }
 
-    static MnsService newMnsServiceInstance(MapClientService mapClientService) {
-        return (sMnsService == null) ? new MnsService(mapClientService) : sMnsService;
-    }
     static byte fetchMessageType() {
         if (Utils.isPtsTestMode()) {
             return (byte) SystemProperties.getInt(FETCH_MESSAGE_TYPE,
diff --git a/android/app/tests/unit/src/com/android/bluetooth/mapclient/MapClientServiceTest.java b/android/app/tests/unit/src/com/android/bluetooth/mapclient/MapClientServiceTest.java
index bf00923..1fe5d60 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/mapclient/MapClientServiceTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/mapclient/MapClientServiceTest.java
@@ -17,7 +17,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.anyString;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.mock;
@@ -73,7 +72,8 @@
 
         mTestLooper = new TestLooper();
 
-        mService = new MapClientService(targetContext, mTestLooper.getLooper());
+        MnsService mnsServer = null;
+        mService = new MapClientService(targetContext, mTestLooper.getLooper(), mnsServer);
         mService.doStart();
 
         // Try getting the Bluetooth adapter
diff --git a/android/app/tests/unit/src/com/android/bluetooth/mapclient/MapClientTest.java b/android/app/tests/unit/src/com/android/bluetooth/mapclient/MapClientTest.java
index 2e90a81..aef59c7 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/mapclient/MapClientTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/mapclient/MapClientTest.java
@@ -22,6 +22,7 @@
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
+import android.os.Looper;
 import android.os.UserHandle;
 
 import androidx.test.InstrumentationRegistry;
@@ -67,9 +68,9 @@
         TestUtils.setAdapterService(mAdapterService);
         mIsAdapterServiceSet = true;
         when(mAdapterService.getDatabase()).thenReturn(mDatabaseManager);
-        MapUtils.setMnsService(mMockMnsService);
         mIsMapClientServiceStarted = true;
-        mService = new MapClientService(mTargetContext);
+        Looper looper = null;
+        mService = new MapClientService(mTargetContext, looper, mMockMnsService);
         mService.doStart();
         mAdapter = BluetoothAdapter.getDefaultAdapter();
     }