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

Commit e8fdb23b authored by Pengquan Meng's avatar Pengquan Meng Committed by android-build-merger
Browse files

Merge "MSIM: Fix flex map related issues" am: b58557f8

am: 872ba3b9

Change-Id: I1a84f3b1893ee0f39f5067fa74cf2a64c7f82b98
parents 9e28a996 872ba3b9
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -335,7 +335,10 @@ public class ProxyController {
    private void onStartRadioCapabilityResponse(Message msg) {
        synchronized (mSetRadioAccessFamilyStatus) {
            AsyncResult ar = (AsyncResult)msg.obj;
            if (ar.exception != null) {
            // Abort here only in Single SIM case, in Multi SIM cases
            // send FINISH with failure so that below layers can re-bind
            // old logical modems.
            if ((TelephonyManager.getDefault().getPhoneCount() == 1) && (ar.exception != null)) {
                // just abort now.  They didn't take our start so we don't have to revert
                logd("onStartRadioCapabilityResponse got exception=" + ar.exception);
                mRadioCapabilitySessionId = mUniqueIdGenerator.getAndIncrement();
@@ -501,10 +504,14 @@ public class ProxyController {

            // Increment the sessionId as we are completing the transaction below
            // so we don't want it completed when the FINISH phase is done.
            int uniqueDifferentId = mUniqueIdGenerator.getAndIncrement();
            mRadioCapabilitySessionId = mUniqueIdGenerator.getAndIncrement();

            // Reset the status counter as existing session failed
            mRadioAccessFamilyStatusCounter = 0;

            // send FINISH request with fail status and then uniqueDifferentId
            mTransactionFailed = true;
            issueFinish(uniqueDifferentId);
            issueFinish(mRadioCapabilitySessionId);
        }
    }

@@ -519,8 +526,10 @@ public class ProxyController {
                        i,
                        sessionId,
                        RadioCapability.RC_PHASE_FINISH,
                        mOldRadioAccessFamily[i],
                        mCurrentLogicalModemIds[i],
                        (mTransactionFailed ? mOldRadioAccessFamily[i] :
                        mNewRadioAccessFamily[i]),
                        (mTransactionFailed ? mCurrentLogicalModemIds[i] :
                        mNewLogicalModemIds[i]),
                        (mTransactionFailed ? RadioCapability.RC_STATUS_FAIL :
                        RadioCapability.RC_STATUS_SUCCESS),
                        EVENT_FINISH_RC_RESPONSE);