summaryrefslogtreecommitdiffstats
path: root/telephony/java/com/android
diff options
context:
space:
mode:
authorKazuhiro Ondo <kazuhiro.ondo@motorola.com>2011-07-02 13:34:13 -0500
committerWink Saville <wink@google.com>2011-07-06 18:45:06 -0700
commit378a4380f21486365bb712dfa69ad974b298b8cb (patch)
treeafd0ed2d553da8b3bedd5ffeaf1b9089bc15daa6 /telephony/java/com/android
parentc8e2916d0bdbbda5fb6faf61d6f24100641d19f5 (diff)
downloadframeworks_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.java12
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);