Merge "Use Singleton LocalBluetoothManager in SystemUI" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e55493727d
@@ -108,14 +108,12 @@ public class LocalMediaManager implements BluetoothCallback {
|
||||
new InfoMediaManager(context, packageName, notification, mLocalBluetoothManager);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
LocalMediaManager(Context context, LocalBluetoothManager localBluetoothManager,
|
||||
public LocalMediaManager(Context context, LocalBluetoothManager localBluetoothManager,
|
||||
InfoMediaManager infoMediaManager, String packageName) {
|
||||
mContext = context;
|
||||
mLocalBluetoothManager = localBluetoothManager;
|
||||
mInfoMediaManager = infoMediaManager;
|
||||
mPackageName = packageName;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -44,6 +44,8 @@ import android.widget.LinearLayout;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
import com.android.settingslib.media.InfoMediaManager;
|
||||
import com.android.settingslib.media.LocalMediaManager;
|
||||
import com.android.settingslib.media.MediaDevice;
|
||||
import com.android.systemui.Dependency;
|
||||
@@ -98,6 +100,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
|
||||
private final LinearLayout mMediaCarousel;
|
||||
private final ArrayList<QSMediaPlayer> mMediaPlayers = new ArrayList<>();
|
||||
private final NotificationMediaManager mNotificationMediaManager;
|
||||
private final LocalBluetoothManager mLocalBluetoothManager;
|
||||
private final Executor mBackgroundExecutor;
|
||||
private LocalMediaManager mLocalMediaManager;
|
||||
private MediaDevice mDevice;
|
||||
@@ -157,7 +160,8 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
QSLogger qsLogger,
|
||||
NotificationMediaManager notificationMediaManager,
|
||||
@Background Executor backgroundExecutor
|
||||
@Background Executor backgroundExecutor,
|
||||
@Nullable LocalBluetoothManager localBluetoothManager
|
||||
) {
|
||||
super(context, attrs);
|
||||
mContext = context;
|
||||
@@ -165,6 +169,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
|
||||
mDumpManager = dumpManager;
|
||||
mNotificationMediaManager = notificationMediaManager;
|
||||
mBackgroundExecutor = backgroundExecutor;
|
||||
mLocalBluetoothManager = localBluetoothManager;
|
||||
|
||||
setOrientation(VERTICAL);
|
||||
|
||||
@@ -286,7 +291,9 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
|
||||
|
||||
// Set up listener for device changes
|
||||
// TODO: integrate with MediaTransferManager?
|
||||
mLocalMediaManager = new LocalMediaManager(mContext, null, null);
|
||||
InfoMediaManager imm =
|
||||
new InfoMediaManager(mContext, null, null, mLocalBluetoothManager);
|
||||
mLocalMediaManager = new LocalMediaManager(mContext, mLocalBluetoothManager, imm, null);
|
||||
mLocalMediaManager.startScan();
|
||||
mDevice = mLocalMediaManager.getCurrentConnectedDevice();
|
||||
mLocalMediaManager.registerCallback(mDeviceCallback);
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.systemui.qs;
|
||||
|
||||
import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Rect;
|
||||
@@ -26,6 +27,7 @@ import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
@@ -77,10 +79,11 @@ public class QuickQSPanel extends QSPanel {
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
QSLogger qsLogger,
|
||||
NotificationMediaManager notificationMediaManager,
|
||||
@Background Executor backgroundExecutor
|
||||
@Background Executor backgroundExecutor,
|
||||
@Nullable LocalBluetoothManager localBluetoothManager
|
||||
) {
|
||||
super(context, attrs, dumpManager, broadcastDispatcher, qsLogger, notificationMediaManager,
|
||||
backgroundExecutor);
|
||||
backgroundExecutor, localBluetoothManager);
|
||||
if (mFooter != null) {
|
||||
removeView(mFooter.getView());
|
||||
}
|
||||
@@ -155,8 +158,6 @@ public class QuickQSPanel extends QSPanel {
|
||||
Dependency.get(TunerService.class).removeTunable(mNumTiles);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected String getDumpableTag() {
|
||||
return TAG;
|
||||
|
||||
@@ -32,6 +32,8 @@ import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
import com.android.settingslib.media.InfoMediaManager;
|
||||
import com.android.settingslib.media.LocalMediaManager;
|
||||
import com.android.settingslib.media.MediaDevice;
|
||||
import com.android.settingslib.media.MediaOutputSliceConstants;
|
||||
@@ -106,7 +108,9 @@ public class MediaTransferManager {
|
||||
public MediaTransferManager(Context context) {
|
||||
mContext = context;
|
||||
mActivityStarter = Dependency.get(ActivityStarter.class);
|
||||
mLocalMediaManager = new LocalMediaManager(mContext, null, null);
|
||||
LocalBluetoothManager lbm = Dependency.get(LocalBluetoothManager.class);
|
||||
InfoMediaManager imm = new InfoMediaManager(mContext, null, null, lbm);
|
||||
mLocalMediaManager = new LocalMediaManager(mContext, lbm, imm, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -35,6 +35,7 @@ import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
@@ -85,6 +86,8 @@ public class QSPanelTest extends SysuiTestCase {
|
||||
private NotificationMediaManager mNotificationMediaManager;
|
||||
@Mock
|
||||
private Executor mBackgroundExecutor;
|
||||
@Mock
|
||||
private LocalBluetoothManager mLocalBluetoothManager;
|
||||
|
||||
@Before
|
||||
public void setup() throws Exception {
|
||||
@@ -94,7 +97,8 @@ public class QSPanelTest extends SysuiTestCase {
|
||||
mTestableLooper.runWithLooper(() -> {
|
||||
mMetricsLogger = mDependency.injectMockDependency(MetricsLogger.class);
|
||||
mQsPanel = new QSPanel(mContext, null, mDumpManager, mBroadcastDispatcher,
|
||||
mQSLogger, mNotificationMediaManager, mBackgroundExecutor);
|
||||
mQSLogger, mNotificationMediaManager, mBackgroundExecutor,
|
||||
mLocalBluetoothManager);
|
||||
// Provides a parent with non-zero size for QSPanel
|
||||
mParentView = new FrameLayout(mContext);
|
||||
mParentView.addView(mQsPanel);
|
||||
|
||||
Reference in New Issue
Block a user