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

Commit 284c99db authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Prevent modifying mAudioPolicies during iteration" am: aded5264 am:...

Merge "Prevent modifying mAudioPolicies during iteration" am: aded5264 am: 439bed36 am: 1b202c9a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2214962



Change-Id: I9d1fb243b924b7894d8591399cbdb58dba237257
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents fe4b48c2 1b202c9a
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1535,6 +1535,7 @@ public class AudioService extends IAudioService.Stub
        }
        synchronized (mAudioPolicies) {
            ArrayList<AudioPolicyProxy> invalidProxies = new ArrayList<>();
            for (AudioPolicyProxy policy : mAudioPolicies.values()) {
                final int status = policy.connectMixes();
                if (status != AudioSystem.SUCCESS) {
@@ -1542,7 +1543,7 @@ public class AudioService extends IAudioService.Stub
                    Log.e(TAG, "onAudioServerDied: error "
                            + AudioSystem.audioSystemErrorToString(status)
                            + " when connecting mixes for policy " + policy.toLogFriendlyString());
                    policy.release();
                    invalidProxies.add(policy);
                } else {
                    final int deviceAffinitiesStatus = policy.setupDeviceAffinities();
                    if (deviceAffinitiesStatus != AudioSystem.SUCCESS) {
@@ -1550,10 +1551,12 @@ public class AudioService extends IAudioService.Stub
                                + AudioSystem.audioSystemErrorToString(deviceAffinitiesStatus)
                                + " when connecting device affinities for policy "
                                + policy.toLogFriendlyString());
                        policy.release();
                        invalidProxies.add(policy);
                    }
                }
            }
            invalidProxies.forEach((policy) -> policy.release());
        }
        // Restore capture policies