Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit beac78f2 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi
Browse files

Spatializer: output listener fires upon registration

Address API council feedback to have the output change listener
report the current output upon registration.

Bug: 203004903
Test: atest SpatializerTest
Change-Id: I858a5efef91ad113d02af6734b7b625460f29634
parent ec74b17a
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -827,8 +827,12 @@ public class Spatializer {

    /**
     * @hide
     * Returns the id of the output stream used for the spatializer effect playback
     * Returns the id of the output stream used for the spatializer effect playback.
     * This getter or associated listener {@link OnSpatializerOutputChangedListener} can be used for
     * handling spatializer output-specific configurations (e.g. disabling speaker post-processing
     * to avoid double-processing of the spatialized path).
     * @return id of the output stream, or 0 if no spatializer playback is active
     * @see #setOnSpatializerOutputChangedListener(Executor, OnSpatializerOutputChangedListener)
     */
    @SystemApi(client = SystemApi.Client.PRIVILEGED_APPS)
    @RequiresPermission(android.Manifest.permission.MODIFY_DEFAULT_AUDIO_EFFECTS)
@@ -865,6 +869,8 @@ public class Spatializer {
            mOutputDispatcher = new SpatializerOutputDispatcherStub();
            try {
                mAm.getService().registerSpatializerOutputCallback(mOutputDispatcher);
                // immediately report the current output
                mOutputDispatcher.dispatchSpatializerOutputChanged(getOutput());
            } catch (RemoteException e) {
                mOutputListener = null;
                mOutputDispatcher = null;