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

Commit 8bd410ff authored by Chen Chen's avatar Chen Chen Committed by Automerger Merge Worker
Browse files

Merge "HeadsetPhoneState: Synchronize startListenForPhoneState to prevent race...

Merge "HeadsetPhoneState: Synchronize startListenForPhoneState to prevent race condition" into tm-dev am: e9676622

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/18084983



Change-Id: I143d46e24fbda17cf774f73ba69e74daa27af01f
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 818f2170 e9676622
Loading
Loading
Loading
Loading
+33 −28
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ public class HeadsetPhoneState {
    private PhoneStateListener mPhoneStateListener;
    private final OnSubscriptionsChangedListener mOnSubscriptionsChangedListener;
    private SignalStrengthUpdateRequest mSignalStrengthUpdateRequest;
    private final Object mPhoneStateListenerLock = new Object();

    HeadsetPhoneState(HeadsetService headsetService) {
        Objects.requireNonNull(headsetService, "headsetService is null");
@@ -145,6 +146,7 @@ public class HeadsetPhoneState {
    }

    private void startListenForPhoneState() {
        synchronized (mPhoneStateListenerLock) {
            if (mPhoneStateListener != null) {
                Log.w(TAG, "startListenForPhoneState, already listening");
                return;
@@ -167,8 +169,10 @@ public class HeadsetPhoneState {
                mTelephonyManager.setSignalStrengthUpdateRequest(mSignalStrengthUpdateRequest);
            }
        }
    }

    private void stopListenForPhoneState() {
        synchronized (mPhoneStateListenerLock) {
            if (mPhoneStateListener == null) {
                Log.i(TAG, "stopListenForPhoneState(), no listener indicates nothing is listening");
                return;
@@ -179,6 +183,7 @@ public class HeadsetPhoneState {
            mPhoneStateListener = null;
            mTelephonyManager.clearSignalStrengthUpdateRequest(mSignalStrengthUpdateRequest);
        }
    }

    int getCindService() {
        return mCindService;