diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-03-05 20:44:24 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-03-05 20:44:24 +0000 |
commit | 27ea036e6c35594951f2efd0786f078ac3321d63 (patch) | |
tree | ddd448f339a8be00f8fa93981a1472c03d98c8f2 | |
parent | 66eb66dfd96becbf0368392c1e4bca4ce960c98d (diff) | |
parent | dc40c8ab95282559def8001f76bfe95212535e92 (diff) | |
download | telephony-27ea036e6c35594951f2efd0786f078ac3321d63.tar.gz |
Merge cherrypicks of ['googleplex-android-review.googlesource.com/26445667'] into 24Q2-release.
Change-Id: Ia71b7f8df9dfeb5373c37689a61b6a80258e59ea
18 files changed, 306 insertions, 785 deletions
diff --git a/src/java/com/android/internal/telephony/data/DataConfigManager.java b/src/java/com/android/internal/telephony/data/DataConfigManager.java index 6ad89ce15c..0e06dad972 100644 --- a/src/java/com/android/internal/telephony/data/DataConfigManager.java +++ b/src/java/com/android/internal/telephony/data/DataConfigManager.java @@ -1436,18 +1436,6 @@ public class DataConfigManager extends Handler { } /** - * @return The capabilities that network will be forced to mark as cellular transport. - */ - public @NetCapability Set<Integer> getForcedCellularTransportCapabilities() { - String[] forcedCellularTransportCapabilities = mResources.getStringArray( - com.android.internal.R.array.config_force_cellular_transport_capabilities); - - return Arrays.stream(forcedCellularTransportCapabilities) - .map(DataUtils::getNetworkCapabilityFromString) - .collect(Collectors.toSet()); - } - - /** * Log debug messages. * @param s debug messages */ @@ -1555,9 +1543,6 @@ public class DataConfigManager extends Handler { pw.println("isTetheringProfileDisabledForRoaming=" + isTetheringProfileDisabledForRoaming()); pw.println("allowClearInitialAttachDataProfile=" + allowClearInitialAttachDataProfile()); - pw.println("forcedCellularTransportCapabilities=" + getForcedCellularTransportCapabilities() - .stream().map(DataUtils::networkCapabilityToString) - .collect(Collectors.joining(","))); pw.decreaseIndent(); } } diff --git a/src/java/com/android/internal/telephony/data/DataEvaluation.java b/src/java/com/android/internal/telephony/data/DataEvaluation.java index a54884f911..3d10e9cd22 100644 --- a/src/java/com/android/internal/telephony/data/DataEvaluation.java +++ b/src/java/com/android/internal/telephony/data/DataEvaluation.java @@ -346,9 +346,7 @@ public class DataEvaluation { /** Handover max retry stopped but network is not on the preferred transport. */ HANDOVER_RETRY_STOPPED(true), /** BootStrap sim data limit reached. */ - DATA_LIMIT_REACHED(true), - /** Data network connectivity transport not allowed. */ - DATA_NETWORK_TRANSPORT_NOT_ALLOWED(true); + DATA_LIMIT_REACHED(true); private final boolean mIsHardReason; diff --git a/src/java/com/android/internal/telephony/data/DataNetwork.java b/src/java/com/android/internal/telephony/data/DataNetwork.java index 02d2075a8c..0dbbc5c024 100644 --- a/src/java/com/android/internal/telephony/data/DataNetwork.java +++ b/src/java/com/android/internal/telephony/data/DataNetwork.java @@ -314,7 +314,6 @@ public class DataNetwork extends StateMachine { TEAR_DOWN_REASON_ONLY_ALLOWED_SINGLE_NETWORK, TEAR_DOWN_REASON_PREFERRED_DATA_SWITCHED, TEAR_DOWN_REASON_DATA_LIMIT_REACHED, - TEAR_DOWN_REASON_DATA_NETWORK_TRANSPORT_NOT_ALLOWED, }) public @interface TearDownReason {} @@ -414,9 +413,6 @@ public class DataNetwork extends StateMachine { /** Data network tear down due to bootstrap sim data limit reached. */ public static final int TEAR_DOWN_REASON_DATA_LIMIT_REACHED = 31; - /** Data network tear down due to current data network transport mismatch. */ - public static final int TEAR_DOWN_REASON_DATA_NETWORK_TRANSPORT_NOT_ALLOWED = 32; - //********************************************************************************************// // WHENEVER ADD A NEW TEAR DOWN REASON, PLEASE UPDATE DataDeactivateReasonEnum in enums.proto // //********************************************************************************************// @@ -702,11 +698,6 @@ public class DataNetwork extends StateMachine { */ private boolean mLastKnownRoamingState; - /** - * The non-terrestrial status - */ - private final boolean mIsSatellite; - /** The reason that why setting up this data network is allowed. */ private @NonNull DataAllowedReason mDataAllowedReason; @@ -997,8 +988,6 @@ public class DataNetwork extends StateMachine { mTransport = transport; mLastKnownDataNetworkType = getDataNetworkType(); mLastKnownRoamingState = mPhone.getServiceState().getDataRoamingFromRegistration(); - mIsSatellite = mPhone.getServiceState().isUsingNonTerrestrialNetwork() - && transport == AccessNetworkConstants.TRANSPORT_TYPE_WWAN; mDataAllowedReason = dataAllowedReason; dataProfile.setLastSetupTimestamp(SystemClock.elapsedRealtime()); mAttachedNetworkRequestList.addAll(networkRequestList); @@ -2225,26 +2214,11 @@ public class DataNetwork extends StateMachine { } /** - * @return {@code true} if this is a satellite data network. - */ - public boolean isSatellite() { - return mIsSatellite; - } - - /** * Update the network capabilities. */ private void updateNetworkCapabilities() { - final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder(); - - if (mFlags.carrierEnabledSatelliteFlag() && mIsSatellite - && mDataConfigManager.getForcedCellularTransportCapabilities().stream() - .noneMatch(this::hasNetworkCapabilityInNetworkRequests)) { - builder.addTransportType(NetworkCapabilities.TRANSPORT_SATELLITE); - } else { - builder.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); - } - + final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() + .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); boolean roaming = mPhone.getServiceState().getDataRoaming(); builder.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder() @@ -2411,11 +2385,6 @@ public class DataNetwork extends StateMachine { builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); } - // mark the network as restricted when service state is non-terrestrial(satellite network) - if (mFlags.carrierEnabledSatelliteFlag() && mIsSatellite) { - builder.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); - } - // Check if the feature force MMS on IWLAN is enabled. When the feature is enabled, MMS // will be attempted on IWLAN if possible, even if existing cellular networks already // supports IWLAN. @@ -2432,7 +2401,7 @@ public class DataNetwork extends StateMachine { DataProfile dataProfile = mDataNetworkController.getDataProfileManager() .getDataProfileForNetworkRequest(new TelephonyNetworkRequest( new NetworkRequest.Builder().addCapability( - NetworkCapabilities.NET_CAPABILITY_MMS).build(), mPhone, mFlags), + NetworkCapabilities.NET_CAPABILITY_MMS).build(), mPhone), TelephonyManager.NETWORK_TYPE_IWLAN, false, false, false); // If we find another data data profile that can support MMS on IWLAN, then remove // the MMS capability from this cellular network. This will allow IWLAN to be @@ -3821,8 +3790,6 @@ public class DataNetwork extends StateMachine { return "TEAR_DOWN_REASON_PREFERRED_DATA_SWITCHED"; case TEAR_DOWN_REASON_DATA_LIMIT_REACHED: return "TEAR_DOWN_REASON_DATA_LIMIT_REACHED"; - case TEAR_DOWN_REASON_DATA_NETWORK_TRANSPORT_NOT_ALLOWED: - return "TEAR_DOWN_REASON_DATA_NETWORK_TRANSPORT_NOT_ALLOWED"; default: return "UNKNOWN(" + reason + ")"; } diff --git a/src/java/com/android/internal/telephony/data/DataNetworkController.java b/src/java/com/android/internal/telephony/data/DataNetworkController.java index 7eb7c164c7..70d3b23142 100644 --- a/src/java/com/android/internal/telephony/data/DataNetworkController.java +++ b/src/java/com/android/internal/telephony/data/DataNetworkController.java @@ -1455,7 +1455,7 @@ public class DataNetworkController extends Handler { new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); // If we don't skip checking existing network, then we should check If one of the // existing networks can satisfy the internet request, then internet is allowed. if ((!mFeatureFlags.ignoreExistingNetworksForInternetAllowedChecking() @@ -1515,7 +1515,7 @@ public class DataNetworkController extends Handler { new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataEvaluation evaluation = evaluateNetworkRequest(internetRequest, DataEvaluationReason.EXTERNAL_QUERY); return evaluation.getDataDisallowedReasons(); @@ -1535,13 +1535,6 @@ public class DataNetworkController extends Handler { int transport = mAccessNetworksManager.getPreferredTransportByNetworkCapability( networkRequest.getApnTypeNetworkCapability()); - // Check if the request can be satisfied by cellular network or satellite network. - if (mFeatureFlags.carrierEnabledSatelliteFlag() - && !canConnectivityTransportSatisfyNetworkRequest(networkRequest, transport)) { - evaluation.addDataDisallowedReason( - DataDisallowedReason.DATA_NETWORK_TRANSPORT_NOT_ALLOWED); - } - // Bypass all checks for emergency network request. if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) { DataProfile emergencyProfile = mDataProfileManager.getDataProfileForNetworkRequest( @@ -1556,13 +1549,14 @@ public class DataNetworkController extends Handler { evaluation.addDataDisallowedReason(DataDisallowedReason.DATA_THROTTLED); log("Emergency network request is throttled by the previous setup data " + "call response."); + log(evaluation.toString()); + networkRequest.setEvaluation(evaluation); + return evaluation; } - if (!evaluation.containsDisallowedReasons()) { - evaluation.addDataAllowedReason(DataAllowedReason.EMERGENCY_REQUEST); - if (emergencyProfile != null) { - evaluation.setCandidateDataProfile(emergencyProfile); - } + evaluation.addDataAllowedReason(DataAllowedReason.EMERGENCY_REQUEST); + if (emergencyProfile != null) { + evaluation.setCandidateDataProfile(emergencyProfile); } networkRequest.setEvaluation(evaluation); log(evaluation.toString()); @@ -1651,6 +1645,11 @@ public class DataNetworkController extends Handler { evaluation.addDataDisallowedReason(DataDisallowedReason.CDMA_EMERGENCY_CALLBACK_MODE); } + // Check whether data is disallowed while using satellite + if (isDataDisallowedDueToSatellite(networkRequest.getCapabilities())) { + evaluation.addDataDisallowedReason(DataDisallowedReason.SERVICE_OPTION_NOT_SUPPORTED); + } + // Check if only one data network is allowed. if (isOnlySingleDataNetworkAllowed(transport) && !hasCapabilityExemptsFromSinglePdnRule(networkRequest.getCapabilities())) { @@ -1823,7 +1822,7 @@ public class DataNetworkController extends Handler { networkRequestList.add(networkRequest); } } - return DataUtils.getGroupedNetworkRequestList(networkRequestList, mFeatureFlags); + return DataUtils.getGroupedNetworkRequestList(networkRequestList); } /** @@ -1892,26 +1891,10 @@ public class DataNetworkController extends Handler { evaluation.addDataDisallowedReason(DataDisallowedReason.CDMA_EMERGENCY_CALLBACK_MODE); } - // If the network is satellite, then the network must be restricted. - if (mFeatureFlags.carrierEnabledSatelliteFlag()) { - // The IWLAN data network should remain intact even when satellite is connected. - if (dataNetwork.getTransport() != AccessNetworkConstants.TRANSPORT_TYPE_WLAN) { - // On satellite, every data network needs to be restricted. - if (mServiceState.isUsingNonTerrestrialNetwork() - && dataNetwork.getNetworkCapabilities() - .hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) { - evaluation.addDataDisallowedReason( - DataDisallowedReason.DATA_NETWORK_TRANSPORT_NOT_ALLOWED); - } - - // Check if the transport is compatible with the network - if (mServiceState.isUsingNonTerrestrialNetwork() != dataNetwork.isSatellite()) { - // Since we don't support satellite/cellular network handover, we should always - // tear down the network when transport changes. - evaluation.addDataDisallowedReason( - DataDisallowedReason.DATA_NETWORK_TRANSPORT_NOT_ALLOWED); - } - } + // Check whether data is disallowed while using satellite + if (isDataDisallowedDueToSatellite(dataNetwork.getNetworkCapabilities() + .getCapabilities())) { + evaluation.addDataDisallowedReason(DataDisallowedReason.SERVICE_OPTION_NOT_SUPPORTED); } // Check whether data limit reached for bootstrap sim, else re-evaluate based on the timer @@ -2099,65 +2082,6 @@ public class DataNetworkController extends Handler { } /** - * Check if the transport from connectivity service can satisfy the network request. Note the - * transport here is connectivity service's transport (Wifi, cellular, satellite, etc..), not - * the widely used {@link AccessNetworkConstants#TRANSPORT_TYPE_WLAN WLAN}, - * {@link AccessNetworkConstants#TRANSPORT_TYPE_WWAN WWAN} transport in telephony. - * - * @param networkRequest Network request - * @param transport The preferred transport type for the request. The transport here is - * WWAN/WLAN. - * @return {@code true} if the connectivity transport can satisfy the network request, otherwise - * {@code false}. - */ - private boolean canConnectivityTransportSatisfyNetworkRequest( - @NonNull TelephonyNetworkRequest networkRequest, @TransportType int transport) { - // When the device is on satellite, only restricted network request can request network. - if (mServiceState.isUsingNonTerrestrialNetwork() - && networkRequest.getNativeNetworkRequest().hasCapability( - NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) { - return false; - } - - // If the network request does not specify cellular or satellite, then it can be - // satisfied when the device is either on cellular ot satellite. - if (!networkRequest.getNativeNetworkRequest().hasTransport( - NetworkCapabilities.TRANSPORT_CELLULAR) - && !networkRequest.getNativeNetworkRequest().hasTransport( - NetworkCapabilities.TRANSPORT_SATELLITE)) { - return true; - } - - // Check if this is a IWLAN network request. - if (networkRequest.getNativeNetworkRequest().hasTransport( - NetworkCapabilities.TRANSPORT_CELLULAR) - && transport == AccessNetworkConstants.TRANSPORT_TYPE_WLAN) { - // If the cellular request would result in bringing up network on IWLAN, then no - // need to check if the device is using satellite network. - return true; - } - - // As a short term solution, allowing some networks to be always marked as cellular - // transport if certain capabilities are in the network request. - if (networkRequest.getNativeNetworkRequest().hasTransport( - NetworkCapabilities.TRANSPORT_CELLULAR) && Arrays.stream( - networkRequest.getCapabilities()) - .anyMatch(mDataConfigManager.getForcedCellularTransportCapabilities()::contains)) { - return true; - } - - // If the network is cellular, then the request must specify cellular transport. Or if the - // the network is satellite, then the request must specify satellite transport and - // restricted. - return (mServiceState.isUsingNonTerrestrialNetwork() - && networkRequest.getNativeNetworkRequest().hasTransport( - NetworkCapabilities.TRANSPORT_SATELLITE)) - || (!mServiceState.isUsingNonTerrestrialNetwork() - && networkRequest.getNativeNetworkRequest().hasTransport( - NetworkCapabilities.TRANSPORT_CELLULAR)); - } - - /** * tethering and enterprise capabilities are not respected as restricted requests. For a request * with these capabilities, any soft disallowed reasons are honored. * @param networkRequest The network request to evaluate. @@ -2376,8 +2300,6 @@ public class DataNetworkController extends Handler { return DataNetwork.TEAR_DOWN_REASON_HANDOVER_FAILED; case DATA_LIMIT_REACHED: return DataNetwork.TEAR_DOWN_REASON_DATA_LIMIT_REACHED; - case DATA_NETWORK_TRANSPORT_NOT_ALLOWED: - return DataNetwork.TEAR_DOWN_REASON_DATA_NETWORK_TRANSPORT_NOT_ALLOWED; } } return DataNetwork.TEAR_DOWN_REASON_NONE; @@ -3668,7 +3590,7 @@ public class DataNetworkController extends Handler { return true; } - if (oldNri.isNonTerrestrialNetwork() != newNri.isNonTerrestrialNetwork()) { + if (!oldNri.isNonTerrestrialNetwork() && newNri.isNonTerrestrialNetwork()) { return true; } @@ -3725,7 +3647,7 @@ public class DataNetworkController extends Handler { return true; } - if (oldSS.isUsingNonTerrestrialNetwork() != newSS.isUsingNonTerrestrialNetwork()) { + if (oldSS.isUsingNonTerrestrialNetwork() && !newSS.isUsingNonTerrestrialNetwork()) { return true; } @@ -4101,6 +4023,41 @@ public class DataNetworkController extends Handler { } /** + * Check whether data is disallowed while using satellite + * @param capabilities An array of the NetworkCapabilities to be checked + * @return {@code true} if the capabilities contain any capability that are restricted + * while using satellite else {@code false} + */ + private boolean isDataDisallowedDueToSatellite(@NetCapability int[] capabilities) { + if (!mFeatureFlags.carrierEnabledSatelliteFlag()) { + return false; + } + + if (!mServiceState.isUsingNonTerrestrialNetwork()) { + // Device is not connected to satellite + return false; + } + + Set<Integer> restrictedCapabilities = Set.of(NetworkCapabilities.NET_CAPABILITY_INTERNET); + if (Arrays.stream(capabilities).noneMatch(restrictedCapabilities::contains)) { + // Only internet data disallowed while using satellite + return false; + } + + for (NetworkRegistrationInfo nri : mServiceState.getNetworkRegistrationInfoList()) { + if (nri.isNonTerrestrialNetwork() + && nri.getAvailableServices().contains( + NetworkRegistrationInfo.SERVICE_TYPE_DATA)) { + // Data is supported while using satellite + return false; + } + } + + // Data is disallowed while using satellite + return true; + } + + /** * Request network validation. * * Nnetwork validation request is sent to the DataNetwork that matches the network capability diff --git a/src/java/com/android/internal/telephony/data/DataProfileManager.java b/src/java/com/android/internal/telephony/data/DataProfileManager.java index 0da220b057..51fc71babb 100644 --- a/src/java/com/android/internal/telephony/data/DataProfileManager.java +++ b/src/java/com/android/internal/telephony/data/DataProfileManager.java @@ -899,7 +899,7 @@ public class DataProfileManager extends Handler { TelephonyNetworkRequest networkRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); return getDataProfileForNetworkRequest(networkRequest, networkType, mPhone.getServiceState().isUsingNonTerrestrialNetwork(), mDataNetworkController.isEsimBootStrapProvisioningActivated(), diff --git a/src/java/com/android/internal/telephony/data/DataRetryManager.java b/src/java/com/android/internal/telephony/data/DataRetryManager.java index 1fdc1829d4..5933463517 100644 --- a/src/java/com/android/internal/telephony/data/DataRetryManager.java +++ b/src/java/com/android/internal/telephony/data/DataRetryManager.java @@ -1192,7 +1192,7 @@ public class DataRetryManager extends Handler { boolean retryScheduled = false; List<NetworkRequestList> groupedNetworkRequestLists = - DataUtils.getGroupedNetworkRequestList(requestList, mFlags); + DataUtils.getGroupedNetworkRequestList(requestList); for (DataSetupRetryRule retryRule : mDataSetupRetryRuleList) { if (retryRule.isPermanentFailCauseRule() && retryRule.getFailCauses().contains(cause)) { if (dataProfile.getApnSetting() != null) { diff --git a/src/java/com/android/internal/telephony/data/DataUtils.java b/src/java/com/android/internal/telephony/data/DataUtils.java index 2693902099..0dda7b53e5 100644 --- a/src/java/com/android/internal/telephony/data/DataUtils.java +++ b/src/java/com/android/internal/telephony/data/DataUtils.java @@ -41,7 +41,6 @@ import android.telephony.ims.feature.ImsFeature; import android.util.ArrayMap; import com.android.internal.telephony.data.DataNetworkController.NetworkRequestList; -import com.android.internal.telephony.flags.FeatureFlags; import com.android.telephony.Rlog; import java.text.SimpleDateFormat; @@ -407,59 +406,35 @@ public class DataUtils { * Group the network requests into several list that contains the same network capabilities. * * @param networkRequestList The provided network requests. - * @param featureFlags The feature flag. - * * @return The network requests after grouping. */ public static @NonNull List<NetworkRequestList> getGroupedNetworkRequestList( - @NonNull NetworkRequestList networkRequestList, @NonNull FeatureFlags featureFlags) { + @NonNull NetworkRequestList networkRequestList) { + // Key is the capabilities set. + Map<Set<Integer>, NetworkRequestList> requestsMap = new ArrayMap<>(); + for (TelephonyNetworkRequest networkRequest : networkRequestList) { + requestsMap.computeIfAbsent(Arrays.stream(networkRequest.getCapabilities()) + .boxed().collect(Collectors.toSet()), + v -> new NetworkRequestList()).add(networkRequest); + } List<NetworkRequestList> requests = new ArrayList<>(); - if (featureFlags.carrierEnabledSatelliteFlag()) { - record NetworkCapabilitiesKey(Set<Integer> caps, Set<Integer> enterpriseIds, - Set<Integer> transportTypes) { } - - // Key is the combination of capabilities, enterprise ids, and transport types. - Map<NetworkCapabilitiesKey, NetworkRequestList> requestsMap = new ArrayMap<>(); - for (TelephonyNetworkRequest networkRequest : networkRequestList) { - requestsMap.computeIfAbsent(new NetworkCapabilitiesKey( - Arrays.stream(networkRequest.getCapabilities()) - .boxed().collect(Collectors.toSet()), - Arrays.stream(networkRequest.getNativeNetworkRequest() - .getEnterpriseIds()) - .boxed().collect(Collectors.toSet()), - Arrays.stream(networkRequest.getNativeNetworkRequest() - .getTransportTypes()) - .boxed().collect(Collectors.toSet()) - ), - v -> new NetworkRequestList()).add(networkRequest); - } - requests.addAll(requestsMap.values()); - } else { - // Key is the capabilities set. - Map<Set<Integer>, NetworkRequestList> requestsMap = new ArrayMap<>(); - for (TelephonyNetworkRequest networkRequest : networkRequestList) { - requestsMap.computeIfAbsent(Arrays.stream(networkRequest.getCapabilities()) - .boxed().collect(Collectors.toSet()), - v -> new NetworkRequestList()).add(networkRequest); + // Create separate groups for enterprise requests with different enterprise IDs. + for (NetworkRequestList requestList : requestsMap.values()) { + List<TelephonyNetworkRequest> enterpriseRequests = requestList.stream() + .filter(request -> + request.hasCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)) + .collect(Collectors.toList()); + if (enterpriseRequests.isEmpty()) { + requests.add(requestList); + continue; } - // Create separate groups for enterprise requests with different enterprise IDs. - for (NetworkRequestList requestList : requestsMap.values()) { - List<TelephonyNetworkRequest> enterpriseRequests = requestList.stream() - .filter(request -> request.hasCapability( - NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)) - .toList(); - if (enterpriseRequests.isEmpty()) { - requests.add(requestList); - continue; - } - // Key is the enterprise ID - Map<Integer, NetworkRequestList> enterpriseRequestsMap = new ArrayMap<>(); - for (TelephonyNetworkRequest request : enterpriseRequests) { - enterpriseRequestsMap.computeIfAbsent(request.getCapabilityDifferentiator(), - v -> new NetworkRequestList()).add(request); - } - requests.addAll(enterpriseRequestsMap.values()); + // Key is the enterprise ID + Map<Integer, NetworkRequestList> enterpriseRequestsMap = new ArrayMap<>(); + for (TelephonyNetworkRequest request : enterpriseRequests) { + enterpriseRequestsMap.computeIfAbsent(request.getCapabilityDifferentiator(), + v -> new NetworkRequestList()).add(request); } + requests.addAll(enterpriseRequestsMap.values()); } // Sort the requests so the network request list with higher priority will be at the front. return requests.stream() diff --git a/src/java/com/android/internal/telephony/data/PhoneSwitcher.java b/src/java/com/android/internal/telephony/data/PhoneSwitcher.java index 6dd4dd15da..8dc8098aed 100644 --- a/src/java/com/android/internal/telephony/data/PhoneSwitcher.java +++ b/src/java/com/android/internal/telephony/data/PhoneSwitcher.java @@ -17,7 +17,6 @@ package com.android.internal.telephony.data; import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; -import static android.net.NetworkCapabilities.TRANSPORT_SATELLITE; import static android.telephony.CarrierConfigManager.KEY_DATA_SWITCH_VALIDATION_TIMEOUT_LONG; import static android.telephony.SubscriptionManager.DEFAULT_PHONE_INDEX; import static android.telephony.SubscriptionManager.DEFAULT_SUBSCRIPTION_ID; @@ -571,7 +570,6 @@ public class PhoneSwitcher extends Handler { final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() .addTransportType(TRANSPORT_CELLULAR) - .addTransportType(TRANSPORT_SATELLITE) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL) .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) @@ -989,7 +987,7 @@ public class PhoneSwitcher extends Handler { private void onRequestNetwork(NetworkRequest networkRequest) { TelephonyNetworkRequest telephonyNetworkRequest = new TelephonyNetworkRequest( - networkRequest, PhoneFactory.getDefaultPhone(), mFlags); + networkRequest, PhoneFactory.getDefaultPhone()); if (!mNetworkRequestList.contains(telephonyNetworkRequest)) { mNetworkRequestList.add(telephonyNetworkRequest); onEvaluate(REQUESTS_CHANGED, "netRequest"); @@ -998,7 +996,7 @@ public class PhoneSwitcher extends Handler { private void onReleaseNetwork(NetworkRequest networkRequest) { TelephonyNetworkRequest telephonyNetworkRequest = new TelephonyNetworkRequest( - networkRequest, PhoneFactory.getDefaultPhone(), mFlags); + networkRequest, PhoneFactory.getDefaultPhone()); if (mNetworkRequestList.remove(telephonyNetworkRequest)) { onEvaluate(REQUESTS_CHANGED, "netReleased"); collectReleaseNetworkMetrics(networkRequest); diff --git a/src/java/com/android/internal/telephony/data/TelephonyNetworkFactory.java b/src/java/com/android/internal/telephony/data/TelephonyNetworkFactory.java index 99a443d5df..377c21990d 100644 --- a/src/java/com/android/internal/telephony/data/TelephonyNetworkFactory.java +++ b/src/java/com/android/internal/telephony/data/TelephonyNetworkFactory.java @@ -138,7 +138,6 @@ public class TelephonyNetworkFactory extends NetworkFactory { public NetworkCapabilities makeNetworkFilter(int subscriptionId) { final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) - .addTransportType(NetworkCapabilities.TRANSPORT_SATELLITE) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL) .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) @@ -264,7 +263,7 @@ public class TelephonyNetworkFactory extends NetworkFactory { private void onNeedNetworkFor(Message msg) { TelephonyNetworkRequest networkRequest = - new TelephonyNetworkRequest((NetworkRequest) msg.obj, mPhone, mFlags); + new TelephonyNetworkRequest((NetworkRequest) msg.obj, mPhone); boolean shouldApply = mPhoneSwitcher.shouldApplyNetworkRequest( networkRequest, mPhone.getPhoneId()); @@ -290,7 +289,7 @@ public class TelephonyNetworkFactory extends NetworkFactory { private void onReleaseNetworkFor(Message msg) { TelephonyNetworkRequest networkRequest = - new TelephonyNetworkRequest((NetworkRequest) msg.obj, mPhone, mFlags); + new TelephonyNetworkRequest((NetworkRequest) msg.obj, mPhone); boolean applied = mNetworkRequests.get(networkRequest) != AccessNetworkConstants.TRANSPORT_TYPE_INVALID; diff --git a/src/java/com/android/internal/telephony/data/TelephonyNetworkRequest.java b/src/java/com/android/internal/telephony/data/TelephonyNetworkRequest.java index f0ba8d678a..26683020a0 100644 --- a/src/java/com/android/internal/telephony/data/TelephonyNetworkRequest.java +++ b/src/java/com/android/internal/telephony/data/TelephonyNetworkRequest.java @@ -31,7 +31,6 @@ import android.telephony.data.TrafficDescriptor; import android.telephony.data.TrafficDescriptor.OsAppId; import com.android.internal.telephony.Phone; -import com.android.internal.telephony.flags.FeatureFlags; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -183,21 +182,15 @@ public class TelephonyNetworkRequest { /** The data evaluation result. */ private @Nullable DataEvaluation mEvaluation; - /** Feature flag. */ - private final @NonNull FeatureFlags mFeatureFlags; - /** * Constructor * * @param request The native network request from the clients. * @param phone The phone instance - * @param featureFlags The feature flag */ - public TelephonyNetworkRequest(@NonNull NetworkRequest request, @NonNull Phone phone, - @NonNull FeatureFlags featureFlags) { + public TelephonyNetworkRequest(NetworkRequest request, Phone phone) { mPhone = phone; mNativeNetworkRequest = request; - mFeatureFlags = featureFlags; int capabilitiesAttributes = CAPABILITY_ATTRIBUTE_NONE; for (int networkCapability : mNativeNetworkRequest.getCapabilities()) { @@ -281,31 +274,6 @@ public class TelephonyNetworkRequest { if ((hasAttribute(CAPABILITY_ATTRIBUTE_APN_SETTING) || hasAttribute(CAPABILITY_ATTRIBUTE_TRAFFIC_DESCRIPTOR_DNN)) && dataProfile.getApnSetting() != null) { - if (mFeatureFlags.carrierEnabledSatelliteFlag()) { - if (mNativeNetworkRequest.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) - && !mNativeNetworkRequest.hasTransport( - NetworkCapabilities.TRANSPORT_SATELLITE)) { - if (Arrays.stream(getCapabilities()).noneMatch(mDataConfigManager - .getForcedCellularTransportCapabilities()::contains)) { - // If the request is explicitly for the cellular, then the data profile - // needs to support cellular. - if (!dataProfile.getApnSetting().isForInfrastructure( - ApnSetting.INFRASTRUCTURE_CELLULAR)) { - return false; - } - } - } else if (mNativeNetworkRequest.hasTransport( - NetworkCapabilities.TRANSPORT_SATELLITE) - && !mNativeNetworkRequest.hasTransport( - NetworkCapabilities.TRANSPORT_CELLULAR)) { - // If the request is explicitly for the satellite, then the data profile needs - // to support satellite. - if (!dataProfile.getApnSetting().isForInfrastructure( - ApnSetting.INFRASTRUCTURE_SATELLITE)) { - return false; - } - } - } // Fallback to the legacy APN type matching. List<Integer> apnTypes = Arrays.stream(getCapabilities()).boxed() .map(DataUtils::networkCapabilityToApnType) diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/DataNetworkControllerTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/DataNetworkControllerTest.java index 1a046325c7..9423551441 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/data/DataNetworkControllerTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/data/DataNetworkControllerTest.java @@ -182,6 +182,7 @@ public class DataNetworkControllerTest extends TelephonyTest { private LinkBandwidthEstimatorCallback mLinkBandwidthEstimatorCallback; private boolean mIsNonTerrestrialNetwork = false; + private ArrayList<Integer> mCarrierSupportedSatelliteServices = new ArrayList<>(); private FeatureFlags mFeatureFlags; private final DataProfile mGeneralPurposeDataProfile = new DataProfile.Builder() @@ -699,6 +700,7 @@ public class DataNetworkControllerTest extends TelephonyTest { .setDomain(NetworkRegistrationInfo.DOMAIN_PS) .setDataSpecificInfo(dsri) .setIsNonTerrestrialNetwork(mIsNonTerrestrialNetwork) + .setAvailableServices(mCarrierSupportedSatelliteServices) .setEmergencyOnly(isEmergencyOnly) .build()); @@ -708,6 +710,7 @@ public class DataNetworkControllerTest extends TelephonyTest { .setRegistrationState(iwlanRegState) .setDomain(NetworkRegistrationInfo.DOMAIN_PS) .setIsNonTerrestrialNetwork(mIsNonTerrestrialNetwork) + .setAvailableServices(mCarrierSupportedSatelliteServices) .setEmergencyOnly(isEmergencyOnly) .build()); @@ -851,9 +854,6 @@ public class DataNetworkControllerTest extends TelephonyTest { .config_enable_iwlan_handover_policy, true); mContextFixture.putBooleanResource(com.android.internal.R.bool .config_enhanced_iwlan_handover_check, true); - mContextFixture.putStringArrayResource(com.android.internal.R.array - .config_force_cellular_transport_capabilities, - new String[] {"ims", "eims", "xcap"}); } @Before @@ -896,7 +896,6 @@ public class DataNetworkControllerTest extends TelephonyTest { doReturn(PhoneConstants.State.IDLE).when(mCT).getState(); doReturn(new SubscriptionInfoInternal.Builder().setId(1).build()) .when(mSubscriptionManagerService).getSubscriptionInfoInternal(anyInt()); - doReturn(true).when(mFeatureFlags).carrierEnabledSatelliteFlag(); List<SubscriptionInfo> infoList = new ArrayList<>(); infoList.add(mMockSubInfo); @@ -1137,24 +1136,15 @@ public class DataNetworkControllerTest extends TelephonyTest { } private @NonNull TelephonyNetworkRequest createNetworkRequest(Integer... capabilities) { - return createNetworkRequest(false, capabilities); - } - - private @NonNull TelephonyNetworkRequest createNetworkRequest(boolean restricted, - Integer... capabilities) { NetworkCapabilities netCaps = new NetworkCapabilities(); for (int networkCapability : capabilities) { netCaps.addCapability(networkCapability); } - if (restricted) { - netCaps.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); - } - NetworkRequest nativeNetworkRequest = new NetworkRequest(netCaps, ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, NetworkRequest.Type.REQUEST); - return new TelephonyNetworkRequest(nativeNetworkRequest, mPhone, mFeatureFlags); + return new TelephonyNetworkRequest(nativeNetworkRequest, mPhone); } // The purpose of this test is to make sure the network request insertion/removal works as @@ -1415,7 +1405,7 @@ public class DataNetworkControllerTest extends TelephonyTest { netCaps.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); mDataNetworkControllerUT.addNetworkRequest(new TelephonyNetworkRequest( new NetworkRequest(netCaps, ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, - NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags)); + NetworkRequest.Type.REQUEST), mPhone)); processAllMessages(); verifyConnectedNetworkHasCapabilities(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE); List<DataNetwork> dataNetworkList = getDataNetworks(); @@ -1718,124 +1708,73 @@ public class DataNetworkControllerTest extends TelephonyTest { } @Test - public void testIsNetworkRequestSatisfiedByTransportCellularTransportRequest() { + public void testNonTerrestrialNetworkChangedWithoutDataSupport() throws Exception { + when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(true); mIsNonTerrestrialNetwork = true; - - // Data is not supported for cellular transport network request while using satellite - // network + // Data is not supported while using satellite + mCarrierSupportedSatelliteServices.add(NetworkRegistrationInfo.SERVICE_TYPE_VOICE); serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, NetworkRegistrationInfo.REGISTRATION_STATE_HOME); - // Set network request transport as Cellular in satellite network - NetworkCapabilities netCaps = new NetworkCapabilities(); - netCaps.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); - netCaps.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); - netCaps.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); - mDataNetworkControllerUT.addNetworkRequest(new TelephonyNetworkRequest( - new NetworkRequest(netCaps, ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, - NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags)); + mDataNetworkControllerUT.addNetworkRequest( + createNetworkRequest(NetworkCapabilities.NET_CAPABILITY_INTERNET)); processAllMessages(); - // Verify data is not connected since Network request cannot satisfy by transport - verify(mMockedDataNetworkControllerCallback, never()) - .onConnectedInternetDataNetworksChanged(any()); + // Data with internet capability should not be allowed + // when the device is using non-terrestrial network + verifyNoConnectedNetworkHasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); mIsNonTerrestrialNetwork = false; - } - - @Test - public void testIsNetworkRequestSatisfiedByTransportSatelliteTransportRequest_Terrestrial() { - // Set network request transport as satellite in satellite network - NetworkCapabilities netCaps = new NetworkCapabilities(); - netCaps.addTransportType(NetworkCapabilities.TRANSPORT_SATELLITE); - netCaps.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); - netCaps.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); - mDataNetworkControllerUT.addNetworkRequest(new TelephonyNetworkRequest( - new NetworkRequest(netCaps, ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, - NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags)); - processAllMessages(); - - // Verify data is not supported for satellite transport network request while using cellular - verify(mMockedDataNetworkControllerCallback, never()) - .onConnectedInternetDataNetworksChanged(any()); - - } - - @Test - public void testIsNetworkRequestSatisfiedByTransportSatelliteTransportRequest() { - mIsNonTerrestrialNetwork = true; - - // Data is supported for satellite transport network request while using satellite network + mCarrierSupportedSatelliteServices.clear(); serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, NetworkRegistrationInfo.REGISTRATION_STATE_HOME); - // Set network request transport as satellite while using satellite network - NetworkCapabilities netCaps = new NetworkCapabilities(); - netCaps.addTransportType(NetworkCapabilities.TRANSPORT_SATELLITE); - netCaps.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); - netCaps.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); - mDataNetworkControllerUT.addNetworkRequest(new TelephonyNetworkRequest( - new NetworkRequest(netCaps, ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, - NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags)); - processAllMessages(); - - // Verify data is connected since Network request satisfy by transport - verify(mMockedDataNetworkControllerCallback).onConnectedInternetDataNetworksChanged(any()); - - mIsNonTerrestrialNetwork = false; + // Verify data is restored. + verifyInternetConnected(); } @Test - public void testIsNetworkRequestSatisfiedByTransportNoTransportRequest() { + public void testNonTerrestrialNetworkWithDataSupport() throws Exception { + when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(true); mIsNonTerrestrialNetwork = true; - - // Data is supported for no transport network request while using satellite network + // Data is supported while using satellite + mCarrierSupportedSatelliteServices.add(NetworkRegistrationInfo.SERVICE_TYPE_DATA); serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, NetworkRegistrationInfo.REGISTRATION_STATE_HOME); - // Set network request transport as no transport with Internet capability - NetworkCapabilities netCaps = new NetworkCapabilities(); - netCaps.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); - netCaps.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); - mDataNetworkControllerUT.addNetworkRequest(new TelephonyNetworkRequest( - new NetworkRequest(netCaps, ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, - NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags)); + mDataNetworkControllerUT.addNetworkRequest( + createNetworkRequest(NetworkCapabilities.NET_CAPABILITY_INTERNET)); processAllMessages(); - // Verify data is connected since Network request satisfy by transport - verify(mMockedDataNetworkControllerCallback).onConnectedInternetDataNetworksChanged(any()); + // Verify data is connected. + verifyInternetConnected(); mIsNonTerrestrialNetwork = false; + mCarrierSupportedSatelliteServices.clear(); } @Test - public void testIsNetworkCapabilitySatelliteAndCellularCapableImsCellularTransportRequest() - throws Exception { - mIsNonTerrestrialNetwork = true; + public void testNonTerrestrialNetworkWithFlagDisabled() throws Exception { + when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(false); - // IMS PDN is supported for cellular network request while using satellite network + mIsNonTerrestrialNetwork = true; + // Data is not supported while using satellite + mCarrierSupportedSatelliteServices.add(NetworkRegistrationInfo.SERVICE_TYPE_VOICE); serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, NetworkRegistrationInfo.REGISTRATION_STATE_HOME); - // Set network request transport as Cellular + IMS - NetworkCapabilities netCaps = new NetworkCapabilities(); - netCaps.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); - netCaps.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); - netCaps.addCapability(NetworkCapabilities.NET_CAPABILITY_MMTEL); - netCaps.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); - mDataNetworkControllerUT.addNetworkRequest(new TelephonyNetworkRequest( - new NetworkRequest(netCaps, ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, - NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags)); + mDataNetworkControllerUT.addNetworkRequest( + createNetworkRequest(NetworkCapabilities.NET_CAPABILITY_INTERNET)); processAllMessages(); - // Verify ims is connected since, cellular network request for ims is allowed while using - // satellite network - verifyConnectedNetworkHasCapabilities(NetworkCapabilities.NET_CAPABILITY_IMS, - NetworkCapabilities.NET_CAPABILITY_MMTEL); + // As feature is disabled, data is connected. + verifyInternetConnected(); mIsNonTerrestrialNetwork = false; + mCarrierSupportedSatelliteServices.clear(); } + @Test public void testRoamingDataChanged() throws Exception { doReturn(true).when(mServiceState).getDataRoaming(); @@ -3498,7 +3437,7 @@ public class DataNetworkControllerTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); mDataNetworkControllerUT.addNetworkRequest(tnr); processAllMessages(); @@ -3522,7 +3461,7 @@ public class DataNetworkControllerTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); mDataNetworkControllerUT.addNetworkRequest(tnr); processAllMessages(); @@ -3594,7 +3533,7 @@ public class DataNetworkControllerTest extends TelephonyTest { ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, NetworkRequest.Type.REQUEST); mDataNetworkControllerUT.addNetworkRequest( - new TelephonyNetworkRequest(nativeNetworkRequest, mPhone, mFeatureFlags)); + new TelephonyNetworkRequest(nativeNetworkRequest, mPhone)); processAllMessages(); verifyConnectedNetworkHasCapabilities(NetworkCapabilities.NET_CAPABILITY_DUN); @@ -3710,7 +3649,7 @@ public class DataNetworkControllerTest extends TelephonyTest { ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, NetworkRequest.Type.REQUEST); mDataNetworkControllerUT.addNetworkRequest( - new TelephonyNetworkRequest(nativeNetworkRequest, mPhone, mFeatureFlags)); + new TelephonyNetworkRequest(nativeNetworkRequest, mPhone)); processAllMessages(); // Everything should be disconnected. @@ -3748,7 +3687,7 @@ public class DataNetworkControllerTest extends TelephonyTest { ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, NetworkRequest.Type.REQUEST); mDataNetworkControllerUT.addNetworkRequest( - new TelephonyNetworkRequest(nativeNetworkRequest, mPhone, mFeatureFlags)); + new TelephonyNetworkRequest(nativeNetworkRequest, mPhone)); processAllMessages(); // Everything should be disconnected. @@ -3971,7 +3910,7 @@ public class DataNetworkControllerTest extends TelephonyTest { ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, NetworkRequest.Type.REQUEST); mDataNetworkControllerUT.addNetworkRequest( - new TelephonyNetworkRequest(nativeNetworkRequest, mPhone, mFeatureFlags)); + new TelephonyNetworkRequest(nativeNetworkRequest, mPhone)); processAllMessages(); verifyConnectedNetworkHasDataProfile(mGeneralPurposeDataProfile); @@ -3995,7 +3934,7 @@ public class DataNetworkControllerTest extends TelephonyTest { ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, NetworkRequest.Type.REQUEST); mDataNetworkControllerUT.addNetworkRequest( - new TelephonyNetworkRequest(nativeNetworkRequest, mPhone, mFeatureFlags)); + new TelephonyNetworkRequest(nativeNetworkRequest, mPhone)); processAllMessages(); verifyConnectedNetworkHasDataProfile(mGeneralPurposeDataProfile); @@ -4060,7 +3999,7 @@ public class DataNetworkControllerTest extends TelephonyTest { NetworkRequest nativeNetworkRequest = new NetworkRequest(netCaps, ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, NetworkRequest.Type.REQUEST); TelephonyNetworkRequest networkRequest = new TelephonyNetworkRequest( - nativeNetworkRequest, mPhone, mFeatureFlags); + nativeNetworkRequest, mPhone); mDataNetworkControllerUT.addNetworkRequest(networkRequest); @@ -4112,7 +4051,7 @@ public class DataNetworkControllerTest extends TelephonyTest { NetworkRequest nativeNetworkRequest = new NetworkRequest(netCaps, ConnectivityManager.TYPE_MOBILE, ++mNetworkRequestId, NetworkRequest.Type.REQUEST); TelephonyNetworkRequest networkRequest = new TelephonyNetworkRequest( - nativeNetworkRequest, mPhone, mFeatureFlags); + nativeNetworkRequest, mPhone); mDataNetworkControllerUT.addNetworkRequest(networkRequest); processAllMessages(); @@ -4754,12 +4693,11 @@ public class DataNetworkControllerTest extends TelephonyTest { ConnectivityManager.TYPE_MOBILE, 0, NetworkRequest.Type.REQUEST); mDataNetworkControllerUT.addNetworkRequest(new TelephonyNetworkRequest( - nativeNetworkRequest, mPhone, mFeatureFlags)); + nativeNetworkRequest, mPhone)); processAllMessages(); // Intentionally create a new telephony request with the original native network request. - TelephonyNetworkRequest request = new TelephonyNetworkRequest( - nativeNetworkRequest, mPhone, mFeatureFlags); + TelephonyNetworkRequest request = new TelephonyNetworkRequest(nativeNetworkRequest, mPhone); mDataNetworkControllerUT.removeNetworkRequest(request); processAllFutureMessages(); @@ -4850,7 +4788,7 @@ public class DataNetworkControllerTest extends TelephonyTest { new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); processAllMessages(); verifyConnectedNetworkHasCapabilities(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE, NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY); @@ -4859,7 +4797,7 @@ public class DataNetworkControllerTest extends TelephonyTest { new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY) .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); processAllMessages(); List<DataNetwork> dataNetworkList = getDataNetworks(); assertThat(dataNetworkList).hasSize(1); @@ -4929,16 +4867,12 @@ public class DataNetworkControllerTest extends TelephonyTest { @Test public void testNonTerrestrialNetwork() throws Exception { + when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(true); mIsNonTerrestrialNetwork = true; serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, NetworkRegistrationInfo.REGISTRATION_STATE_HOME); mDataNetworkControllerUT.addNetworkRequest( - createNetworkRequest(false, NetworkCapabilities.NET_CAPABILITY_RCS)); - processAllMessages(); - verifyAllDataDisconnected(); - - mDataNetworkControllerUT.addNetworkRequest( - createNetworkRequest(true, NetworkCapabilities.NET_CAPABILITY_RCS)); + createNetworkRequest(NetworkCapabilities.NET_CAPABILITY_RCS)); processAllMessages(); verifyConnectedNetworkHasDataProfile(mNtnDataProfile); } @@ -5097,7 +5031,8 @@ public class DataNetworkControllerTest extends TelephonyTest { } @Test - public void testNtnNetworkOnProvisioningProfileClassWithFlagEnabled() throws Exception { + public void testNtnNetworkOnProvisioningProfileClass_WithFlagEnabled() throws Exception { + when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(true); when(mFeatureFlags.esimBootstrapProvisioningFlag()).thenReturn(true); // Allowed data limit Unlimited mContextFixture.putIntResource(com.android.internal.R.integer @@ -5109,7 +5044,7 @@ public class DataNetworkControllerTest extends TelephonyTest { serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, NetworkRegistrationInfo.REGISTRATION_STATE_HOME); mDataNetworkControllerUT.addNetworkRequest( - createNetworkRequest(true, NetworkCapabilities.NET_CAPABILITY_RCS)); + createNetworkRequest(NetworkCapabilities.NET_CAPABILITY_RCS)); processAllMessages(); assertThat(mDataNetworkControllerUT.isEsimBootStrapProvisioningActivated()).isTrue(); @@ -5118,7 +5053,8 @@ public class DataNetworkControllerTest extends TelephonyTest { } @Test - public void testNonNtnNetworkOnProvisioningProfileClassWithFlagEnabled() throws Exception { + public void testNonNtnNetworkOnProvisioningProfileClass_WithFlagEnabled() throws Exception { + when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(true); when(mFeatureFlags.esimBootstrapProvisioningFlag()).thenReturn(true); doReturn(new SubscriptionInfoInternal.Builder().setId(1) .setProfileClass(SubscriptionManager.PROFILE_CLASS_PROVISIONING).build()) diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/DataNetworkTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/DataNetworkTest.java index 9605951ffc..ebfc41a8d8 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/data/DataNetworkTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/data/DataNetworkTest.java @@ -320,13 +320,13 @@ public class DataNetworkTest extends TelephonyTest { } private void serviceStateChanged(@Annotation.NetworkType int networkType, - @NetworkRegistrationInfo.RegistrationState int regState, boolean isNtn) { - serviceStateChanged(networkType, regState, null, isNtn); + @NetworkRegistrationInfo.RegistrationState int regState) { + serviceStateChanged(networkType, regState, null); } private void serviceStateChanged(@Annotation.NetworkType int networkType, @NetworkRegistrationInfo.RegistrationState int regState, - DataSpecificRegistrationInfo dsri, boolean isNtn) { + DataSpecificRegistrationInfo dsri) { ServiceState ss = new ServiceState(); ss.addNetworkRegistrationInfo(new NetworkRegistrationInfo.Builder() .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN) @@ -334,7 +334,6 @@ public class DataNetworkTest extends TelephonyTest { .setRegistrationState(regState) .setDomain(NetworkRegistrationInfo.DOMAIN_PS) .setDataSpecificInfo(dsri) - .setIsNonTerrestrialNetwork(isNtn) .build()); ss.addNetworkRegistrationInfo(new NetworkRegistrationInfo.Builder() @@ -411,13 +410,9 @@ public class DataNetworkTest extends TelephonyTest { doReturn(FAKE_IMSI).when(mPhone).getSubscriberId(); doReturn(true).when(mDataNetworkController) .isNetworkRequestExisting(any(TelephonyNetworkRequest.class)); - doReturn(Set.of(NetworkCapabilities.NET_CAPABILITY_IMS, - NetworkCapabilities.NET_CAPABILITY_EIMS, NetworkCapabilities.NET_CAPABILITY_XCAP)) - .when(mDataConfigManager).getForcedCellularTransportCapabilities(); - doReturn(true).when(mFeatureFlags).carrierEnabledSatelliteFlag(); serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, false/*isNtn*/); + NetworkRegistrationInfo.REGISTRATION_STATE_HOME); } @After @@ -451,7 +446,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); setSuccessfulSetupDataResponse( mMockedWwanDataServiceManager, 123, Collections.emptyList(), mDefaultQos); @@ -556,13 +551,12 @@ public class DataNetworkTest extends TelephonyTest { .build(); // Out of service serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING, dsri, - false/*isNtn*/); + NetworkRegistrationInfo.REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING, dsri); NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); setSuccessfulSetupDataResponse(mMockedWwanDataServiceManager, 123); @@ -603,8 +597,7 @@ public class DataNetworkTest extends TelephonyTest { .build(); // Out of service serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING, dsri, - false/*isNtn*/); + NetworkRegistrationInfo.REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING, dsri); DataCallResponse response = new DataCallResponse.Builder() .setCause(0) @@ -660,7 +653,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); setSuccessfulSetupDataResponse(mMockedWwanDataServiceManager, 123); mDataNetworkUT = new DataNetwork(mPhone, mFeatureFlags, Looper.myLooper(), @@ -749,7 +742,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); List<TrafficDescriptor> tds = List.of( new TrafficDescriptor(null, new TrafficDescriptor.OsAppId( @@ -784,7 +777,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); List<TrafficDescriptor> tds = List.of( new TrafficDescriptor(null, new TrafficDescriptor.OsAppId( @@ -817,7 +810,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_BANDWIDTH) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); List<TrafficDescriptor> tds = List.of( new TrafficDescriptor(null, new TrafficDescriptor.OsAppId( @@ -850,7 +843,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_CBS) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); List<TrafficDescriptor> tds = List.of( new TrafficDescriptor(null, new TrafficDescriptor.OsAppId( @@ -884,7 +877,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_CBS) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); List<TrafficDescriptor> tds = List.of( new TrafficDescriptor(null, new TrafficDescriptor.OsAppId( @@ -969,7 +962,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); setSuccessfulSetupDataResponse(mMockedWlanDataServiceManager, 123); @@ -1190,7 +1183,7 @@ public class DataNetworkTest extends TelephonyTest { TelephonyNetworkRequest networkRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); networkRequestList.add(networkRequest); SimulatedCommands simulatedCommands2 = mock(SimulatedCommands.class); @@ -1245,7 +1238,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); setSuccessfulSetupDataResponse(mMockedWwanDataServiceManager, 123); @@ -1342,7 +1335,7 @@ public class DataNetworkTest extends TelephonyTest { networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); // Data disabled doReturn(false).when(mDataSettingsManager).isDataEnabled(); @@ -1378,14 +1371,14 @@ public class DataNetworkTest extends TelephonyTest { @Test public void testRestrictedNetworkDataRoamingEnabled() throws Exception { serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_ROAMING, false/*isNtn*/); + NetworkRegistrationInfo.REGISTRATION_STATE_ROAMING); NetworkRequestList networkRequestList = new NetworkRequestList(); // Restricted network request networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); // Data roaming disabled doReturn(false).when(mDataSettingsManager).isDataRoamingEnabled(); @@ -1523,7 +1516,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); mDataNetworkUT = new DataNetwork(mPhone, mFeatureFlags, Looper.myLooper(), mDataServiceManagers, mInternetDataProfile, networkRequestList, AccessNetworkConstants.TRANSPORT_TYPE_WWAN, @@ -1627,7 +1620,7 @@ public class DataNetworkTest extends TelephonyTest { LteVopsSupportInfo.LTE_STATUS_SUPPORTED)) .build(); serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, dsri, false/*isNtn*/); + NetworkRegistrationInfo.REGISTRATION_STATE_HOME, dsri); assertThat(mDataNetworkUT.getNetworkCapabilities().hasCapability( NetworkCapabilities.NET_CAPABILITY_MMTEL)).isTrue(); @@ -1641,7 +1634,7 @@ public class DataNetworkTest extends TelephonyTest { .build(); logd("Trigger non VoPS"); serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, dsri, false/*isNtn*/); + NetworkRegistrationInfo.REGISTRATION_STATE_HOME, dsri); // MMTEL should not be removed. assertThat(mDataNetworkUT.getNetworkCapabilities().hasCapability( NetworkCapabilities.NET_CAPABILITY_MMTEL)).isTrue(); @@ -1658,7 +1651,7 @@ public class DataNetworkTest extends TelephonyTest { LteVopsSupportInfo.LTE_STATUS_SUPPORTED)) .build(); serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, dsri, false/*isNtn*/); + NetworkRegistrationInfo.REGISTRATION_STATE_HOME, dsri); assertThat(mDataNetworkUT.getNetworkCapabilities().hasCapability( NetworkCapabilities.NET_CAPABILITY_MMTEL)).isTrue(); @@ -1672,7 +1665,7 @@ public class DataNetworkTest extends TelephonyTest { .build(); logd("Trigger non VoPS"); serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, dsri, false/*isNtn*/); + NetworkRegistrationInfo.REGISTRATION_STATE_HOME, dsri); // MMTEL should be removed to reflect the actual Vops status. assertThat(mDataNetworkUT.getNetworkCapabilities().hasCapability( NetworkCapabilities.NET_CAPABILITY_MMTEL)).isFalse(); @@ -1731,7 +1724,7 @@ public class DataNetworkTest extends TelephonyTest { TelephonyNetworkRequest networkRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder().addCapability( - NetworkCapabilities.NET_CAPABILITY_SUPL).build(), mPhone, mFeatureFlags); + NetworkCapabilities.NET_CAPABILITY_SUPL).build(), mPhone); mDataNetworkUT.attachNetworkRequests(new NetworkRequestList(networkRequest)); processAllMessages(); @@ -1754,7 +1747,7 @@ public class DataNetworkTest extends TelephonyTest { TelephonyNetworkRequest networkRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder().addCapability( - NetworkCapabilities.NET_CAPABILITY_SUPL).build(), mPhone, mFeatureFlags); + NetworkCapabilities.NET_CAPABILITY_SUPL).build(), mPhone); mDataNetworkUT.attachNetworkRequests(new NetworkRequestList(networkRequest)); processAllMessages(); @@ -1907,7 +1900,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); mDataNetworkUT = new DataNetwork(mPhone, mFeatureFlags, Looper.myLooper(), mDataServiceManagers, mInternetDataProfile, networkRequestList, @@ -2051,7 +2044,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); mDataNetworkUT = new DataNetwork(mPhone, mFeatureFlags, Looper.myLooper(), mDataServiceManagers, m5gDataProfile, networkRequestList, AccessNetworkConstants.TRANSPORT_TYPE_WWAN, DataAllowedReason.NORMAL, @@ -2148,7 +2141,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequest.Builder builder = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMTEL); - networkRequestList.add(new TelephonyNetworkRequest(builder.build(), mPhone, mFeatureFlags)); + networkRequestList.add(new TelephonyNetworkRequest(builder.build(), mPhone)); mDataNetworkUT = new DataNetwork(mPhone, mFeatureFlags, Looper.myLooper(), mDataServiceManagers, mImsDataProfile, networkRequestList, AccessNetworkConstants.TRANSPORT_TYPE_WLAN, @@ -2255,7 +2248,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequestList networkRequestList = new NetworkRequestList(); networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) - .build(), mPhone, mFeatureFlags)); + .build(), mPhone)); setSuccessfulSetupDataResponse(mMockedWlanDataServiceManager, 123); mDataNetworkUT = new DataNetwork(mPhone, mFeatureFlags, Looper.myLooper(), mDataServiceManagers, mImsDataProfile, networkRequestList, @@ -2271,7 +2264,7 @@ public class DataNetworkTest extends TelephonyTest { NetworkRequest.Builder builder = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS); if (isMmtel) builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMTEL); - networkRequestList.add(new TelephonyNetworkRequest(builder.build(), mPhone, mFeatureFlags)); + networkRequestList.add(new TelephonyNetworkRequest(builder.build(), mPhone)); setSuccessfulSetupDataResponse(mMockedWwanDataServiceManager, 123); @@ -2284,37 +2277,6 @@ public class DataNetworkTest extends TelephonyTest { processAllMessages(); } - private void setupNonTerrestrialDataNetwork() { - NetworkRequestList networkRequestList = new NetworkRequestList(); - - networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() - .addTransportType(NetworkCapabilities.TRANSPORT_SATELLITE) - .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) - .build(), mPhone, mFeatureFlags)); - setSuccessfulSetupDataResponse(mMockedWwanDataServiceManager, 123); - - mDataNetworkUT = new DataNetwork(mPhone, mFeatureFlags, Looper.myLooper(), - mDataServiceManagers, mInternetDataProfile, networkRequestList, - AccessNetworkConstants.TRANSPORT_TYPE_WWAN, - DataAllowedReason.NORMAL, mDataNetworkCallback); - processAllMessages(); - } - - private void setupTerrestrialDataNetwork() { - NetworkRequestList networkRequestList = new NetworkRequestList(); - networkRequestList.add(new TelephonyNetworkRequest(new NetworkRequest.Builder() - .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags)); - setSuccessfulSetupDataResponse(mMockedWwanDataServiceManager, 123); - - mDataNetworkUT = new DataNetwork(mPhone, mFeatureFlags, Looper.myLooper(), - mDataServiceManagers, mInternetDataProfile, networkRequestList, - AccessNetworkConstants.TRANSPORT_TYPE_WWAN, - DataAllowedReason.NORMAL, mDataNetworkCallback); - processAllMessages(); - } - @Test public void testMmsCapabilityRemovedWhenMmsPreferredOnIwlan() throws Exception { doReturn(true).when(mFeatureFlags).forceIwlanMms(); @@ -2393,104 +2355,4 @@ public class DataNetworkTest extends TelephonyTest { verify(mDataNetworkCallback).onQosSessionsChanged(newQosSessions); } - - @Test - public void testIsTransportSatelliteSupportNonImsNonTerrestrialNetwork() throws Exception { - // Service state at Non-terrestrial network - serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, true/*isNtn*/); - - // set up data network with transport type satellite + Internet - setupNonTerrestrialDataNetwork(); - - //Check now transport type for the data network is satellite - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_SATELLITE)).isTrue(); - } - - @Test - public void testIsTransportSatelliteSupportWithImsNonTerrestrialNetwork() throws Exception { - // Service state at Non-terrestrial network - serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, true/*isNtn*/); - - // set up data network with transport type satellite + IMS - createImsDataNetwork(false/*isMmtel*/); - - //Check transport type for the data network is Cellular for Ims at non-terrestrial network - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)).isTrue(); - } - - @Test - public void testSatelliteTransportSupportedNonImsTerrestrialToNonTerrestrial() - throws Exception { - // Service state at terrestrial network - serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, false/*isNtn*/); - - // set up data network with transport type cellular + Internet - setupTerrestrialDataNetwork(); - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)).isTrue(); - - // Service State change terrestrial to non-terrestrial - serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, true/*isNtn*/); - - // Make sure transport type for the data network is still Cellular - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)).isTrue(); - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_SATELLITE)).isFalse(); - - // Disconnect the Data call - mDataNetworkUT.sendMessage(19/*EVENT_DEACTIVATE_DATA_NETWORK_RESPONSE*/, 0/*Success*/); - processAllMessages(); - - // set up data network with transport type satellite + Internet - setupNonTerrestrialDataNetwork(); - - //Check now transport type for the data network is satellite - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_SATELLITE)).isTrue(); - } - - @Test - public void testSatelliteTransportSupportedNonImsNonTerrestrialToTerrestrial() - throws Exception { - // Service state at non-terrestrial network - serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, true/*isNtn*/); - - // set up data network with transport type satellite + Internet - setupNonTerrestrialDataNetwork(); - - //Check now transport type for the data network is satellite - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_SATELLITE)).isTrue(); - - // Service State change non-terrestrial to terrestrial - serviceStateChanged(TelephonyManager.NETWORK_TYPE_LTE, - NetworkRegistrationInfo.REGISTRATION_STATE_HOME, false/*isNtn*/); - - // Make sure transport type for the data network is still satellite - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_SATELLITE)).isTrue(); - - // Make sure transport type for the data network is not cellular - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)).isFalse(); - - // Disconnect the Data call - mDataNetworkUT.sendMessage(19/*EVENT_DEACTIVATE_DATA_NETWORK_RESPONSE*/, 0/*Success*/); - processAllMessages(); - - // set up data network with transport type cellular + Internet - setupTerrestrialDataNetwork(); - - //Check now transport type for the data network is cellular - assertThat(mDataNetworkUT.getNetworkCapabilities() - .hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)).isTrue(); - } } diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/DataProfileManagerTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/DataProfileManagerTest.java index 3d6b4f4d79..44d207de63 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/data/DataProfileManagerTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/data/DataProfileManagerTest.java @@ -888,7 +888,7 @@ public class DataProfileManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataProfile dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); @@ -899,7 +899,7 @@ public class DataProfileManagerTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL) .build(); - tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + tnr = new TelephonyNetworkRequest(request, mPhone); dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); @@ -909,7 +909,7 @@ public class DataProfileManagerTest extends TelephonyTest { request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) .build(); - tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + tnr = new TelephonyNetworkRequest(request, mPhone); dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dp.canSatisfy(tnr.getCapabilities())).isTrue(); @@ -918,7 +918,7 @@ public class DataProfileManagerTest extends TelephonyTest { request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) .build(); - tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + tnr = new TelephonyNetworkRequest(request, mPhone); dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dp).isNull(); @@ -931,7 +931,7 @@ public class DataProfileManagerTest extends TelephonyTest { request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) .build(); - tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + tnr = new TelephonyNetworkRequest(request, mPhone); dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_NR, false, false , false); assertThat(dp.canSatisfy(tnr.getCapabilities())).isTrue(); @@ -943,7 +943,7 @@ public class DataProfileManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataProfile dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_GSM, false, false, false); // Should not find data profile due to RAT incompatible. @@ -955,7 +955,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo(GENERAL_PURPOSE_APN); @@ -973,7 +973,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting()).isNull(); @@ -986,7 +986,7 @@ public class DataProfileManagerTest extends TelephonyTest { tnr = new TelephonyNetworkRequest(new NetworkRequest(new NetworkCapabilities() .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) .addEnterpriseId(2), ConnectivityManager.TYPE_NONE, - 0, NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags); + 0, NetworkRequest.Type.REQUEST), mPhone); dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting()).isNull(); @@ -1002,7 +1002,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting()).isNull(); @@ -1018,7 +1018,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_BANDWIDTH) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting()).isNull(); @@ -1036,7 +1036,7 @@ public class DataProfileManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataProfile dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_LTE, true, false, false); @@ -1050,7 +1050,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo(GENERAL_PURPOSE_APN); @@ -1090,7 +1090,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest dunTnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_DUN) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dunDataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( dunTnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); DataNetwork dunInternetNetwork = Mockito.mock(DataNetwork.class); @@ -1189,7 +1189,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile).isNull(); @@ -1198,7 +1198,7 @@ public class DataProfileManagerTest extends TelephonyTest { tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo("sos"); @@ -1207,7 +1207,7 @@ public class DataProfileManagerTest extends TelephonyTest { tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile).isEqualTo(null); @@ -1237,7 +1237,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile).isNull(); @@ -1246,7 +1246,7 @@ public class DataProfileManagerTest extends TelephonyTest { tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo("sos"); @@ -1255,7 +1255,7 @@ public class DataProfileManagerTest extends TelephonyTest { tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile).isEqualTo(null); @@ -1291,7 +1291,7 @@ public class DataProfileManagerTest extends TelephonyTest { DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) - .build(), mPhone, mFeatureFlags), + .build(), mPhone), TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo(IMS_APN); } @@ -1301,7 +1301,7 @@ public class DataProfileManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); // This should get the merged data profile after deduping. DataProfile dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); @@ -1439,7 +1439,7 @@ public class DataProfileManagerTest extends TelephonyTest { public void testDefaultEmergencyDataProfileValid() { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); @@ -1456,7 +1456,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo(GENERAL_PURPOSE_APN); @@ -1522,7 +1522,7 @@ public class DataProfileManagerTest extends TelephonyTest { TelephonyNetworkRequest tnr = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); changeSimStateTo(TelephonyManager.SIM_STATE_LOADED); mDataProfileManagerUT.obtainMessage(2 /*EVENT_APN_DATABASE_CHANGED*/).sendToTarget(); processAllMessages(); @@ -1828,7 +1828,7 @@ public class DataProfileManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataProfile dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); @@ -1852,7 +1852,7 @@ public class DataProfileManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataProfile dp = mDataProfileManagerUT.getDataProfileForNetworkRequest(tnr, TelephonyManager.NETWORK_TYPE_LTE, false, false, false); @@ -1883,7 +1883,7 @@ public class DataProfileManagerTest extends TelephonyTest { // Verify the we can get the previously permanent failed data profile again. assertThat(mDataProfileManagerUT.getDataProfileForNetworkRequest( - new TelephonyNetworkRequest(request, mPhone, mFeatureFlags), + new TelephonyNetworkRequest(request, mPhone), TelephonyManager.NETWORK_TYPE_LTE, false, false, false)) .isNotNull(); } @@ -1902,7 +1902,7 @@ public class DataProfileManagerTest extends TelephonyTest { // flag is enabled at data profile, during esim bootstrap provisioning TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, true, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo( @@ -1912,7 +1912,7 @@ public class DataProfileManagerTest extends TelephonyTest { // is enabled at data profile, during esim bootstrap provisioning tnr = new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, true, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo("IMS_APN"); @@ -1921,7 +1921,7 @@ public class DataProfileManagerTest extends TelephonyTest { // is disabled at data profile, during esim bootstrap provisioning tnr = new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, true, false); assertThat(dataProfile).isEqualTo(null); @@ -1930,7 +1930,7 @@ public class DataProfileManagerTest extends TelephonyTest { // is disabled at data profile, during esim bootstrap provisioning tnr = new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, true, false); assertThat(dataProfile).isEqualTo(null); @@ -1950,7 +1950,7 @@ public class DataProfileManagerTest extends TelephonyTest { // type TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, false, true, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo( @@ -1972,7 +1972,7 @@ public class DataProfileManagerTest extends TelephonyTest { // type TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile dataProfile = mDataProfileManagerUT.getDataProfileForNetworkRequest( tnr, TelephonyManager.NETWORK_TYPE_LTE, true, true, false); assertThat(dataProfile.getApnSetting().getApnName()).isEqualTo(RCS_APN1); diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/DataRetryManagerTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/DataRetryManagerTest.java index c413f838af..2541bd1993 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/data/DataRetryManagerTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/data/DataRetryManagerTest.java @@ -292,7 +292,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); mDataRetryManagerUT.evaluateDataSetupRetry(mDataProfile1, @@ -316,7 +316,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); mDataRetryManagerUT.evaluateDataSetupRetry(mDataProfile3, @@ -345,7 +345,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); mDataRetryManagerUT.evaluateDataSetupRetry(mDataProfile3, @@ -432,7 +432,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); @@ -535,7 +535,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); mDataRetryManagerUT.evaluateDataSetupRetry(mDataProfile1, @@ -568,7 +568,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); @@ -647,7 +647,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); @@ -709,7 +709,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); @@ -798,7 +798,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); mDataRetryManagerUT.evaluateDataSetupRetry(mDataProfile1, @@ -839,7 +839,7 @@ public class DataRetryManagerTest extends TelephonyTest { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); - TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone, mFeatureFlags); + TelephonyNetworkRequest tnr = new TelephonyNetworkRequest(request, mPhone); DataNetworkController.NetworkRequestList networkRequestList = new DataNetworkController.NetworkRequestList(tnr); @@ -853,7 +853,7 @@ public class DataRetryManagerTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); assertThat(mDataRetryManagerUT.isSimilarNetworkRequestRetryScheduled(tnr, AccessNetworkConstants.TRANSPORT_TYPE_WWAN)).isTrue(); assertThat(mDataRetryManagerUT.isSimilarNetworkRequestRetryScheduled(tnr, diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/DataUtilsTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/DataUtilsTest.java index 663cd512ca..ea8a7d7966 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/data/DataUtilsTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/data/DataUtilsTest.java @@ -18,32 +18,24 @@ package com.android.internal.telephony.data; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.Mockito.doReturn; - import android.net.NetworkCapabilities; import android.net.NetworkRequest; import com.android.internal.telephony.TelephonyTest; import com.android.internal.telephony.data.DataNetworkController.NetworkRequestList; -import com.android.internal.telephony.flags.FeatureFlags; import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.mockito.Mockito; import java.util.List; public class DataUtilsTest extends TelephonyTest { - private FeatureFlags mFeatureFlags; - @Before public void setUp() throws Exception { logd("DataUtilsTest +Setup!"); super.setUp(getClass().getSimpleName()); - mFeatureFlags = Mockito.mock(FeatureFlags.class); - doReturn(true).when(mFeatureFlags).carrierEnabledSatelliteFlag(); logd("DataUtilsTest -Setup!"); } @@ -65,13 +57,10 @@ public class DataUtilsTest extends TelephonyTest { NetworkCapabilities.NET_CAPABILITY_ENTERPRISE, NetworkCapabilities.NET_CAPABILITY_ENTERPRISE, NetworkCapabilities.NET_CAPABILITY_ENTERPRISE, - NetworkCapabilities.NET_CAPABILITY_IMS, - NetworkCapabilities.NET_CAPABILITY_IMS, }; int requestId = 0; int enterpriseId = 1; - int transportType = NetworkCapabilities.TRANSPORT_CELLULAR; TelephonyNetworkRequest networkRequest; for (int netCap : netCaps) { if (netCap == NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) { @@ -80,31 +69,24 @@ public class DataUtilsTest extends TelephonyTest { .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) .addEnterpriseId(enterpriseId).build(), -1, requestId++, - NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags); + NetworkRequest.Type.REQUEST), mPhone); if (enterpriseId == 1) enterpriseId++; - } else if (netCap == NetworkCapabilities.NET_CAPABILITY_IMS) { - networkRequest = new TelephonyNetworkRequest(new NetworkRequest( - new NetworkCapabilities.Builder() - .addTransportType(transportType) - .addCapability(netCap).build(), -1, requestId++, - NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags); - transportType = NetworkCapabilities.TRANSPORT_SATELLITE; } else { networkRequest = new TelephonyNetworkRequest(new NetworkRequest( new NetworkCapabilities.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(netCap).build(), -1, requestId++, - NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags); + NetworkRequest.Type.REQUEST), mPhone); } requestList.add(networkRequest); } - assertThat(requestList).hasSize(10); + assertThat(requestList).hasSize(8); List<NetworkRequestList> requestListList = - DataUtils.getGroupedNetworkRequestList(requestList, mFeatureFlags); + DataUtils.getGroupedNetworkRequestList(requestList); - assertThat(requestListList).hasSize(7); + assertThat(requestListList).hasSize(5); requestList = requestListList.get(0); assertThat(requestList).hasSize(1); assertThat(requestList.get(0).hasCapability( @@ -118,40 +100,26 @@ public class DataUtilsTest extends TelephonyTest { NetworkCapabilities.NET_CAPABILITY_MMS)).isTrue(); requestList = requestListList.get(2); - assertThat(requestList).hasSize(1); - assertThat(requestList.get(0).hasCapability( - NetworkCapabilities.NET_CAPABILITY_IMS)).isTrue(); - assertThat(requestList.get(0).getNativeNetworkRequest().hasTransport( - NetworkCapabilities.TRANSPORT_CELLULAR)).isTrue(); - - requestList = requestListList.get(3); - assertThat(requestList).hasSize(1); - assertThat(requestList.get(0).hasCapability( - NetworkCapabilities.NET_CAPABILITY_IMS)).isTrue(); - assertThat(requestList.get(0).getNativeNetworkRequest().hasTransport( - NetworkCapabilities.TRANSPORT_SATELLITE)).isTrue(); - - requestList = requestListList.get(4); assertThat(requestList).hasSize(2); assertThat(requestList.get(0).hasCapability( NetworkCapabilities.NET_CAPABILITY_INTERNET)).isTrue(); assertThat(requestList.get(1).hasCapability( NetworkCapabilities.NET_CAPABILITY_INTERNET)).isTrue(); - requestList = requestListList.get(5); + requestList = requestListList.get(3); assertThat(requestList).hasSize(1); assertThat(requestList.get(0).hasCapability( NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)).isTrue(); - assertThat(requestList.get(0).getCapabilityDifferentiator()).isEqualTo(1); + assertThat(requestList.get(0).getCapabilityDifferentiator() == 1).isTrue(); - requestList = requestListList.get(6); + requestList = requestListList.get(4); assertThat(requestList).hasSize(2); assertThat(requestList.get(0).hasCapability( NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)).isTrue(); - assertThat(requestList.get(0).getCapabilityDifferentiator()).isEqualTo(2); + assertThat(requestList.get(0).getCapabilityDifferentiator() == 2).isTrue(); assertThat(requestList.get(1).hasCapability( NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)).isTrue(); - assertThat(requestList.get(1).getCapabilityDifferentiator()).isEqualTo(2); + assertThat(requestList.get(1).getCapabilityDifferentiator() == 2).isTrue(); } @Test diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/PhoneSwitcherTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/PhoneSwitcherTest.java index 1f9ace9bb1..e011a60d7f 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/data/PhoneSwitcherTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/data/PhoneSwitcherTest.java @@ -221,8 +221,8 @@ public class PhoneSwitcherTest extends TelephonyTest { NetworkRequest internetNetworkRequest = addInternetNetworkRequest(null, 50); assertFalse("phone active after request", mPhoneSwitcherUT - .shouldApplyNetworkRequest(new TelephonyNetworkRequest( - internetNetworkRequest, mPhone, mFeatureFlags), 0)); + .shouldApplyNetworkRequest( + new TelephonyNetworkRequest(internetNetworkRequest, mPhone), 0)); // not registered yet - shouldn't inc verify(mActivePhoneSwitchHandler, never()).sendMessageAtTime(any(), anyLong()); @@ -628,9 +628,9 @@ public class PhoneSwitcherTest extends TelephonyTest { // Phone 0 (sub 1) should be activated as it has default data sub. assertEquals(1, mPhoneSwitcherUT.getActiveDataSubId()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); // Set sub 2 as preferred sub should make phone 1 activated and phone 0 deactivated. mPhoneSwitcherUT.trySetOpportunisticDataSubscription(2, false, null); @@ -645,9 +645,9 @@ public class PhoneSwitcherTest extends TelephonyTest { // switch shouldn't occur due to the higher priority event assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); assertEquals(1, mPhoneSwitcherUT.getActiveDataSubId()); assertEquals(2, mPhoneSwitcherUT.getAutoSelectedDataSubId()); @@ -657,9 +657,9 @@ public class PhoneSwitcherTest extends TelephonyTest { assertEquals(2, mPhoneSwitcherUT.getActiveDataSubId()); assertEquals(2, mPhoneSwitcherUT.getAutoSelectedDataSubId()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); } @Test @@ -751,13 +751,13 @@ public class PhoneSwitcherTest extends TelephonyTest { verify(mMockRadioConfig, never()).setPreferredDataModem(anyInt(), any()); verify(mActivePhoneSwitchHandler, never()).sendMessageAtTime(any(), anyLong()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(mmsRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(mmsRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(mmsRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(mmsRequest, mPhone), 1)); // Set sub 2 as preferred sub should make phone 1 preferredDataModem doReturn(new SubscriptionInfoInternal.Builder(mSubscriptionManagerService @@ -773,13 +773,13 @@ public class PhoneSwitcherTest extends TelephonyTest { processAllMessages(); verify(mActivePhoneSwitchHandler, times(2)).sendMessageAtTime(any(), anyLong()); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(mmsRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(mmsRequest, mPhone), 0)); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(mmsRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(mmsRequest, mPhone), 1)); clearInvocations(mMockRadioConfig); clearInvocations(mActivePhoneSwitchHandler); @@ -796,13 +796,13 @@ public class PhoneSwitcherTest extends TelephonyTest { processAllMessages(); verify(mActivePhoneSwitchHandler, times(2)).sendMessageAtTime(any(), anyLong()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(mmsRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(mmsRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(mmsRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(mmsRequest, mPhone), 1)); // SetDataAllowed should never be triggered. verify(mCommandsInterface0, never()).setDataAllowed(anyBoolean(), any()); @@ -1038,9 +1038,9 @@ public class PhoneSwitcherTest extends TelephonyTest { setDefaultDataSubId(1); NetworkRequest internetRequest = addInternetNetworkRequest(null, 50); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); clearInvocations(mMockRadioConfig); setAllPhonesInactive(); // Initialization done. @@ -1050,18 +1050,18 @@ public class PhoneSwitcherTest extends TelephonyTest { notifyPhoneAsInCall(mPhone2); verify(mMockRadioConfig, never()).setPreferredDataModem(anyInt(), any()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); // Phone2 has active call, and data is on. So data switch to it. doReturn(true).when(mPhone).isUserDataEnabled(); notifyDataEnabled(true); verify(mMockRadioConfig).setPreferredDataModem(eq(1), any()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); clearInvocations(mMockRadioConfig); // Phone2(nDDS) call ended. But Phone1 having cross-SIM call. Don't switch. @@ -1070,9 +1070,9 @@ public class PhoneSwitcherTest extends TelephonyTest { notifyPhoneAsInactive(mPhone2); verify(mMockRadioConfig, never()).setPreferredDataModem(anyInt(), any()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); // Phone(DDS) call ended. // Honor auto data switch's suggestion: if DDS is OOS, auto switch to Phone2(nDDS). @@ -1083,9 +1083,9 @@ public class PhoneSwitcherTest extends TelephonyTest { // verify immediately switch back to DDS upon call ends verify(mMockRadioConfig).setPreferredDataModem(eq(0), any()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); // verify the attempt to do auto data switch to Phone2(nDDS) processAllFutureMessages(); @@ -1098,9 +1098,9 @@ public class PhoneSwitcherTest extends TelephonyTest { notifyPhoneAsInHoldingCall(mPhone2); verify(mMockRadioConfig, never()).setPreferredDataModem(anyInt(), any()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); } @Test @@ -1115,9 +1115,9 @@ public class PhoneSwitcherTest extends TelephonyTest { setDefaultDataSubId(1); NetworkRequest internetRequest = addInternetNetworkRequest(null, 50); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); clearInvocations(mMockRadioConfig); setAllPhonesInactive(); // Initialization done. @@ -1127,17 +1127,17 @@ public class PhoneSwitcherTest extends TelephonyTest { notifyPhoneAsInCall(mPhone2); verify(mMockRadioConfig).setPreferredDataModem(eq(1), any()); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); // During the active call, user turns off data, should immediately switch back to DDS notifyDataEnabled(false); verify(mMockRadioConfig).setPreferredDataModem(eq(0), any()); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); } @Test @@ -1165,16 +1165,16 @@ public class PhoneSwitcherTest extends TelephonyTest { setDefaultDataSubId(1); NetworkRequest internetRequest = addInternetNetworkRequest(2, 50); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); // Restricted network request will should be applied. internetRequest = addInternetNetworkRequest(2, 50, true); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); } @Test @@ -1558,9 +1558,9 @@ public class PhoneSwitcherTest extends TelephonyTest { setDefaultDataSubId(1); NetworkRequest internetRequest = addInternetNetworkRequest(null, 50); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); clearInvocations(mMockRadioConfig); setAllPhonesInactive(); // Initialization done. @@ -1599,9 +1599,9 @@ public class PhoneSwitcherTest extends TelephonyTest { setDefaultDataSubId(1); NetworkRequest internetRequest = addInternetNetworkRequest(null, 50); assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 0)); + new TelephonyNetworkRequest(internetRequest, mPhone), 0)); assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), 1)); + new TelephonyNetworkRequest(internetRequest, mPhone), 1)); clearInvocations(mMockRadioConfig); setAllPhonesInactive(); // Initialization done. @@ -1862,10 +1862,10 @@ public class PhoneSwitcherTest extends TelephonyTest { if (defaultDataSub == (i + 1)) { // sub id is always phoneId+1 for testing assertTrue(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), i)); + new TelephonyNetworkRequest(internetRequest, mPhone), i)); } else { assertFalse(mPhoneSwitcherUT.shouldApplyNetworkRequest( - new TelephonyNetworkRequest(internetRequest, mPhone, mFeatureFlags), i)); + new TelephonyNetworkRequest(internetRequest, mPhone), i)); } } } diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/TelephonyNetworkFactoryTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/TelephonyNetworkFactoryTest.java index e1a0eac914..ad99eaf9e7 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/data/TelephonyNetworkFactoryTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/data/TelephonyNetworkFactoryTest.java @@ -135,8 +135,7 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { } private void activatePhoneInPhoneSwitcher(int phoneId, NetworkRequest nr, boolean active) { - TelephonyNetworkRequest networkRequest = - new TelephonyNetworkRequest(nr, mPhone, mFeatureFlags); + TelephonyNetworkRequest networkRequest = new TelephonyNetworkRequest(nr, mPhone); doReturn(active).when(mPhoneSwitcher).shouldApplyNetworkRequest( eq(networkRequest), eq(phoneId)); mTelephonyNetworkFactoryUT.mInternalHandler.sendEmptyMessage( diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/TelephonyNetworkRequestTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/TelephonyNetworkRequestTest.java index 3c8bfe53b1..26a9fde815 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/data/TelephonyNetworkRequestTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/data/TelephonyNetworkRequestTest.java @@ -18,9 +18,6 @@ package com.android.internal.telephony.data; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.when; - import android.net.ConnectivityManager; import android.net.NetworkCapabilities; import android.net.NetworkRequest; @@ -126,7 +123,7 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); TelephonyNetworkRequest internetRequest = - new TelephonyNetworkRequest(nativeRequest, mPhone, mFeatureFlags); + new TelephonyNetworkRequest(nativeRequest, mPhone); assertThat(internetRequest.getNativeNetworkRequest()).isEqualTo(nativeRequest); } @@ -135,11 +132,11 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { TelephonyNetworkRequest internetRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); TelephonyNetworkRequest imsRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_IMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); assertThat(internetRequest.getPriority()).isEqualTo(20); assertThat(imsRequest.getPriority()).isEqualTo(40); @@ -155,7 +152,7 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .setNetworkSpecifier(telephonyNetworkSpecifier) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); assertThat(internetRequest.getNetworkSpecifier()).isEqualTo(telephonyNetworkSpecifier); } @@ -167,7 +164,7 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); assertThat(internetRequest.getCapabilities()).isEqualTo( new int[]{NetworkCapabilities.NET_CAPABILITY_INTERNET, NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED, @@ -194,7 +191,7 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) .addCapability(NetworkCapabilities.NET_CAPABILITY_SUPL) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); assertThat(request.getApnTypeNetworkCapability()) .isEqualTo(NetworkCapabilities.NET_CAPABILITY_SUPL); @@ -203,7 +200,7 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_FOTA) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); assertThat(request.getApnTypeNetworkCapability()) .isEqualTo(NetworkCapabilities.NET_CAPABILITY_FOTA); @@ -212,7 +209,7 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { .addCapability(NetworkCapabilities.NET_CAPABILITY_EIMS) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); assertThat(request.getApnTypeNetworkCapability()) .isEqualTo(NetworkCapabilities.NET_CAPABILITY_EIMS); } @@ -222,7 +219,7 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { TelephonyNetworkRequest internetRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); NetworkCapabilities caps = new NetworkCapabilities.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) @@ -236,7 +233,7 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { TelephonyNetworkRequest rcsRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); caps = new NetworkCapabilities.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) @@ -253,15 +250,15 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { TelephonyNetworkRequest internetRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); TelephonyNetworkRequest mmsRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); TelephonyNetworkRequest rcsRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_RCS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile internetDataProfile = new DataProfile.Builder() .setApnSetting(INTERNET_APN_SETTING) .build(); @@ -284,12 +281,12 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { TelephonyNetworkRequest enterpriseRequest1 = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); TelephonyNetworkRequest enterpriseRequest2 = new TelephonyNetworkRequest( new NetworkRequest(new NetworkCapabilities() .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) .addEnterpriseId(2), ConnectivityManager.TYPE_NONE, - 0, NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags); + 0, NetworkRequest.Type.REQUEST), mPhone); DataProfile enterpriseDataProfile1 = new DataProfile.Builder() .setTrafficDescriptor(new TrafficDescriptor(null, new TrafficDescriptor.OsAppId( @@ -312,18 +309,18 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); TelephonyNetworkRequest enterpriseRequest2 = new TelephonyNetworkRequest( new NetworkRequest(new NetworkCapabilities() .addCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addEnterpriseId(2), ConnectivityManager.TYPE_NONE, - 0, NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags); + 0, NetworkRequest.Type.REQUEST), mPhone); TelephonyNetworkRequest internetRequest = new TelephonyNetworkRequest( new NetworkRequest(new NetworkCapabilities() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET), ConnectivityManager.TYPE_NONE, - 0, NetworkRequest.Type.REQUEST), mPhone, mFeatureFlags); + 0, NetworkRequest.Type.REQUEST), mPhone); DataProfile enterpriseDataProfile = new DataProfile.Builder() .setApnSetting(ENTERPRISE_APN_SETTING) @@ -345,12 +342,12 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { TelephonyNetworkRequest urllcRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); TelephonyNetworkRequest embbRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_BANDWIDTH) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile urllcDataProfile = new DataProfile.Builder() .setTrafficDescriptor(new TrafficDescriptor(null, new TrafficDescriptor.OsAppId( @@ -367,12 +364,12 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { TelephonyNetworkRequest urllcRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); TelephonyNetworkRequest embbRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_BANDWIDTH) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile embbDataProfile = new DataProfile.Builder() .setTrafficDescriptor(new TrafficDescriptor(null, new TrafficDescriptor.OsAppId( @@ -389,12 +386,12 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { TelephonyNetworkRequest cbsRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_CBS) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); TelephonyNetworkRequest embbRequest = new TelephonyNetworkRequest( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_BANDWIDTH) - .build(), mPhone, mFeatureFlags); + .build(), mPhone); DataProfile cbsDataProfile = new DataProfile.Builder() .setTrafficDescriptor(new TrafficDescriptor(null, new TrafficDescriptor.OsAppId( @@ -405,92 +402,4 @@ public class TelephonyNetworkRequestTest extends TelephonyTest { assertThat(cbsRequest.canBeSatisfiedBy(cbsDataProfile)).isTrue(); assertThat(embbRequest.canBeSatisfiedBy(cbsDataProfile)).isFalse(); } - - @Test - public void testSatelliteNetworkRequest() { - when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(true); - TelephonyNetworkRequest satelliteRequest = new TelephonyNetworkRequest( - new NetworkRequest.Builder() - .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .addTransportType(NetworkCapabilities.TRANSPORT_SATELLITE) - .build(), mPhone, mFeatureFlags); - - TelephonyNetworkRequest generalRequest = new TelephonyNetworkRequest( - new NetworkRequest.Builder() - .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); - - ApnSetting satelliteInternetApn = new ApnSetting.Builder() - .setEntryName("apn") - .setApnName("apn") - .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT) - .setCarrierEnabled(true) - .setInfrastructureBitmask(ApnSetting.INFRASTRUCTURE_SATELLITE) - .build(); - - ApnSetting cellularInternetApn = new ApnSetting.Builder() - .setEntryName("apn") - .setApnName("apn") - .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT) - .setCarrierEnabled(true) - .setInfrastructureBitmask(ApnSetting.INFRASTRUCTURE_CELLULAR) - .build(); - - DataProfile satelliteInternetDataProfile = new DataProfile.Builder() - .setApnSetting(satelliteInternetApn) - .build(); - - DataProfile cellularInternetDataProfile = new DataProfile.Builder() - .setApnSetting(cellularInternetApn) - .build(); - - assertThat(satelliteRequest.canBeSatisfiedBy(satelliteInternetDataProfile)).isTrue(); - assertThat(generalRequest.canBeSatisfiedBy(satelliteInternetDataProfile)).isTrue(); - assertThat(satelliteRequest.canBeSatisfiedBy(cellularInternetDataProfile)).isFalse(); - assertThat(generalRequest.canBeSatisfiedBy(cellularInternetDataProfile)).isTrue(); - } - - @Test - public void testCellularNetworkRequest() { - doReturn(true).when(mFeatureFlags).carrierEnabledSatelliteFlag(); - TelephonyNetworkRequest cellularRequest = new TelephonyNetworkRequest( - new NetworkRequest.Builder() - .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) - .build(), mPhone, mFeatureFlags); - - TelephonyNetworkRequest generalRequest = new TelephonyNetworkRequest( - new NetworkRequest.Builder() - .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(), mPhone, mFeatureFlags); - - ApnSetting satelliteInternetApn = new ApnSetting.Builder() - .setEntryName("apn") - .setApnName("apn") - .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT) - .setCarrierEnabled(true) - .setInfrastructureBitmask(ApnSetting.INFRASTRUCTURE_SATELLITE) - .build(); - - ApnSetting cellularInternetApn = new ApnSetting.Builder() - .setEntryName("apn") - .setApnName("apn") - .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT) - .setCarrierEnabled(true) - .setInfrastructureBitmask(ApnSetting.INFRASTRUCTURE_CELLULAR) - .build(); - - DataProfile satelliteInternetDataProfile = new DataProfile.Builder() - .setApnSetting(satelliteInternetApn) - .build(); - - DataProfile cellularInternetDataProfile = new DataProfile.Builder() - .setApnSetting(cellularInternetApn) - .build(); - - assertThat(cellularRequest.canBeSatisfiedBy(satelliteInternetDataProfile)).isFalse(); - assertThat(generalRequest.canBeSatisfiedBy(satelliteInternetDataProfile)).isTrue(); - assertThat(cellularRequest.canBeSatisfiedBy(cellularInternetDataProfile)).isTrue(); - assertThat(generalRequest.canBeSatisfiedBy(cellularInternetDataProfile)).isTrue(); - } } |