Loading src/java/com/android/internal/telephony/data/DataNetwork.java +32 −21 Original line number Diff line number Diff line Loading @@ -984,25 +984,7 @@ public class DataNetwork extends StateMachine { break; } case EVENT_ATTACH_NETWORK_REQUEST: { NetworkRequestList requestList = (NetworkRequestList) msg.obj; NetworkRequestList failedList = new NetworkRequestList(); for (TelephonyNetworkRequest networkRequest : requestList) { if (networkRequest.canBeSatisfiedBy(getNetworkCapabilities())) { mAttachedNetworkRequestList.add(networkRequest); networkRequest.setAttachedNetwork(DataNetwork.this); networkRequest.setState( TelephonyNetworkRequest.REQUEST_STATE_SATISFIED); log("Successfully attached network request " + networkRequest); } else { failedList.add(networkRequest); log("Attached failed. Cannot satisfy the network request " + networkRequest); } if (failedList.size() > 0) { mDataNetworkCallback.invokeFromExecutor(() -> mDataNetworkCallback .onAttachFailed(DataNetwork.this, failedList)); } } onAttachNetworkRequests((NetworkRequestList) msg.obj); break; } case EVENT_DETACH_NETWORK_REQUEST: { Loading Loading @@ -1486,14 +1468,14 @@ public class DataNetwork extends StateMachine { * Attempt to attach the network request list to this data network. Whether the network can * satisfy the request or not will be checked when EVENT_ATTACH_NETWORK_REQUEST is processed. * If the request can't be attached, {@link DataNetworkCallback#onAttachFailed( * DataNetwork, NetworkRequestList)} will be called, and retry should be scheduled. * DataNetwork, NetworkRequestList)}. * * @param requestList Network request list to attach. * @return {@code false} if the network is already disconnected. {@code true} means the request * has been scheduled to attach to the network. If attach succeeds, the network request's state * will be set to {@link TelephonyNetworkRequest#REQUEST_STATE_SATISFIED}. If failed, the * callback {@link DataNetworkCallback#onAttachFailed(DataNetwork, NetworkRequestList)} will * be called, and retry should be scheduled. * be called. */ public boolean attachNetworkRequests(@NonNull NetworkRequestList requestList) { // If the network is already ended, we still attach the network request to the data network, Loading @@ -1506,6 +1488,35 @@ public class DataNetwork extends StateMachine { return true; } /** * Called when attaching network request list to this data network. * * @param requestList Network request list to attach. */ public void onAttachNetworkRequests(@NonNull NetworkRequestList requestList) { NetworkRequestList failedList = new NetworkRequestList(); for (TelephonyNetworkRequest networkRequest : requestList) { if (!mDataNetworkController.isNetworkRequestExisting(networkRequest)) { failedList.add(networkRequest); log("Attached failed. Network request was already removed."); } else if (!networkRequest.canBeSatisfiedBy(getNetworkCapabilities())) { failedList.add(networkRequest); log("Attached failed. Cannot satisfy the network request " + networkRequest); } else { mAttachedNetworkRequestList.add(networkRequest); networkRequest.setAttachedNetwork(DataNetwork.this); networkRequest.setState( TelephonyNetworkRequest.REQUEST_STATE_SATISFIED); log("Successfully attached network request " + networkRequest); } } if (failedList.size() > 0) { mDataNetworkCallback.invokeFromExecutor(() -> mDataNetworkCallback .onAttachFailed(DataNetwork.this, failedList)); } } /** * Detach the network request from this data network. Note that this will not tear down the * network. Loading src/java/com/android/internal/telephony/data/DataNetworkController.java +12 −1 Original line number Diff line number Diff line Loading @@ -1817,6 +1817,17 @@ public class DataNetworkController extends Handler { logv("onRemoveNetworkRequest: Removed " + networkRequest); } /** * Check if the network request is existing. Note this method is not thread safe so can be only * called within the modules in {@link com.android.internal.telephony.data}. * * @param networkRequest Telephony network request to check. * @return {@code true} if the network request exists. */ public boolean isNetworkRequestExisting(@NonNull TelephonyNetworkRequest networkRequest) { return mAllNetworkRequestList.contains(networkRequest); } /** * Register for IMS feature registration state. * Loading Loading @@ -2444,7 +2455,7 @@ public class DataNetworkController extends Handler { */ private void onAttachNetworkRequestsFailed(@NonNull DataNetwork dataNetwork, @NonNull NetworkRequestList requestList) { // TODO: Perform retry if needed. log("Failed to attach " + requestList + " to " + dataNetwork); } /** Loading Loading
src/java/com/android/internal/telephony/data/DataNetwork.java +32 −21 Original line number Diff line number Diff line Loading @@ -984,25 +984,7 @@ public class DataNetwork extends StateMachine { break; } case EVENT_ATTACH_NETWORK_REQUEST: { NetworkRequestList requestList = (NetworkRequestList) msg.obj; NetworkRequestList failedList = new NetworkRequestList(); for (TelephonyNetworkRequest networkRequest : requestList) { if (networkRequest.canBeSatisfiedBy(getNetworkCapabilities())) { mAttachedNetworkRequestList.add(networkRequest); networkRequest.setAttachedNetwork(DataNetwork.this); networkRequest.setState( TelephonyNetworkRequest.REQUEST_STATE_SATISFIED); log("Successfully attached network request " + networkRequest); } else { failedList.add(networkRequest); log("Attached failed. Cannot satisfy the network request " + networkRequest); } if (failedList.size() > 0) { mDataNetworkCallback.invokeFromExecutor(() -> mDataNetworkCallback .onAttachFailed(DataNetwork.this, failedList)); } } onAttachNetworkRequests((NetworkRequestList) msg.obj); break; } case EVENT_DETACH_NETWORK_REQUEST: { Loading Loading @@ -1486,14 +1468,14 @@ public class DataNetwork extends StateMachine { * Attempt to attach the network request list to this data network. Whether the network can * satisfy the request or not will be checked when EVENT_ATTACH_NETWORK_REQUEST is processed. * If the request can't be attached, {@link DataNetworkCallback#onAttachFailed( * DataNetwork, NetworkRequestList)} will be called, and retry should be scheduled. * DataNetwork, NetworkRequestList)}. * * @param requestList Network request list to attach. * @return {@code false} if the network is already disconnected. {@code true} means the request * has been scheduled to attach to the network. If attach succeeds, the network request's state * will be set to {@link TelephonyNetworkRequest#REQUEST_STATE_SATISFIED}. If failed, the * callback {@link DataNetworkCallback#onAttachFailed(DataNetwork, NetworkRequestList)} will * be called, and retry should be scheduled. * be called. */ public boolean attachNetworkRequests(@NonNull NetworkRequestList requestList) { // If the network is already ended, we still attach the network request to the data network, Loading @@ -1506,6 +1488,35 @@ public class DataNetwork extends StateMachine { return true; } /** * Called when attaching network request list to this data network. * * @param requestList Network request list to attach. */ public void onAttachNetworkRequests(@NonNull NetworkRequestList requestList) { NetworkRequestList failedList = new NetworkRequestList(); for (TelephonyNetworkRequest networkRequest : requestList) { if (!mDataNetworkController.isNetworkRequestExisting(networkRequest)) { failedList.add(networkRequest); log("Attached failed. Network request was already removed."); } else if (!networkRequest.canBeSatisfiedBy(getNetworkCapabilities())) { failedList.add(networkRequest); log("Attached failed. Cannot satisfy the network request " + networkRequest); } else { mAttachedNetworkRequestList.add(networkRequest); networkRequest.setAttachedNetwork(DataNetwork.this); networkRequest.setState( TelephonyNetworkRequest.REQUEST_STATE_SATISFIED); log("Successfully attached network request " + networkRequest); } } if (failedList.size() > 0) { mDataNetworkCallback.invokeFromExecutor(() -> mDataNetworkCallback .onAttachFailed(DataNetwork.this, failedList)); } } /** * Detach the network request from this data network. Note that this will not tear down the * network. Loading
src/java/com/android/internal/telephony/data/DataNetworkController.java +12 −1 Original line number Diff line number Diff line Loading @@ -1817,6 +1817,17 @@ public class DataNetworkController extends Handler { logv("onRemoveNetworkRequest: Removed " + networkRequest); } /** * Check if the network request is existing. Note this method is not thread safe so can be only * called within the modules in {@link com.android.internal.telephony.data}. * * @param networkRequest Telephony network request to check. * @return {@code true} if the network request exists. */ public boolean isNetworkRequestExisting(@NonNull TelephonyNetworkRequest networkRequest) { return mAllNetworkRequestList.contains(networkRequest); } /** * Register for IMS feature registration state. * Loading Loading @@ -2444,7 +2455,7 @@ public class DataNetworkController extends Handler { */ private void onAttachNetworkRequestsFailed(@NonNull DataNetwork dataNetwork, @NonNull NetworkRequestList requestList) { // TODO: Perform retry if needed. log("Failed to attach " + requestList + " to " + dataNetwork); } /** Loading