Loading src/java/com/android/internal/telephony/PhoneSwitcher.java +17 −17 Original line number Diff line number Diff line Loading @@ -399,25 +399,25 @@ public class PhoneSwitcher extends Handler { PhoneConfigurationManager.registerForMultiSimConfigChange( this, EVENT_MULTI_SIM_CONFIG_CHANGED, null); NetworkCapabilities netCap = new NetworkCapabilities(); netCap.addTransportType(TRANSPORT_CELLULAR); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_RCS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_MCX); netCap.setNetworkSpecifier(new MatchAllNetworkSpecifier()); final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() .addTransportType(TRANSPORT_CELLULAR) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL) .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) .addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA) .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_CBS) .addCapability(NetworkCapabilities.NET_CAPABILITY_IA) .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) .addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP) .addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_MCX) .setNetworkSpecifier(new MatchAllNetworkSpecifier()); NetworkFactory networkFactory = new PhoneSwitcherNetworkRequestListener(looper, context, netCap, this); builder.build(), this); // we want to see all requests networkFactory.setScoreFilter(101); networkFactory.register(); Loading src/java/com/android/internal/telephony/dataconnection/DataConnection.java +54 −41 Original line number Diff line number Diff line Loading @@ -1629,8 +1629,9 @@ public class DataConnection extends StateMachine { * @return the {@link NetworkCapabilities} of this data connection. */ public NetworkCapabilities getNetworkCapabilities() { NetworkCapabilities result = new NetworkCapabilities(); result.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); boolean hasInternet = false; if (mApnSetting != null) { final String[] types = ApnSetting.getApnTypesStringFromBitmask( Loading @@ -1644,107 +1645,119 @@ public class DataConnection extends StateMachine { } switch (type) { case PhoneConstants.APN_TYPE_ALL: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); result.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); result.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); result.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); result.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); result.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); result.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); result.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); hasInternet = true; builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); break; } case PhoneConstants.APN_TYPE_DEFAULT: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); hasInternet = true; break; } case PhoneConstants.APN_TYPE_MMS: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); break; } case PhoneConstants.APN_TYPE_SUPL: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); break; } case PhoneConstants.APN_TYPE_DUN: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); break; } case PhoneConstants.APN_TYPE_FOTA: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); break; } case PhoneConstants.APN_TYPE_IMS: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); break; } case PhoneConstants.APN_TYPE_CBS: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); break; } case PhoneConstants.APN_TYPE_IA: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); break; } case PhoneConstants.APN_TYPE_EMERGENCY: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS); break; } case PhoneConstants.APN_TYPE_MCX: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_MCX); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MCX); break; } case PhoneConstants.APN_TYPE_XCAP: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP); break; } default: } } if (hasInternet) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); } // Mark NOT_METERED in the following cases: // 1. All APNs in the APN settings are unmetered. // 2. The non-restricted data is intended for unmetered use only. if ((mUnmeteredUseOnly && !mRestrictedNetworkOverride) || !ApnSettingUtils.isMetered(mApnSetting, mPhone)) { result.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); } else { result.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); } if (result.deduceRestrictedCapability()) { result.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); // TODO: Need to remove the use of hidden API deduceRestrictedCapability if (builder.build().deduceRestrictedCapability()) { builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); } } if (mRestrictedNetworkOverride) { result.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); // don't use dun on restriction-overriden networks. result.removeCapability(NetworkCapabilities.NET_CAPABILITY_DUN); builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_DUN); } result.setLinkDownstreamBandwidthKbps(mDownlinkBandwidth); result.setLinkUpstreamBandwidthKbps(mUplinkBandwidth); builder.setLinkDownstreamBandwidthKbps(mDownlinkBandwidth); builder.setLinkUpstreamBandwidthKbps(mUplinkBandwidth); result.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder() builder.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder() .setSubscriptionId(mSubId).build()); result.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING, !mPhone.getServiceState().getDataRoaming()); if (!mPhone.getServiceState().getDataRoaming()) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING); } if (!mCongestedOverride) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED); } result.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED, !mCongestedOverride); result.setCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED, mUnmeteredOverride); if (mUnmeteredOverride) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED); } result.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED, !mIsSuspended); if (!mIsSuspended) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED); } result.setAdministratorUids(mAdministratorUids); builder.setAdministratorUids(mAdministratorUids); // Check for VCN-specified Network policy before returning NetworkCapabilities result.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED, !isVcnManaged(result)); return result; if (!isVcnManaged(builder.build())) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED); } return builder.build(); } /** Loading src/java/com/android/internal/telephony/dataconnection/TelephonyNetworkFactory.java +17 −17 Original line number Diff line number Diff line Loading @@ -131,24 +131,24 @@ public class TelephonyNetworkFactory extends NetworkFactory { } private NetworkCapabilities makeNetworkFilter(int subscriptionId) { NetworkCapabilities nc = new NetworkCapabilities(); nc.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_RCS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); nc.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder() final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL) .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) .addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA) .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_CBS) .addCapability(NetworkCapabilities.NET_CAPABILITY_IA) .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) .addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP) .addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder() .setSubscriptionId(subscriptionId).build()); return nc; return builder.build(); } private class InternalHandler extends Handler { Loading Loading
src/java/com/android/internal/telephony/PhoneSwitcher.java +17 −17 Original line number Diff line number Diff line Loading @@ -399,25 +399,25 @@ public class PhoneSwitcher extends Handler { PhoneConfigurationManager.registerForMultiSimConfigChange( this, EVENT_MULTI_SIM_CONFIG_CHANGED, null); NetworkCapabilities netCap = new NetworkCapabilities(); netCap.addTransportType(TRANSPORT_CELLULAR); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_RCS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); netCap.addCapability(NetworkCapabilities.NET_CAPABILITY_MCX); netCap.setNetworkSpecifier(new MatchAllNetworkSpecifier()); final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() .addTransportType(TRANSPORT_CELLULAR) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL) .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) .addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA) .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_CBS) .addCapability(NetworkCapabilities.NET_CAPABILITY_IA) .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) .addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP) .addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_MCX) .setNetworkSpecifier(new MatchAllNetworkSpecifier()); NetworkFactory networkFactory = new PhoneSwitcherNetworkRequestListener(looper, context, netCap, this); builder.build(), this); // we want to see all requests networkFactory.setScoreFilter(101); networkFactory.register(); Loading
src/java/com/android/internal/telephony/dataconnection/DataConnection.java +54 −41 Original line number Diff line number Diff line Loading @@ -1629,8 +1629,9 @@ public class DataConnection extends StateMachine { * @return the {@link NetworkCapabilities} of this data connection. */ public NetworkCapabilities getNetworkCapabilities() { NetworkCapabilities result = new NetworkCapabilities(); result.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); boolean hasInternet = false; if (mApnSetting != null) { final String[] types = ApnSetting.getApnTypesStringFromBitmask( Loading @@ -1644,107 +1645,119 @@ public class DataConnection extends StateMachine { } switch (type) { case PhoneConstants.APN_TYPE_ALL: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); result.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); result.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); result.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); result.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); result.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); result.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); result.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); hasInternet = true; builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); break; } case PhoneConstants.APN_TYPE_DEFAULT: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); hasInternet = true; break; } case PhoneConstants.APN_TYPE_MMS: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); break; } case PhoneConstants.APN_TYPE_SUPL: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); break; } case PhoneConstants.APN_TYPE_DUN: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); break; } case PhoneConstants.APN_TYPE_FOTA: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); break; } case PhoneConstants.APN_TYPE_IMS: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); break; } case PhoneConstants.APN_TYPE_CBS: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); break; } case PhoneConstants.APN_TYPE_IA: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); break; } case PhoneConstants.APN_TYPE_EMERGENCY: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS); break; } case PhoneConstants.APN_TYPE_MCX: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_MCX); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MCX); break; } case PhoneConstants.APN_TYPE_XCAP: { result.addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP); break; } default: } } if (hasInternet) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); } // Mark NOT_METERED in the following cases: // 1. All APNs in the APN settings are unmetered. // 2. The non-restricted data is intended for unmetered use only. if ((mUnmeteredUseOnly && !mRestrictedNetworkOverride) || !ApnSettingUtils.isMetered(mApnSetting, mPhone)) { result.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); } else { result.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); } if (result.deduceRestrictedCapability()) { result.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); // TODO: Need to remove the use of hidden API deduceRestrictedCapability if (builder.build().deduceRestrictedCapability()) { builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); } } if (mRestrictedNetworkOverride) { result.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); // don't use dun on restriction-overriden networks. result.removeCapability(NetworkCapabilities.NET_CAPABILITY_DUN); builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_DUN); } result.setLinkDownstreamBandwidthKbps(mDownlinkBandwidth); result.setLinkUpstreamBandwidthKbps(mUplinkBandwidth); builder.setLinkDownstreamBandwidthKbps(mDownlinkBandwidth); builder.setLinkUpstreamBandwidthKbps(mUplinkBandwidth); result.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder() builder.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder() .setSubscriptionId(mSubId).build()); result.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING, !mPhone.getServiceState().getDataRoaming()); if (!mPhone.getServiceState().getDataRoaming()) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING); } if (!mCongestedOverride) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED); } result.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED, !mCongestedOverride); result.setCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED, mUnmeteredOverride); if (mUnmeteredOverride) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED); } result.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED, !mIsSuspended); if (!mIsSuspended) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED); } result.setAdministratorUids(mAdministratorUids); builder.setAdministratorUids(mAdministratorUids); // Check for VCN-specified Network policy before returning NetworkCapabilities result.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED, !isVcnManaged(result)); return result; if (!isVcnManaged(builder.build())) { builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED); } return builder.build(); } /** Loading
src/java/com/android/internal/telephony/dataconnection/TelephonyNetworkFactory.java +17 −17 Original line number Diff line number Diff line Loading @@ -131,24 +131,24 @@ public class TelephonyNetworkFactory extends NetworkFactory { } private NetworkCapabilities makeNetworkFilter(int subscriptionId) { NetworkCapabilities nc = new NetworkCapabilities(); nc.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_DUN); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_IA); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_RCS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED); nc.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); nc.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder() final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL) .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) .addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA) .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_CBS) .addCapability(NetworkCapabilities.NET_CAPABILITY_IA) .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) .addCapability(NetworkCapabilities.NET_CAPABILITY_XCAP) .addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder() .setSubscriptionId(subscriptionId).build()); return nc; return builder.build(); } private class InternalHandler extends Handler { Loading