Merge "Trigger reevaluation of all requests when mobile data state changes" am: 5a2abf1341 am: aa5e3e2164
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1692660 Change-Id: I4ad89c5fbe74176da479baf0ddf0e160bdacc561
This commit is contained in:
@@ -396,6 +396,15 @@ public class Vcn extends Handler {
|
||||
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 =
|
||||
mDeps.newVcnGatewayConnection(
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -388,8 +388,9 @@ public class VcnTest {
|
||||
final ContentObserver contentObserver = captor.getValue();
|
||||
|
||||
// Start VcnGatewayConnections
|
||||
final NetworkRequestListener requestListener = verifyAndGetRequestListener();
|
||||
mVcn.setMobileDataEnabled(startingToggleState);
|
||||
triggerVcnRequestListeners(verifyAndGetRequestListener());
|
||||
triggerVcnRequestListeners(requestListener);
|
||||
final Map<VcnGatewayConnectionConfig, VcnGatewayConnection> gateways =
|
||||
mVcn.getVcnGatewayConnectionConfigMap();
|
||||
|
||||
@@ -411,6 +412,9 @@ public class VcnTest {
|
||||
}
|
||||
}
|
||||
|
||||
if (startingToggleState != endingToggleState) {
|
||||
verify(mVcnNetworkProvider).resendAllRequests(requestListener);
|
||||
}
|
||||
assertEquals(endingToggleState, mVcn.isMobileDataEnabled());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user