Loading core/java/android/companion/virtual/VirtualDeviceManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -445,8 +445,8 @@ public final class VirtualDeviceManager { @Nullable Executor executor, @Nullable AudioConfigurationChangeCallback callback) { if (mVirtualAudioDevice == null) { mVirtualAudioDevice = new VirtualAudioDevice( mContext, mVirtualDevice, display, executor, callback); mVirtualAudioDevice = new VirtualAudioDevice(mContext, mVirtualDevice, display, executor, callback, () -> mVirtualAudioDevice = null); } return mVirtualAudioDevice; } Loading core/java/android/companion/virtual/audio/VirtualAudioDevice.java +19 −1 Original line number Diff line number Diff line Loading @@ -64,11 +64,24 @@ public final class VirtualAudioDevice implements Closeable { void onRecordingConfigChanged(@NonNull List<AudioRecordingConfiguration> configs); } /** * Interface to be notified when {@link #close()} is called. * * @hide */ public interface CloseListener { /** * Notifies when {@link #close()} is called. */ void onClosed(); } private final Context mContext; private final IVirtualDevice mVirtualDevice; private final VirtualDisplay mVirtualDisplay; private final AudioConfigurationChangeCallback mCallback; private final Executor mExecutor; private final CloseListener mListener; @Nullable private VirtualAudioSession mOngoingSession; Loading @@ -77,12 +90,13 @@ public final class VirtualAudioDevice implements Closeable { */ public VirtualAudioDevice(Context context, IVirtualDevice virtualDevice, @NonNull VirtualDisplay virtualDisplay, @Nullable Executor executor, @Nullable AudioConfigurationChangeCallback callback) { @Nullable AudioConfigurationChangeCallback callback, @Nullable CloseListener listener) { mContext = context; mVirtualDevice = virtualDevice; mVirtualDisplay = virtualDisplay; mExecutor = executor; mCallback = callback; mListener = listener; } /** Loading Loading @@ -169,6 +183,10 @@ public final class VirtualAudioDevice implements Closeable { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } if (mListener != null) { mListener.onClosed(); } } } } Loading
core/java/android/companion/virtual/VirtualDeviceManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -445,8 +445,8 @@ public final class VirtualDeviceManager { @Nullable Executor executor, @Nullable AudioConfigurationChangeCallback callback) { if (mVirtualAudioDevice == null) { mVirtualAudioDevice = new VirtualAudioDevice( mContext, mVirtualDevice, display, executor, callback); mVirtualAudioDevice = new VirtualAudioDevice(mContext, mVirtualDevice, display, executor, callback, () -> mVirtualAudioDevice = null); } return mVirtualAudioDevice; } Loading
core/java/android/companion/virtual/audio/VirtualAudioDevice.java +19 −1 Original line number Diff line number Diff line Loading @@ -64,11 +64,24 @@ public final class VirtualAudioDevice implements Closeable { void onRecordingConfigChanged(@NonNull List<AudioRecordingConfiguration> configs); } /** * Interface to be notified when {@link #close()} is called. * * @hide */ public interface CloseListener { /** * Notifies when {@link #close()} is called. */ void onClosed(); } private final Context mContext; private final IVirtualDevice mVirtualDevice; private final VirtualDisplay mVirtualDisplay; private final AudioConfigurationChangeCallback mCallback; private final Executor mExecutor; private final CloseListener mListener; @Nullable private VirtualAudioSession mOngoingSession; Loading @@ -77,12 +90,13 @@ public final class VirtualAudioDevice implements Closeable { */ public VirtualAudioDevice(Context context, IVirtualDevice virtualDevice, @NonNull VirtualDisplay virtualDisplay, @Nullable Executor executor, @Nullable AudioConfigurationChangeCallback callback) { @Nullable AudioConfigurationChangeCallback callback, @Nullable CloseListener listener) { mContext = context; mVirtualDevice = virtualDevice; mVirtualDisplay = virtualDisplay; mExecutor = executor; mCallback = callback; mListener = listener; } /** Loading Loading @@ -169,6 +183,10 @@ public final class VirtualAudioDevice implements Closeable { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } if (mListener != null) { mListener.onClosed(); } } } }