Skip to content
Snippets Groups Projects
Commit 2f1c2023 authored by Marvin Ramin's avatar Marvin Ramin
Browse files

Make VirtualAudioDevice device-aware

Create and use the correct device context when creating
VirtualAudioDevice. This helps ensure audio policies are registered with
the correct context to facilitate device-aware permissions.

Bug: 291737188
Test: n/a
Change-Id: I19046277d8cc439beafa07e55e0f2ed88b86d157
parent 79f9b820
No related branches found
No related tags found
No related merge requests found
......@@ -23,6 +23,7 @@ aconfig_srcjars = [
":android.chre.flags-aconfig-java{.generated_srcjars}",
":android.companion.flags-aconfig-java{.generated_srcjars}",
":android.companion.virtual.flags-aconfig-java{.generated_srcjars}",
":android.companion.virtualdevice.flags-aconfig-java{.generated_srcjars}",
":android.content.flags-aconfig-java{.generated_srcjars}",
":android.content.pm.flags-aconfig-java{.generated_srcjars}",
":android.content.res.flags-aconfig-java{.generated_srcjars}",
......
......@@ -26,6 +26,7 @@ import android.companion.virtual.audio.VirtualAudioDevice;
import android.companion.virtual.camera.VirtualCamera;
import android.companion.virtual.camera.VirtualCameraConfig;
import android.companion.virtual.sensor.VirtualSensor;
import android.companion.virtualdevice.flags.Flags;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
......@@ -351,7 +352,11 @@ public class VirtualDeviceInternal {
@Nullable Executor executor,
@Nullable VirtualAudioDevice.AudioConfigurationChangeCallback callback) {
if (mVirtualAudioDevice == null) {
mVirtualAudioDevice = new VirtualAudioDevice(mContext, mVirtualDevice, display,
Context context = mContext;
if (Flags.deviceAwareRecordAudioPermission()) {
context = mContext.createDeviceContext(getDeviceId());
}
mVirtualAudioDevice = new VirtualAudioDevice(context, mVirtualDevice, display,
executor, callback, () -> mVirtualAudioDevice = null);
}
return mVirtualAudioDevice;
......
......@@ -21,3 +21,11 @@ flag {
description: "Enable discovery of the Virtual Camera HAL without a VINTF entry"
bug: "305170199"
}
flag {
namespace: "virtual_devices"
name: "device_aware_record_audio_permission"
description: "Enable device-aware RECORD_AUDIO permission"
bug: "291737188"
is_fixed_read_only: true
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment