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

Commit a1127157 authored by Cassie's avatar Cassie
Browse files

Stop and abort network scan if modem resets.

Bug: 131184265
Test: Manual test
Change-Id: I74eeef3d86273f425d232f64b85515ef3e7f20ed
parent f1f6618a
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -66,10 +66,12 @@ public final class NetworkScanRequestTracker {
    private static final int EVENT_STOP_NETWORK_SCAN_DONE = 5;
    private static final int CMD_INTERRUPT_NETWORK_SCAN = 6;
    private static final int EVENT_INTERRUPT_NETWORK_SCAN_DONE = 7;
    private static final int EVENT_MODEM_RESET = 8;

    private final Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            Log.d(TAG, "Received Event :" + msg.what);
            switch (msg.what) {
                case CMD_START_NETWORK_SCAN:
                    mScheduler.doStartScan((NetworkScanRequestInfo) msg.obj);
@@ -98,6 +100,14 @@ public final class NetworkScanRequestTracker {
                case EVENT_INTERRUPT_NETWORK_SCAN_DONE:
                    mScheduler.interruptScanDone((AsyncResult) msg.obj);
                    break;

                case EVENT_MODEM_RESET:
                    AsyncResult ar = (AsyncResult) msg.obj;
                    mScheduler.deleteScanAndMayNotify(
                            (NetworkScanRequestInfo) ar.userObj,
                            NetworkScan.ERROR_MODEM_ERROR,
                            true);
                    break;
            }
        }
    };
@@ -556,6 +566,7 @@ public final class NetworkScanRequestTracker {
                mLiveRequestInfo = nsri;
                nsri.mPhone.startNetworkScan(nsri.getRequest(),
                        mHandler.obtainMessage(EVENT_START_NETWORK_SCAN_DONE, nsri));
                nsri.mPhone.mCi.registerForModemReset(mHandler, EVENT_MODEM_RESET, nsri);
                return true;
            }
            return false;
@@ -575,6 +586,7 @@ public final class NetworkScanRequestTracker {
                                null);
                    }
                }
                mLiveRequestInfo.mPhone.mCi.unregisterForModemReset(mHandler);
                mLiveRequestInfo = null;
                if (mPendingRequestInfo != null) {
                    startNewScan(mPendingRequestInfo);