Get package name on worker instead of on slice
Bug: 144535188 Test: make -j42 RunSettingsRoboTests Change-Id: I3aa9c7ccf8df23527b8d2b79033c96ec1289c7ea
This commit is contained in:
@@ -18,6 +18,8 @@ package com.android.settings.media;
|
||||
|
||||
import static android.media.AudioManager.STREAM_DEVICES_CHANGED_ACTION;
|
||||
|
||||
import static com.android.settings.media.MediaOutputSlice.MEDIA_PACKAGE_NAME;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -45,8 +47,7 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker
|
||||
private final Context mContext;
|
||||
private final List<MediaDevice> mMediaDevices = new ArrayList<>();
|
||||
private final DevicesChangedBroadcastReceiver mReceiver;
|
||||
|
||||
private String mPackageName;
|
||||
private final String mPackageName;
|
||||
|
||||
@VisibleForTesting
|
||||
LocalMediaManager mLocalMediaManager;
|
||||
@@ -54,13 +55,10 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker
|
||||
public MediaDeviceUpdateWorker(Context context, Uri uri) {
|
||||
super(context, uri);
|
||||
mContext = context;
|
||||
mPackageName = uri.getQueryParameter(MEDIA_PACKAGE_NAME);
|
||||
mReceiver = new DevicesChangedBroadcastReceiver();
|
||||
}
|
||||
|
||||
public void setPackageName(String packageName) {
|
||||
mPackageName = packageName;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSlicePinned() {
|
||||
mMediaDevices.clear();
|
||||
|
@@ -55,16 +55,13 @@ public class MediaOutputSlice implements CustomSliceable {
|
||||
private final Context mContext;
|
||||
|
||||
private MediaDeviceUpdateWorker mWorker;
|
||||
private String mPackageName;
|
||||
|
||||
public MediaOutputSlice(Context context) {
|
||||
mContext = context;
|
||||
mPackageName = getUri().getQueryParameter(MEDIA_PACKAGE_NAME);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void init(String packageName, MediaDeviceUpdateWorker worker) {
|
||||
mPackageName = packageName;
|
||||
mWorker = worker;
|
||||
}
|
||||
|
||||
@@ -129,10 +126,7 @@ public class MediaOutputSlice implements CustomSliceable {
|
||||
|
||||
private MediaDeviceUpdateWorker getWorker() {
|
||||
if (mWorker == null) {
|
||||
mWorker = (MediaDeviceUpdateWorker) SliceBackgroundWorker.getInstance(getUri());
|
||||
if (mWorker != null) {
|
||||
mWorker.setPackageName(mPackageName);
|
||||
}
|
||||
mWorker = SliceBackgroundWorker.getInstance(getUri());
|
||||
}
|
||||
return mWorker;
|
||||
}
|
||||
|
@@ -98,7 +98,6 @@ public class MediaOutputSliceTest {
|
||||
|
||||
mMediaOutputSlice = new MediaOutputSlice(mContext);
|
||||
mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, MEDIA_OUTPUT_SLICE_URI);
|
||||
mMediaDeviceUpdateWorker.setPackageName(TEST_PACKAGE_NAME);
|
||||
mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
|
||||
mMediaDeviceUpdateWorker.mLocalMediaManager = mLocalMediaManager;
|
||||
mMediaOutputSlice.init(TEST_PACKAGE_NAME, mMediaDeviceUpdateWorker);
|
||||
|
Reference in New Issue
Block a user