From 579f130ee349f5cf3663dc449a6dbfe06599f02d Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Fri, 27 Aug 2021 00:44:42 -0700 Subject: [PATCH] Deep copy service state object The entire service state should be deep copied, instead of shallow copied to the other object. Fix: 174306612 Test: Manual Change-Id: Ib6ad4ba26653ce5faad1e118a28d8be51435676c --- telephony/java/android/telephony/ServiceState.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index a51b5c146d6b8..484eb1f62ebad 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -444,7 +444,9 @@ public class ServiceState implements Parcelable { mArfcnRsrpBoost = s.mArfcnRsrpBoost; synchronized (mNetworkRegistrationInfos) { mNetworkRegistrationInfos.clear(); - mNetworkRegistrationInfos.addAll(s.getNetworkRegistrationInfoList()); + for (NetworkRegistrationInfo nri : s.getNetworkRegistrationInfoList()) { + mNetworkRegistrationInfos.add(new NetworkRegistrationInfo(nri)); + } } mNrFrequencyRange = s.mNrFrequencyRange; mOperatorAlphaLongRaw = s.mOperatorAlphaLongRaw;