Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfae4fb1 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Improved the anomaly report"

parents 05230f38 a5ee92ed
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -2398,9 +2398,11 @@ public class DataNetwork extends StateMachine {
        mFailCause = getFailCauseFromDataCallResponse(resultCode, response);
        validateDataCallResponse(response);
        if (mFailCause == DataFailCause.NONE) {
            if (mDataNetworkController.isNetworkInterfaceExisting(response.getInterfaceName())) {
                logl("Interface " + response.getInterfaceName() + " already existing. Silently "
                        + "tear down now.");
            DataNetwork dataNetwork = mDataNetworkController.getDataNetworkByInterface(
                    response.getInterfaceName());
            if (dataNetwork != null) {
                logl("Interface " + response.getInterfaceName() + " has been already used by "
                        + dataNetwork + ". Silently tear down now.");
                // If this is a pre-5G data setup, that means APN database has some problems. For
                // example, different APN settings have the same APN name.
                if (response.getTrafficDescriptors().isEmpty()) {
+9 −6
Original line number Diff line number Diff line
@@ -2122,16 +2122,19 @@ public class DataNetworkController extends Handler {
    }

    /**
     * Check if there are existing networks having the same interface name.
     * Get data network by interface name.
     *
     * @param interfaceName The interface name to check.
     * @return {@code true} if the existing network has the same interface name.
     * @param interfaceName The network interface name.
     * @return The data network if found.
     */
    public boolean isNetworkInterfaceExisting(@NonNull String interfaceName) {
    @Nullable
    DataNetwork getDataNetworkByInterface(@NonNull String interfaceName) {
        return mDataNetworkList.stream()
                .filter(dataNetwork -> !dataNetwork.isDisconnecting())
                .anyMatch(dataNetwork -> interfaceName.equals(
                        dataNetwork.getLinkProperties().getInterfaceName()));
                .filter(dataNetwork -> interfaceName.equals(
                        dataNetwork.getLinkProperties().getInterfaceName()))
                .findFirst()
                .orElse(null);
    }

    /**