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

Commit d6fe424b authored by Jayachandran C's avatar Jayachandran C
Browse files

Skip data stall recovery during voice call

This CL also sets the last recovery time early to avoid race issues

Bug: 141207103
Test: atest frameworks/opt/telephony/tests/telephonytests/
Change-Id: Icf0bb52ccf174b1e791f358d1ab3d94d696b2711
parent e12e6a29
Loading
Loading
Loading
Loading
+9 −1
Original line number Original line Diff line number Diff line
@@ -4688,11 +4688,20 @@ public class DcTracker extends Handler {
                return false;
                return false;
            }
            }


            // Skip recovery if it can cause a call to drop
            if (mInVoiceCall && getRecoveryAction() > RECOVERY_ACTION_CLEANUP) {
                if (VDBG_STALL) log("skip data stall recovery as there is an active call");
                return false;
            }

            // Allow recovery if data is expected to work
            // Allow recovery if data is expected to work
            return mAttached.get() && isDataAllowed(null);
            return mAttached.get() && isDataAllowed(null);
        }
        }


        private void triggerRecovery() {
        private void triggerRecovery() {
            // Updating the recovery start time early to avoid race when
            // the message is being processed in the Queue
            mTimeLastRecoveryStartMs = SystemClock.elapsedRealtime();
            sendMessage(obtainMessage(DctConstants.EVENT_DO_RECOVERY));
            sendMessage(obtainMessage(DctConstants.EVENT_DO_RECOVERY));
        }
        }


@@ -4742,7 +4751,6 @@ public class DcTracker extends Handler {
                            + recoveryAction);
                            + recoveryAction);
                }
                }
                mSentSinceLastRecv = 0;
                mSentSinceLastRecv = 0;
                mTimeLastRecoveryStartMs = SystemClock.elapsedRealtime();
            }
            }
        }
        }