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