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

Commit 8d6abb0a authored by Andre Eisenbach's avatar Andre Eisenbach
Browse files

Do not downgrade filtered scans to opportunistic

Change-Id: I0d8bcffef9951c03607f7f3b25b79557062a9bec
Fixes: 31308591
parent 35b8fc00
Loading
Loading
Loading
Loading
+10 −3
Original line number Original line Diff line number Diff line
@@ -230,7 +230,7 @@ public class ScanManager {
                if (!mScanNative.isOpportunisticScanClient(client)) {
                if (!mScanNative.isOpportunisticScanClient(client)) {
                    mScanNative.configureRegularScanParams();
                    mScanNative.configureRegularScanParams();


                    if (!mScanNative.isFirstMatchScanClient(client)) {
                    if (!mScanNative.isExemptFromScanDowngrade(client)) {
                        Message msg = mHandler.obtainMessage(MSG_SCAN_TIMEOUT);
                        Message msg = mHandler.obtainMessage(MSG_SCAN_TIMEOUT);
                        msg.obj = client;
                        msg.obj = client;
                        // Only one timeout message should exist at any time
                        // Only one timeout message should exist at any time
@@ -526,6 +526,12 @@ public class ScanManager {
            }
            }
        }
        }


        private boolean isExemptFromScanDowngrade(ScanClient client) {
          return isOpportunisticScanClient(client)
              || isFirstMatchScanClient(client)
              || !shouldUseAllPassFilter(client);
        }

        private boolean isOpportunisticScanClient(ScanClient client) {
        private boolean isOpportunisticScanClient(ScanClient client) {
            return client.settings.getScanMode() == ScanSettings.SCAN_MODE_OPPORTUNISTIC;
            return client.settings.getScanMode() == ScanSettings.SCAN_MODE_OPPORTUNISTIC;
        }
        }
@@ -675,8 +681,9 @@ public class ScanManager {


        void regularScanTimeout() {
        void regularScanTimeout() {
            for (ScanClient client : mRegularScanClients) {
            for (ScanClient client : mRegularScanClients) {
                if (!isOpportunisticScanClient(client) && !isFirstMatchScanClient(client)) {
                if (!isExemptFromScanDowngrade(client)) {
                    logd("clientIf set to scan opportunisticly: " + client.clientIf);
                    Log.w(TAG, "Moving scan client to opportunistic (clientIf "
                          + client.clientIf + ")");
                    setOpportunisticScanClient(client);
                    setOpportunisticScanClient(client);
                    client.stats.setScanTimeout();
                    client.stats.setScanTimeout();
                }
                }