From eb7763efa52bad67ff828ad895ff172190e86035 Mon Sep 17 00:00:00 2001 From: Kazuhiro Ondo Date: Fri, 26 Aug 2011 17:13:03 -0500 Subject: [PATCH] DO NOT MERGE: Fix leak in SIM ready registrants SIM Ready registrants was keep growing after air plane mode toggle or RIL recovery. Bug: 5222722 Change-Id: Iac9fcb86f96f9e42440e641cd94736fed6f45813 --- .../internal/telephony/cdma/CdmaLteServiceStateTracker.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java index 018b72c817d21..654fe8d57a02d 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java @@ -39,6 +39,7 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { CDMALTEPhone mCdmaLtePhone; private ServiceState mLteSS; // The last LTE state from Voice Registration + private boolean mNeedToRegForSimLoaded = true; public CdmaLteServiceStateTracker(CDMALTEPhone phone) { super(phone); @@ -71,7 +72,10 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { isSubscriptionFromRuim = false; // Register SIM_RECORDS_LOADED dynamically. // This is to avoid confilct with RUIM_READY scenario) - phone.mIccRecords.registerForRecordsLoaded(this, EVENT_SIM_RECORDS_LOADED, null); + if (mNeedToRegForSimLoaded) { + phone.mIccRecords.registerForRecordsLoaded(this, EVENT_SIM_RECORDS_LOADED, null); + mNeedToRegForSimLoaded = false; + } pollState(); // Signal strength polling stops when radio is off. queueNextSignalStrengthPoll();