Loading telephony/java/android/telephony/ServiceState.java +115 −100 Original line number Diff line number Diff line Loading @@ -337,7 +337,7 @@ public class ServiceState implements Parcelable { * Reference: 3GPP TS 36.104 5.4.3 */ private int mLteEarfcnRsrpBoost = 0; private List<NetworkRegistrationInfo> mNetworkRegistrationInfos = new ArrayList<>(); private final List<NetworkRegistrationInfo> mNetworkRegistrationInfos = new ArrayList<>(); private String mOperatorAlphaLongRaw; private String mOperatorAlphaShortRaw; Loading Loading @@ -420,8 +420,10 @@ public class ServiceState implements Parcelable { mCellBandwidths = s.mCellBandwidths == null ? null : Arrays.copyOf(s.mCellBandwidths, s.mCellBandwidths.length); mLteEarfcnRsrpBoost = s.mLteEarfcnRsrpBoost; mNetworkRegistrationInfos = s.mNetworkRegistrationInfos == null ? null : s.getNetworkRegistrationInfoList(); synchronized (mNetworkRegistrationInfos) { mNetworkRegistrationInfos.clear(); mNetworkRegistrationInfos.addAll(s.getNetworkRegistrationInfoList()); } mNrFrequencyRange = s.mNrFrequencyRange; mOperatorAlphaLongRaw = s.mOperatorAlphaLongRaw; mOperatorAlphaShortRaw = s.mOperatorAlphaShortRaw; Loading Loading @@ -453,8 +455,9 @@ public class ServiceState implements Parcelable { mCdmaEriIconMode = in.readInt(); mIsEmergencyOnly = in.readInt() != 0; mLteEarfcnRsrpBoost = in.readInt(); mNetworkRegistrationInfos = new ArrayList<>(); synchronized (mNetworkRegistrationInfos) { in.readList(mNetworkRegistrationInfos, NetworkRegistrationInfo.class.getClassLoader()); } mChannelNumber = in.readInt(); mCellBandwidths = in.createIntArray(); mNrFrequencyRange = in.readInt(); Loading @@ -481,7 +484,9 @@ public class ServiceState implements Parcelable { out.writeInt(mCdmaEriIconMode); out.writeInt(mIsEmergencyOnly ? 1 : 0); out.writeInt(mLteEarfcnRsrpBoost); synchronized (mNetworkRegistrationInfos) { out.writeList(mNetworkRegistrationInfos); } out.writeInt(mChannelNumber); out.writeIntArray(mCellBandwidths); out.writeInt(mNrFrequencyRange); Loading Loading @@ -823,6 +828,7 @@ public class ServiceState implements Parcelable { @Override public int hashCode() { synchronized (mNetworkRegistrationInfos) { return Objects.hash( mVoiceRegState, mDataRegState, Loading @@ -849,12 +855,14 @@ public class ServiceState implements Parcelable { mOperatorAlphaLongRaw, mOperatorAlphaShortRaw); } } @Override public boolean equals (Object o) { if (!(o instanceof ServiceState)) return false; ServiceState s = (ServiceState) o; synchronized (mNetworkRegistrationInfos) { return mVoiceRegState == s.mVoiceRegState && mDataRegState == s.mDataRegState && mIsManualNetworkSelection == s.mIsManualNetworkSelection Loading @@ -875,11 +883,11 @@ public class ServiceState implements Parcelable { && mIsEmergencyOnly == s.mIsEmergencyOnly && equalsHandlesNulls(mOperatorAlphaLongRaw, s.mOperatorAlphaLongRaw) && equalsHandlesNulls(mOperatorAlphaShortRaw, s.mOperatorAlphaShortRaw) && (mNetworkRegistrationInfos == null ? s.mNetworkRegistrationInfos == null : s.mNetworkRegistrationInfos != null && mNetworkRegistrationInfos.containsAll(s.mNetworkRegistrationInfos)) && mNetworkRegistrationInfos.size() == s.mNetworkRegistrationInfos.size() && mNetworkRegistrationInfos.containsAll(s.mNetworkRegistrationInfos) && mNrFrequencyRange == s.mNrFrequencyRange; } } /** * Convert roaming type to string Loading Loading @@ -1005,6 +1013,7 @@ public class ServiceState implements Parcelable { @Override public String toString() { synchronized (mNetworkRegistrationInfos) { return new StringBuilder().append("{mVoiceRegState=").append(mVoiceRegState) .append("(" + rilServiceStateToString(mVoiceRegState) + ")") .append(", mDataRegState=").append(mDataRegState) Loading Loading @@ -1036,6 +1045,7 @@ public class ServiceState implements Parcelable { .append(", mOperatorAlphaShortRaw=").append(mOperatorAlphaShortRaw) .append("}").toString(); } } private void init() { if (DBG) Rlog.d(LOG_TAG, "init"); Loading @@ -1060,6 +1070,7 @@ public class ServiceState implements Parcelable { mIsEmergencyOnly = false; mLteEarfcnRsrpBoost = 0; mNrFrequencyRange = FREQUENCY_RANGE_UNKNOWN; synchronized (mNetworkRegistrationInfos) { mNetworkRegistrationInfos.clear(); addNetworkRegistrationInfo(new NetworkRegistrationInfo.Builder() .setDomain(NetworkRegistrationInfo.DOMAIN_CS) Loading @@ -1071,6 +1082,7 @@ public class ServiceState implements Parcelable { .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN) .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN) .build()); } mOperatorAlphaLongRaw = null; mOperatorAlphaShortRaw = null; } Loading Loading @@ -1913,10 +1925,13 @@ public class ServiceState implements Parcelable { */ public ServiceState sanitizeLocationInfo(boolean removeCoarseLocation) { ServiceState state = new ServiceState(this); if (state.mNetworkRegistrationInfos != null) { state.mNetworkRegistrationInfos = state.mNetworkRegistrationInfos.stream() synchronized (state.mNetworkRegistrationInfos) { List<NetworkRegistrationInfo> networkRegistrationInfos = state.mNetworkRegistrationInfos.stream() .map(NetworkRegistrationInfo::sanitizeLocationInfo) .collect(Collectors.toList()); state.mNetworkRegistrationInfos.clear(); state.mNetworkRegistrationInfos.addAll(networkRegistrationInfos); } if (!removeCoarseLocation) return state; Loading Loading
telephony/java/android/telephony/ServiceState.java +115 −100 Original line number Diff line number Diff line Loading @@ -337,7 +337,7 @@ public class ServiceState implements Parcelable { * Reference: 3GPP TS 36.104 5.4.3 */ private int mLteEarfcnRsrpBoost = 0; private List<NetworkRegistrationInfo> mNetworkRegistrationInfos = new ArrayList<>(); private final List<NetworkRegistrationInfo> mNetworkRegistrationInfos = new ArrayList<>(); private String mOperatorAlphaLongRaw; private String mOperatorAlphaShortRaw; Loading Loading @@ -420,8 +420,10 @@ public class ServiceState implements Parcelable { mCellBandwidths = s.mCellBandwidths == null ? null : Arrays.copyOf(s.mCellBandwidths, s.mCellBandwidths.length); mLteEarfcnRsrpBoost = s.mLteEarfcnRsrpBoost; mNetworkRegistrationInfos = s.mNetworkRegistrationInfos == null ? null : s.getNetworkRegistrationInfoList(); synchronized (mNetworkRegistrationInfos) { mNetworkRegistrationInfos.clear(); mNetworkRegistrationInfos.addAll(s.getNetworkRegistrationInfoList()); } mNrFrequencyRange = s.mNrFrequencyRange; mOperatorAlphaLongRaw = s.mOperatorAlphaLongRaw; mOperatorAlphaShortRaw = s.mOperatorAlphaShortRaw; Loading Loading @@ -453,8 +455,9 @@ public class ServiceState implements Parcelable { mCdmaEriIconMode = in.readInt(); mIsEmergencyOnly = in.readInt() != 0; mLteEarfcnRsrpBoost = in.readInt(); mNetworkRegistrationInfos = new ArrayList<>(); synchronized (mNetworkRegistrationInfos) { in.readList(mNetworkRegistrationInfos, NetworkRegistrationInfo.class.getClassLoader()); } mChannelNumber = in.readInt(); mCellBandwidths = in.createIntArray(); mNrFrequencyRange = in.readInt(); Loading @@ -481,7 +484,9 @@ public class ServiceState implements Parcelable { out.writeInt(mCdmaEriIconMode); out.writeInt(mIsEmergencyOnly ? 1 : 0); out.writeInt(mLteEarfcnRsrpBoost); synchronized (mNetworkRegistrationInfos) { out.writeList(mNetworkRegistrationInfos); } out.writeInt(mChannelNumber); out.writeIntArray(mCellBandwidths); out.writeInt(mNrFrequencyRange); Loading Loading @@ -823,6 +828,7 @@ public class ServiceState implements Parcelable { @Override public int hashCode() { synchronized (mNetworkRegistrationInfos) { return Objects.hash( mVoiceRegState, mDataRegState, Loading @@ -849,12 +855,14 @@ public class ServiceState implements Parcelable { mOperatorAlphaLongRaw, mOperatorAlphaShortRaw); } } @Override public boolean equals (Object o) { if (!(o instanceof ServiceState)) return false; ServiceState s = (ServiceState) o; synchronized (mNetworkRegistrationInfos) { return mVoiceRegState == s.mVoiceRegState && mDataRegState == s.mDataRegState && mIsManualNetworkSelection == s.mIsManualNetworkSelection Loading @@ -875,11 +883,11 @@ public class ServiceState implements Parcelable { && mIsEmergencyOnly == s.mIsEmergencyOnly && equalsHandlesNulls(mOperatorAlphaLongRaw, s.mOperatorAlphaLongRaw) && equalsHandlesNulls(mOperatorAlphaShortRaw, s.mOperatorAlphaShortRaw) && (mNetworkRegistrationInfos == null ? s.mNetworkRegistrationInfos == null : s.mNetworkRegistrationInfos != null && mNetworkRegistrationInfos.containsAll(s.mNetworkRegistrationInfos)) && mNetworkRegistrationInfos.size() == s.mNetworkRegistrationInfos.size() && mNetworkRegistrationInfos.containsAll(s.mNetworkRegistrationInfos) && mNrFrequencyRange == s.mNrFrequencyRange; } } /** * Convert roaming type to string Loading Loading @@ -1005,6 +1013,7 @@ public class ServiceState implements Parcelable { @Override public String toString() { synchronized (mNetworkRegistrationInfos) { return new StringBuilder().append("{mVoiceRegState=").append(mVoiceRegState) .append("(" + rilServiceStateToString(mVoiceRegState) + ")") .append(", mDataRegState=").append(mDataRegState) Loading Loading @@ -1036,6 +1045,7 @@ public class ServiceState implements Parcelable { .append(", mOperatorAlphaShortRaw=").append(mOperatorAlphaShortRaw) .append("}").toString(); } } private void init() { if (DBG) Rlog.d(LOG_TAG, "init"); Loading @@ -1060,6 +1070,7 @@ public class ServiceState implements Parcelable { mIsEmergencyOnly = false; mLteEarfcnRsrpBoost = 0; mNrFrequencyRange = FREQUENCY_RANGE_UNKNOWN; synchronized (mNetworkRegistrationInfos) { mNetworkRegistrationInfos.clear(); addNetworkRegistrationInfo(new NetworkRegistrationInfo.Builder() .setDomain(NetworkRegistrationInfo.DOMAIN_CS) Loading @@ -1071,6 +1082,7 @@ public class ServiceState implements Parcelable { .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN) .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN) .build()); } mOperatorAlphaLongRaw = null; mOperatorAlphaShortRaw = null; } Loading Loading @@ -1913,10 +1925,13 @@ public class ServiceState implements Parcelable { */ public ServiceState sanitizeLocationInfo(boolean removeCoarseLocation) { ServiceState state = new ServiceState(this); if (state.mNetworkRegistrationInfos != null) { state.mNetworkRegistrationInfos = state.mNetworkRegistrationInfos.stream() synchronized (state.mNetworkRegistrationInfos) { List<NetworkRegistrationInfo> networkRegistrationInfos = state.mNetworkRegistrationInfos.stream() .map(NetworkRegistrationInfo::sanitizeLocationInfo) .collect(Collectors.toList()); state.mNetworkRegistrationInfos.clear(); state.mNetworkRegistrationInfos.addAll(networkRegistrationInfos); } if (!removeCoarseLocation) return state; Loading