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();
}