Upon changing the default SIM card, the radio will create a
new connection to the new subscription. If that subscription
works correctly, the stack will prefer it to the old one as
the new subscription will be marked with a Primary policy
flag it its score.
Normally, at this point the old network lingers to give apps
an opportunity to gracefully migrate their connections. But
with some radios, this may have a dramatic effect on the
performance of the new connection.
This patch introduces a flag so that devices with such radios
can be marked. In this case the stack will move to a degraded
mode and eschew the grace delay for apps and give them a hard
break instead, so that the new network can reach a good
performance immediately. Apps with existing connections will
suffer a worse experience.
If there is a request that can only be served by the old
connection, still keep it, as arguably the user still
expects their MMS be sent on the old connection, even if the
new connection doesn't work well until it's done.
Test: new test in this patch, and add relevant tests in both modes
also manually change the value of the flag and run
FrameworksNetTests and CtsNetTestCasesLatestSdk
Bug: 200226979
Change-Id: I4ace82f90e873bf06298cc689bb1d794ed5124bd
43 lines
2.4 KiB
XML
43 lines
2.4 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<!-- Copyright (C) 2021 The Android Open Source Project
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
|
<overlayable name="ServiceConnectivityResourcesConfig">
|
|
<policy type="product|system|vendor">
|
|
<!-- Configuration values for ConnectivityService -->
|
|
<item type="array" name="config_legacy_networktype_restore_timers"/>
|
|
<item type="string" name="config_networkCaptivePortalServerUrl"/>
|
|
<item type="integer" name="config_networkTransitionTimeout"/>
|
|
<item type="array" name="config_wakeonlan_supported_interfaces"/>
|
|
<item type="integer" name="config_networkMeteredMultipathPreference"/>
|
|
<item type="array" name="config_networkSupportedKeepaliveCount"/>
|
|
<item type="integer" name="config_networkAvoidBadWifi"/>
|
|
<item type="array" name="config_protectedNetworks"/>
|
|
<item type="bool" name="config_vehicleInternalNetworkAlwaysRequested"/>
|
|
<item type="integer" name="config_networkWakeupPacketMark"/>
|
|
<item type="integer" name="config_networkWakeupPacketMask"/>
|
|
<item type="integer" name="config_networkNotifySwitchType"/>
|
|
<item type="array" name="config_networkNotifySwitches"/>
|
|
<item type="bool" name="config_ongoingSignInNotification"/>
|
|
<item type="bool" name="config_autoCancelNetworkNotifications"/>
|
|
<item type="bool" name="config_notifyNoInternetAsDialogWhenHighPriority"/>
|
|
<item type="bool" name="config_partialConnectivityNotifiedAsNoInternet"/>
|
|
<item type="drawable" name="stat_notify_wifi_in_range"/>
|
|
<item type="drawable" name="stat_notify_rssi_in_range"/>
|
|
<item type="bool" name="config_cellular_radio_timesharing_capable" />
|
|
</policy>
|
|
</overlayable>
|
|
</resources>
|