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

Commit ad8c32f3 authored by Wink Saville's avatar Wink Saville
Browse files

Set mIsMinInfoReady and mCurrentOtasp before notifcations.

We were sending a notification before setting mIsMinInfoReady and
mCurrentOtasp. This causes a race and it's possible that
OtaUtils.maybeDoOtasp is called before before they are set.
In this case the activation would not occur.

Bug: 3339109
Change-Id: I3baf8992d58af63a5cc07a14cc33157fd1c5aaa3
parent 77c3e4b9
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -443,18 +443,21 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
                    mMin = cdmaSubscription[3];
                    mPrlVersion = cdmaSubscription[4];
                    Log.d(LOG_TAG,"GET_CDMA_SUBSCRIPTION MDN=" + mMdn);

                    mIsMinInfoReady = true;

                    int otaspMode = getOtasp();
                    int oldOtaspMode = mCurrentOtaspMode;
                    mCurrentOtaspMode = otaspMode;

                    // Notify apps subscription info is ready
                    if (cdmaForSubscriptionInfoReadyRegistrants != null) {
                        Log.d(LOG_TAG, "call cdmaForSubscriptionInfoReady.notifyRegistrants()");
                        cdmaForSubscriptionInfoReadyRegistrants.notifyRegistrants();
                    }
                    if (!mIsMinInfoReady) {
                        mIsMinInfoReady = true;
                    }
                    int otaspMode = getOtasp();
                    if (mCurrentOtaspMode != otaspMode) {
                    if (oldOtaspMode != mCurrentOtaspMode) {
                        Log.d(LOG_TAG, "call phone.notifyOtaspChanged old otaspMode=" +
                                mCurrentOtaspMode + " new otaspMode=" + otaspMode);
                        mCurrentOtaspMode = otaspMode;
                                oldOtaspMode + " new otaspMode=" + mCurrentOtaspMode);
                        phone.notifyOtaspChanged(mCurrentOtaspMode);
                    }
                    phone.getIccCard().broadcastIccStateChangedIntent(IccCard.INTENT_VALUE_ICC_IMSI,