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

Commit 8d35744f authored by Benedict Wong's avatar Benedict Wong
Browse files

Set TRANSPORT_PRIMARY for VCN NetworkOffers and NetworkAgents

This change sets TRANSPORT_PRIMARY for all NetworkScore objects passed
to ConnectivityService by the VCN. Without this patch, a VCN in safe
mode will never get any NetworkRequests, since the new Policy-based
NetworkRanker always prioritizes a existing satisfier of a network,
regardless of score. However, a higher-priority policy check ensures
that a TRANSPORT_PRIMARY request is used if it exists. This changes the
VCN to utilize that functionality.

Bug: 194122634
Test: atest FrameworksVcnTests
Original-Change: https://android-review.googlesource.com/1772025
Merged-In: I3a298a6c4c594c6e224f3f05764614802c00e9b0
Change-Id: I3a298a6c4c594c6e224f3f05764614802c00e9b0
parent 019189c3
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -596,7 +596,12 @@ public class Vcn extends Handler {
    /** Retrieves the network score for a VCN Network */
    // Package visibility for use in VcnGatewayConnection and VcnNetworkProvider
    static NetworkScore getNetworkScore() {
        return new NetworkScore.Builder().setLegacyInt(VCN_LEGACY_SCORE_INT).build();
        // TODO(b/193687515): Stop setting TRANSPORT_PRIMARY, define a TRANSPORT_VCN, and set in
        //                    NetworkOffer/NetworkAgent.
        return new NetworkScore.Builder()
                .setLegacyInt(VCN_LEGACY_SCORE_INT)
                .setTransportPrimary(true)
                .build();
    }

    /** Callback used for passing status signals from a VcnGatewayConnection to its managing Vcn. */
+2 −2
Original line number Diff line number Diff line
@@ -87,8 +87,8 @@ public class VcnNetworkProviderTest {
                        eq(mVcnNetworkProvider),
                        argThat(
                                score ->
                                        score.getLegacyInt()
                                                == Vcn.getNetworkScore().getLegacyInt()),
                                        score.getLegacyInt() == Vcn.getNetworkScore().getLegacyInt()
                                                && score.isTransportPrimary()),
                        any(),
                        any(),
                        cbCaptor.capture());