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

Commit 423bcb33 authored by Jack Yu's avatar Jack Yu Committed by Automerger Merge Worker
Browse files

Merge "Added preferred APN logic back to IA APN selection" am: 4e6ce8ba am: 277bdbde

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/1699288

Change-Id: Id4e3402cac45143c84891c30e37b40f189ee6f8c
parents c1d36f5a 277bdbde
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -2202,12 +2202,23 @@ public class DcTracker extends Handler {

    protected void setInitialAttachApn() {
        ApnSetting apnSetting = null;
        int preferredApnSetId = getPreferredApnSetId();
        ArrayList<ApnSetting> allApnSettings = new ArrayList<>();
        if (mPreferredApn != null) {
            // Put the preferred apn at the beginning of the list. It's okay to have a duplicate
            // when later on mAllApnSettings get added. That would not change the selection result.
            allApnSettings.add(mPreferredApn);
        }
        allApnSettings.addAll(mAllApnSettings);

        // Get the allowed APN types for initial attach. Note that if none of the APNs has the
        // allowed APN types, then the initial attach will not be performed.
        List<Integer> allowedApnTypes = getAllowedInitialAttachApnTypes();
        for (int allowedApnType : allowedApnTypes) {
            apnSetting = mAllApnSettings.stream()
            apnSetting = allApnSettings.stream()
                    .filter(apn -> apn.canHandleType(allowedApnType))
                    .filter(apn -> (apn.getApnSetId() == preferredApnSetId
                            || apn.getApnSetId() == Telephony.Carriers.MATCH_ALL_APN_SET_ID))
                    .findFirst()
                    .orElse(null);
            if (apnSetting != null) break;