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

Commit 4ce658aa authored by Jack Yu's avatar Jack Yu Committed by Automerger Merge Worker
Browse files

Fixed another out of boundary exception in data retry manager am: e75c2588

parents b4d12d81 e75c2588
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2456,6 +2456,7 @@ public class DataNetworkController extends Handler {
                request -> !mAllNetworkRequestList.contains(request));
        if (dataSetupRetryEntry.networkRequestList.isEmpty()) {
            loge("onDataNetworkSetupRetry: Request list is empty. Abort retry.");
            dataSetupRetryEntry.setState(DataRetryEntry.RETRY_STATE_CANCELLED);
            return;
        }
        TelephonyNetworkRequest telephonyNetworkRequest =
+15 −5
Original line number Diff line number Diff line
@@ -1483,14 +1483,24 @@ public class DataRetryManager extends Handler {
            if (mDataRetryEntries.get(i) instanceof DataSetupRetryEntry) {
                DataSetupRetryEntry entry = (DataSetupRetryEntry) mDataRetryEntries.get(i);
                if (entry.getState() == DataRetryEntry.RETRY_STATE_NOT_RETRIED
                        && entry.setupRetryType == DataSetupRetryEntry.RETRY_TYPE_NETWORK_REQUESTS
                        && entry.networkRequestList.get(0).getApnTypeNetworkCapability()
                        && entry.setupRetryType
                        == DataSetupRetryEntry.RETRY_TYPE_NETWORK_REQUESTS) {
                    if (entry.networkRequestList.isEmpty()) {
                        String msg = "Invalid data retry entry detected";
                        logl(msg);
                        loge("mDataRetryEntries=" + mDataRetryEntries);
                        AnomalyReporter.reportAnomaly(UUID.fromString(
                                "afeab78c-c0b0-49fc-a51f-f766814d7aa5"), msg);
                        continue;
                    }
                    if (entry.networkRequestList.get(0).getApnTypeNetworkCapability()
                            == networkRequest.getApnTypeNetworkCapability()
                            && entry.transport == transport) {
                        return true;
                    }
                }
            }
        }
        return false;
    }