diff options
Diffstat (limited to 'src/java/com/android/internal/telephony/cdma/CdmaCallTracker.java')
-rw-r--r-- | src/java/com/android/internal/telephony/cdma/CdmaCallTracker.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/cdma/CdmaCallTracker.java b/src/java/com/android/internal/telephony/cdma/CdmaCallTracker.java index a7d5d0a..196e795 100644 --- a/src/java/com/android/internal/telephony/cdma/CdmaCallTracker.java +++ b/src/java/com/android/internal/telephony/cdma/CdmaCallTracker.java @@ -75,6 +75,10 @@ public final class CdmaCallTracker extends CallTracker { CdmaConnection pendingMO; boolean hangupPendingMO; + + //Used to re-request the list of current calls + boolean slow_modem = (SystemProperties.getInt("ro.telephony.slow_modem",0) != 0); + boolean pendingCallInEcm=false; boolean mIsInEmergencyCall = false; CDMAPhone phone; @@ -496,6 +500,13 @@ public final class CdmaCallTracker extends CallTracker { boolean needsPollDelay = false; boolean unknownConnectionAppeared = false; + if (slow_modem) { + if (polledCalls.size() == 0 && !hangupPendingMO){ + lastRelevantPoll = obtainMessage(EVENT_POLL_CALLS_RESULT); + cm.getCurrentCalls(lastRelevantPoll); + return; + } + } for (int i = 0, curDC = 0, dcSize = polledCalls.size() ; i < connections.length; i++) { CdmaConnection conn = connections[i]; @@ -829,6 +840,7 @@ public final class CdmaCallTracker extends CallTracker { "does not belong to CdmaCallTracker " + this); } + hangupPendingMO = true; call.onHangupLocal(); phone.notifyPreciseCallStateChanged(); } |