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

Commit 4171a8c1 authored by Xiangyu/Malcolm Chen's avatar Xiangyu/Malcolm Chen Committed by android-build-merger
Browse files

Merge "Add NetworkRegistrationState into SS's list." am: 9f92ed94 am: 6576ed3d

am: 58bb4ccd

Change-Id: I1c7a6e8675f237d68d027cd1304e4a7c4b901556
parents 4e0f11c6 58bb4ccd
Loading
Loading
Loading
Loading
+38 −8
Original line number Diff line number Diff line
@@ -1526,7 +1526,9 @@ public class ServiceState implements Parcelable {
     */
    @SystemApi
    public List<NetworkRegistrationState> getNetworkRegistrationStates() {
        return mNetworkRegistrationStates;
        synchronized (mNetworkRegistrationStates) {
            return new ArrayList<>(mNetworkRegistrationStates);
        }
    }

    /**
@@ -1539,11 +1541,15 @@ public class ServiceState implements Parcelable {
    @SystemApi
    public List<NetworkRegistrationState> getNetworkRegistrationStates(int transportType) {
        List<NetworkRegistrationState> list = new ArrayList<>();

        synchronized (mNetworkRegistrationStates) {
            for (NetworkRegistrationState networkRegistrationState : mNetworkRegistrationStates) {
                if (networkRegistrationState.getTransportType() == transportType) {
                    list.add(networkRegistrationState);
                }
            }
        }

        return list;
    }

@@ -1557,12 +1563,36 @@ public class ServiceState implements Parcelable {
     */
    @SystemApi
    public NetworkRegistrationState getNetworkRegistrationStates(int transportType, int domain) {
        synchronized (mNetworkRegistrationStates) {
            for (NetworkRegistrationState networkRegistrationState : mNetworkRegistrationStates) {
                if (networkRegistrationState.getTransportType() == transportType
                        && networkRegistrationState.getDomain() == domain) {
                    return networkRegistrationState;
                }
            }
        }

        return null;
    }

    /**
     * @hide
     */
    public void addNetworkRegistrationState(NetworkRegistrationState regState) {
        if (regState == null) return;

        synchronized (mNetworkRegistrationStates) {
            for (int i = 0; i < mNetworkRegistrationStates.size(); i++) {
                NetworkRegistrationState curRegState = mNetworkRegistrationStates.get(i);
                if (curRegState.getTransportType() == regState.getTransportType()
                        && curRegState.getDomain() == regState.getDomain()) {
                    mNetworkRegistrationStates.remove(i);
                    break;
                }
            }

            mNetworkRegistrationStates.add(regState);
        }
    }

}