Get package name on worker instead of on slice

Bug: 144535188
Test: make -j42 RunSettingsRoboTests
Change-Id: I3aa9c7ccf8df23527b8d2b79033c96ec1289c7ea
This commit is contained in:
hughchen
2019-12-18 19:29:06 +08:00
parent 74d79b5cda
commit 6b3856d5de
3 changed files with 5 additions and 14 deletions

View File

@@ -18,6 +18,8 @@ package com.android.settings.media;
import static android.media.AudioManager.STREAM_DEVICES_CHANGED_ACTION; 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.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -45,8 +47,7 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker
private final Context mContext; private final Context mContext;
private final List<MediaDevice> mMediaDevices = new ArrayList<>(); private final List<MediaDevice> mMediaDevices = new ArrayList<>();
private final DevicesChangedBroadcastReceiver mReceiver; private final DevicesChangedBroadcastReceiver mReceiver;
private final String mPackageName;
private String mPackageName;
@VisibleForTesting @VisibleForTesting
LocalMediaManager mLocalMediaManager; LocalMediaManager mLocalMediaManager;
@@ -54,13 +55,10 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker
public MediaDeviceUpdateWorker(Context context, Uri uri) { public MediaDeviceUpdateWorker(Context context, Uri uri) {
super(context, uri); super(context, uri);
mContext = context; mContext = context;
mPackageName = uri.getQueryParameter(MEDIA_PACKAGE_NAME);
mReceiver = new DevicesChangedBroadcastReceiver(); mReceiver = new DevicesChangedBroadcastReceiver();
} }
public void setPackageName(String packageName) {
mPackageName = packageName;
}
@Override @Override
protected void onSlicePinned() { protected void onSlicePinned() {
mMediaDevices.clear(); mMediaDevices.clear();

View File

@@ -55,16 +55,13 @@ public class MediaOutputSlice implements CustomSliceable {
private final Context mContext; private final Context mContext;
private MediaDeviceUpdateWorker mWorker; private MediaDeviceUpdateWorker mWorker;
private String mPackageName;
public MediaOutputSlice(Context context) { public MediaOutputSlice(Context context) {
mContext = context; mContext = context;
mPackageName = getUri().getQueryParameter(MEDIA_PACKAGE_NAME);
} }
@VisibleForTesting @VisibleForTesting
void init(String packageName, MediaDeviceUpdateWorker worker) { void init(String packageName, MediaDeviceUpdateWorker worker) {
mPackageName = packageName;
mWorker = worker; mWorker = worker;
} }
@@ -129,10 +126,7 @@ public class MediaOutputSlice implements CustomSliceable {
private MediaDeviceUpdateWorker getWorker() { private MediaDeviceUpdateWorker getWorker() {
if (mWorker == null) { if (mWorker == null) {
mWorker = (MediaDeviceUpdateWorker) SliceBackgroundWorker.getInstance(getUri()); mWorker = SliceBackgroundWorker.getInstance(getUri());
if (mWorker != null) {
mWorker.setPackageName(mPackageName);
}
} }
return mWorker; return mWorker;
} }

View File

@@ -98,7 +98,6 @@ public class MediaOutputSliceTest {
mMediaOutputSlice = new MediaOutputSlice(mContext); mMediaOutputSlice = new MediaOutputSlice(mContext);
mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, MEDIA_OUTPUT_SLICE_URI); mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, MEDIA_OUTPUT_SLICE_URI);
mMediaDeviceUpdateWorker.setPackageName(TEST_PACKAGE_NAME);
mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices); mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
mMediaDeviceUpdateWorker.mLocalMediaManager = mLocalMediaManager; mMediaDeviceUpdateWorker.mLocalMediaManager = mLocalMediaManager;
mMediaOutputSlice.init(TEST_PACKAGE_NAME, mMediaDeviceUpdateWorker); mMediaOutputSlice.init(TEST_PACKAGE_NAME, mMediaDeviceUpdateWorker);