summaryrefslogtreecommitdiffstats
path: root/telephony
diff options
context:
space:
mode:
authorRobert Greenwalt <robdroid@android.com>2009-08-27 17:11:56 -0700
committerRobert Greenwalt <robdroid@android.com>2009-08-28 14:35:28 -0700
commit6ce96faa0c8dc74ea6d1391aa54d9c6909810dc1 (patch)
tree8ca0a37b6508334e58d5161be065818135aaebbc /telephony
parent616195a3b3a50b4f504806cea629af2fe34ae953 (diff)
downloadframeworks_base-6ce96faa0c8dc74ea6d1391aa54d9c6909810dc1.zip
frameworks_base-6ce96faa0c8dc74ea6d1391aa54d9c6909810dc1.tar.gz
frameworks_base-6ce96faa0c8dc74ea6d1391aa54d9c6909810dc1.tar.bz2
Don't mark an APN disabled if setup fails
We need to leave the phone in a connectable state so that it connects whenever it's able (reception or just timing). If we mark it disabled on failure it wont try again. The retry comes from the phone layer, not from ConnectivityService. Also Fix the Phone layer so it retries even if it disconnected by request (DATA_DISABLED). This was a bug from long ago that didn't become visible until recently with fast wifi and slow mobile teardown. Change-Id: I04bf39fba0cb578c87d5fc6ea5d220820ff9f364
Diffstat (limited to 'telephony')
-rw-r--r--telephony/java/com/android/internal/telephony/DataConnectionTracker.java10
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java3
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java3
3 files changed, 3 insertions, 13 deletions
diff --git a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
index 79c4b41..ece708a 100644
--- a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
@@ -280,16 +280,8 @@ public abstract class DataConnectionTracker extends Handler {
if (!dataEnabled[apnId]) {
dataEnabled[apnId] = true;
enabledCount++;
- if (enabledCount == 1) {
- if (onTrySetupData(null) == false) {
- // failed to setup data - note we can't optimize by only adj
- // these after a successfull call. dataEnabled must be set
- // prior or we think data is not available.
- dataEnabled[apnId] = false;
- enabledCount--;
- }
- }
}
+ onTrySetupData(null);
} else {
// disable
if (dataEnabled[apnId]) {
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java
index 3cabd2d..ffaa1cd 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java
@@ -568,8 +568,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
private boolean retryAfterDisconnected(String reason) {
boolean retry = true;
- if ( Phone.REASON_RADIO_TURNED_OFF.equals(reason) ||
- Phone.REASON_DATA_DISABLED.equals(reason) ) {
+ if ( Phone.REASON_RADIO_TURNED_OFF.equals(reason) ) {
retry = false;
}
return retry;
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
index d057dfe..0215ab2 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
@@ -1010,8 +1010,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
private boolean retryAfterDisconnected(String reason) {
boolean retry = true;
- if ( Phone.REASON_RADIO_TURNED_OFF.equals(reason) ||
- Phone.REASON_DATA_DISABLED.equals(reason) ) {
+ if ( Phone.REASON_RADIO_TURNED_OFF.equals(reason) ) {
retry = false;
}
return retry;