Merge "Inject mocks in RemoteVolumeControllerTest via constructor" into main

This commit is contained in:
Treehugger Robot
2024-01-02 14:03:43 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 3 deletions

View File

@@ -16,6 +16,8 @@
package com.android.settings.notification;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.content.Intent;
import android.media.MediaRouter2Manager;
@@ -53,6 +55,7 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem
@VisibleForTesting
static final String SWITCHER_PREFIX = "OUTPUT_SWITCHER";
@Nullable
private PreferenceCategory mPreferenceCategory;
private final List<RoutingSessionInfo> mRoutingSessionInfos = new ArrayList<>();
@@ -61,6 +64,7 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem
@VisibleForTesting
MediaRouter2Manager mRouterManager;
// Called via reflection from BasePreferenceController#createInstance().
public RemoteVolumeGroupController(Context context, String preferenceKey) {
super(context, preferenceKey);
if (mLocalMediaManager == null) {
@@ -71,6 +75,19 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem
mRouterManager = MediaRouter2Manager.getInstance(context);
}
@VisibleForTesting
/* package */ RemoteVolumeGroupController(
@NonNull Context context,
@NonNull String preferenceKey,
@NonNull LocalMediaManager localMediaManager,
@NonNull MediaRouter2Manager mediaRouter2Manager) {
super(context, preferenceKey);
mLocalMediaManager = localMediaManager;
mRouterManager = mediaRouter2Manager;
mLocalMediaManager.registerCallback(this);
mLocalMediaManager.startScan();
}
@Override
public int getAvailabilityStatus() {
if (mRoutingSessionInfos.isEmpty()) {

View File

@@ -103,9 +103,9 @@ public class RemoteVolumeGroupControllerTest {
mContext = spy(RuntimeEnvironment.application);
doReturn(mMediaSessionManager).when(mContext).getSystemService(
Context.MEDIA_SESSION_SERVICE);
mController = new RemoteVolumeGroupController(mContext, KEY_REMOTE_VOLUME_GROUP);
mController.mLocalMediaManager = mLocalMediaManager;
mController.mRouterManager = mRouterManager;
mController =
new RemoteVolumeGroupController(
mContext, KEY_REMOTE_VOLUME_GROUP, mLocalMediaManager, mRouterManager);
mPreferenceCategory = spy(new PreferenceCategory(mContext));
mPreferenceCategory.setKey(mController.getPreferenceKey());