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

Commit d0d90b39 authored by Emma James's avatar Emma James Committed by Automerger Merge Worker
Browse files

Change the call manager listeners to an array to enforce order where classes...

Change the call manager listeners to an array to enforce order where classes rely on the values from others. am: cba16c6f am: eae1767e

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/services/Telecomm/+/18492010



Change-Id: Iee71fb8614a31225af24eba9c46a36f37e7c904a
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 7bb0fee2 eae1767e
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -468,10 +468,11 @@ public class CallAudioManager extends CallsManagerListenerBase {
    @VisibleForTesting
    @VisibleForTesting
    public boolean startRinging() {
    public boolean startRinging() {
        synchronized (mCallsManager.getLock()) {
        synchronized (mCallsManager.getLock()) {
            boolean result = mRinger.startRinging(mForegroundCall,
            Call localForegroundCall = mForegroundCall;
            boolean result = mRinger.startRinging(localForegroundCall,
                    mCallAudioRouteStateMachine.isHfpDeviceAvailable());
                    mCallAudioRouteStateMachine.isHfpDeviceAvailable());
            if (result) {
            if (result) {
                mForegroundCall.setStartRingTime();
                localForegroundCall.setStartRingTime();
            }
            }
            return result;
            return result;
        }
        }
+6 −5
Original line number Original line Diff line number Diff line
@@ -140,6 +140,7 @@ import java.util.Optional;
import java.util.Set;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executors;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeUnit;
@@ -343,10 +344,8 @@ public class CallsManager extends Call.ListenerBase
    private RespondViaSmsManager mRespondViaSmsManager;
    private RespondViaSmsManager mRespondViaSmsManager;
    private final Ringer mRinger;
    private final Ringer mRinger;
    private final InCallWakeLockController mInCallWakeLockController;
    private final InCallWakeLockController mInCallWakeLockController;
    // For this set initial table size to 16 because we add 13 listeners in
    private final CopyOnWriteArrayList<CallsManagerListener> mListeners =
    // the CallsManager constructor.
            new CopyOnWriteArrayList<>();
    private final Set<CallsManagerListener> mListeners = Collections.newSetFromMap(
            new ConcurrentHashMap<CallsManagerListener, Boolean>(16, 0.9f, 1));
    private final HeadsetMediaButton mHeadsetMediaButton;
    private final HeadsetMediaButton mHeadsetMediaButton;
    private final WiredHeadsetManager mWiredHeadsetManager;
    private final WiredHeadsetManager mWiredHeadsetManager;
    private final SystemStateHelper mSystemStateHelper;
    private final SystemStateHelper mSystemStateHelper;
@@ -579,7 +578,6 @@ public class CallsManager extends Call.ListenerBase
        mListeners.add(mInCallWakeLockController);
        mListeners.add(mInCallWakeLockController);
        mListeners.add(statusBarNotifier);
        mListeners.add(statusBarNotifier);
        mListeners.add(mCallLogManager);
        mListeners.add(mCallLogManager);
        mListeners.add(mPhoneStateBroadcaster);
        mListeners.add(mInCallController);
        mListeners.add(mInCallController);
        mListeners.add(mCallDiagnosticServiceController);
        mListeners.add(mCallDiagnosticServiceController);
        mListeners.add(mCallAudioManager);
        mListeners.add(mCallAudioManager);
@@ -590,6 +588,9 @@ public class CallsManager extends Call.ListenerBase
        mListeners.add(mProximitySensorManager);
        mListeners.add(mProximitySensorManager);
        mListeners.add(audioProcessingNotification);
        mListeners.add(audioProcessingNotification);


        // this needs to be after the mCallAudioManager
        mListeners.add(mPhoneStateBroadcaster);

        // There is no USER_SWITCHED broadcast for user 0, handle it here explicitly.
        // There is no USER_SWITCHED broadcast for user 0, handle it here explicitly.
        final UserManager userManager = UserManager.get(mContext);
        final UserManager userManager = UserManager.get(mContext);
        // Don't load missed call if it is run in split user model.
        // Don't load missed call if it is run in split user model.