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

Commit 355703ff 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

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



Change-Id: I8a557af22db770cd86dfa0512f6963f04c44039c
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents d6152373 cba16c6f
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.