diff options
author | Kazuhiro Ondo <kazuhiro.ondo@motorola.com> | 2011-07-02 13:34:13 -0500 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2011-07-06 18:45:06 -0700 |
commit | 378a4380f21486365bb712dfa69ad974b298b8cb (patch) | |
tree | afd0ed2d553da8b3bedd5ffeaf1b9089bc15daa6 /telephony/java/com/android | |
parent | c8e2916d0bdbbda5fb6faf61d6f24100641d19f5 (diff) | |
download | frameworks_base-378a4380f21486365bb712dfa69ad974b298b8cb.zip frameworks_base-378a4380f21486365bb712dfa69ad974b298b8cb.tar.gz frameworks_base-378a4380f21486365bb712dfa69ad974b298b8cb.tar.bz2 |
Reset FAILED ApnContext state to IDLE on data setup triggers
Make sure FAILED ApnContext state is reset to IDLE regarless of
existence of the reconnect alarm. This is to let FW re-evaluate
call setup conditions properly on data setup triggers.
Bug: 4989604
Change-Id: Ia9ec439db1df03bbd2e56803d3558542ba5f5400
Diffstat (limited to 'telephony/java/com/android')
-rw-r--r-- | telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index a6b131a..fe57d0d 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -608,16 +608,18 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { if (dcac.dataConnection != null) { dcac.dataConnection.resetRetryCount(); } - - Collection<ApnContext> apnList = dcac.getApnListSync(); - for (ApnContext apnContext : apnList) { - apnContext.setState(State.IDLE); - } } } // Only check for default APN state for (ApnContext apnContext : mApnContexts.values()) { + if (apnContext.getState() == State.FAILED) { + // By this time, alarms for all failed Apns + // should be stopped if any. + // Make sure to set the state back to IDLE + // so that setup data can happen. + apnContext.setState(State.IDLE); + } if (apnContext.isReady()) { if (apnContext.getState() == State.IDLE) { apnContext.setReason(reason); |