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

Commit 2de82f00 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Trigger reevaluation of all requests when mobile data state changes"...

Merge "Trigger reevaluation of all requests when mobile data state changes" am: 5a2abf13 am: aa5e3e21 am: 0ad647a6 am: 36c49f6d

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1692660

Change-Id: I0be09a5d675830d47f0a6a8dd89b9b5d4f051fa0
parents 1d46d1f7 36c49f6d
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -396,6 +396,15 @@ public class Vcn extends Handler {
                    continue;
                    continue;
                }
                }


                // This should never happen, by virtue of checking for the above check for
                // pre-existing VcnGatewayConnections that satisfy a given request, but if state
                // that affects the satsifying of requests changes, this is theoretically possible.
                if (mVcnGatewayConnections.containsKey(gatewayConnectionConfig)) {
                    Slog.wtf(getLogTag(), "Attempted to bring up VcnGatewayConnection for config "
                            + "with existing VcnGatewayConnection");
                    return;
                }

                final VcnGatewayConnection vcnGatewayConnection =
                final VcnGatewayConnection vcnGatewayConnection =
                        mDeps.newVcnGatewayConnection(
                        mDeps.newVcnGatewayConnection(
                                mVcnContext,
                                mVcnContext,
@@ -467,6 +476,9 @@ public class Vcn extends Handler {
                    }
                    }
                }
                }
            }
            }

            // Trigger re-evaluation of all requests; mobile data state impacts supported caps.
            mVcnContext.getVcnNetworkProvider().resendAllRequests(mRequestListener);
        }
        }
    }
    }


+5 −1
Original line number Original line Diff line number Diff line
@@ -388,8 +388,9 @@ public class VcnTest {
        final ContentObserver contentObserver = captor.getValue();
        final ContentObserver contentObserver = captor.getValue();


        // Start VcnGatewayConnections
        // Start VcnGatewayConnections
        final NetworkRequestListener requestListener = verifyAndGetRequestListener();
        mVcn.setMobileDataEnabled(startingToggleState);
        mVcn.setMobileDataEnabled(startingToggleState);
        triggerVcnRequestListeners(verifyAndGetRequestListener());
        triggerVcnRequestListeners(requestListener);
        final Map<VcnGatewayConnectionConfig, VcnGatewayConnection> gateways =
        final Map<VcnGatewayConnectionConfig, VcnGatewayConnection> gateways =
                mVcn.getVcnGatewayConnectionConfigMap();
                mVcn.getVcnGatewayConnectionConfigMap();


@@ -411,6 +412,9 @@ public class VcnTest {
            }
            }
        }
        }


        if (startingToggleState != endingToggleState) {
            verify(mVcnNetworkProvider).resendAllRequests(requestListener);
        }
        assertEquals(endingToggleState, mVcn.isMobileDataEnabled());
        assertEquals(endingToggleState, mVcn.isMobileDataEnabled());
    }
    }