summaryrefslogtreecommitdiffstats
path: root/telephony
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2011-03-22 15:30:41 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-03-22 15:30:41 -0700
commit5d612f160180f6c1f59e6cece41c7c3b97b19bf1 (patch)
treef462f22c008bf80427c8435f6e3d403299be0f22 /telephony
parentb05f0b84b23729fcaa2dfe3955a4384b8c9cd440 (diff)
parent8b84377f7dd0678f07c1056575d9f2bbf392adbd (diff)
downloadframeworks_base-5d612f160180f6c1f59e6cece41c7c3b97b19bf1.zip
frameworks_base-5d612f160180f6c1f59e6cece41c7c3b97b19bf1.tar.gz
frameworks_base-5d612f160180f6c1f59e6cece41c7c3b97b19bf1.tar.bz2
Merge "Remove unused onResetDone." into honeycomb-LTE
Diffstat (limited to 'telephony')
-rw-r--r--telephony/java/com/android/internal/telephony/DataConnection.java15
-rw-r--r--telephony/java/com/android/internal/telephony/DataConnectionTracker.java22
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java1
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java16
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java45
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java36
6 files changed, 62 insertions, 73 deletions
diff --git a/telephony/java/com/android/internal/telephony/DataConnection.java b/telephony/java/com/android/internal/telephony/DataConnection.java
index 1f5fc05..b5578c3 100644
--- a/telephony/java/com/android/internal/telephony/DataConnection.java
+++ b/telephony/java/com/android/internal/telephony/DataConnection.java
@@ -219,6 +219,7 @@ public abstract class DataConnection extends HierarchicalStateMachine {
protected static final int EVENT_LOG_BAD_DNS_ADDRESS = 50100;
//***** Member Variables
+ protected ApnSetting mApn;
protected int mTag;
protected PhoneBase phone;
protected int cid;
@@ -429,11 +430,12 @@ public abstract class DataConnection extends HierarchicalStateMachine {
protected void clearSettings() {
if (DBG) log("clearSettings");
- this.createTime = -1;
- this.lastFailTime = -1;
- this.lastFailCause = FailCause.NONE;
+ createTime = -1;
+ lastFailTime = -1;
+ lastFailCause = FailCause.NONE;
mLinkProperties = new LinkProperties();
+ mApn = null;
}
/**
@@ -1087,4 +1089,11 @@ public abstract class DataConnection extends HierarchicalStateMachine {
public FailCause getLastFailCause() {
return lastFailCause;
}
+
+ /**
+ * @return the current ApnSetting
+ */
+ public ApnSetting getApn() {
+ return mApn;
+ }
}
diff --git a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
index 7f0c7c7..d4a3c0a 100644
--- a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
@@ -441,7 +441,6 @@ public abstract class DataConnectionTracker extends Handler {
protected abstract void onRadioOffOrNotAvailable();
protected abstract void onDataSetupComplete(AsyncResult ar);
protected abstract void onDisconnectDone(int connId, AsyncResult ar);
- protected abstract void onResetDone(AsyncResult ar);
protected abstract void onVoiceCallStarted();
protected abstract void onVoiceCallEnded();
protected abstract void onCleanUpConnection(boolean tearDown, int apnId, String reason);
@@ -514,9 +513,10 @@ public abstract class DataConnectionTracker extends Handler {
onSetInternalDataEnabled(enabled);
break;
}
- case EVENT_RESET_DONE:
+ case EVENT_RESET_DONE: {
onResetDone((AsyncResult) msg.obj);
break;
+ }
case CMD_SET_DATA_ENABLE: {
log("CMD_SET_DATA_ENABLE msg=" + msg);
boolean enabled = (msg.arg1 == ENABLED) ? true : false;
@@ -602,6 +602,8 @@ public abstract class DataConnectionTracker extends Handler {
protected abstract void setState(State s);
+ protected abstract void gotoIdleAndNotifyDataConnection(String reason);
+
protected LinkProperties getLinkProperties(String apnType) {
int id = apnTypeToId(apnType);
if (isApnIdEnabled(id)) {
@@ -873,6 +875,22 @@ public abstract class DataConnectionTracker extends Handler {
}
/**
+ * Called when EVENT_RESET_DONE is received so goto
+ * IDLE state and send notifications to those interested.
+ *
+ * TODO - currently unused. Needs to be hooked into DataConnection cleanup
+ * TODO - needs to pass some notion of which connection is reset..
+ */
+ protected void onResetDone(AsyncResult ar) {
+ if (DBG) log("EVENT_RESET_DONE");
+ String reason = null;
+ if (ar.userObj instanceof String) {
+ reason = (String) ar.userObj;
+ }
+ gotoIdleAndNotifyDataConnection(reason);
+ }
+
+ /**
* Prevent mobile data connections from being established, or once again
* allow mobile data connections. If the state toggles, then either tear
* down or set up data, as appropriate to match the new state.
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
index 4f27e7f..cccc053 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
@@ -67,6 +67,7 @@ public class CdmaDataConnection extends DataConnection {
protected void onConnect(ConnectionParams cp) {
if (DBG) log("CdmaDataConnection Connecting...");
+ mApn = cp.apn;
createTime = -1;
lastFailTime = -1;
lastFailCause = FailCause.NONE;
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java
index 345d0d9..b244945 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java
@@ -508,7 +508,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
notifyDataAvailability(null);
}
- private void gotoIdleAndNotifyDataConnection(String reason) {
+ protected void gotoIdleAndNotifyDataConnection(String reason) {
if (DBG) log("gotoIdleAndNotifyDataConnection: reason=" + reason);
setState(State.IDLE);
notifyDataConnection(reason);
@@ -668,20 +668,6 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
}
/**
- * Called when EVENT_RESET_DONE is received so goto
- * IDLE state and send notifications to those interested.
- */
- @Override
- protected void onResetDone(AsyncResult ar) {
- if (DBG) log("EVENT_RESET_DONE");
- String reason = null;
- if (ar.userObj instanceof String) {
- reason = (String) ar.userObj;
- }
- gotoIdleAndNotifyDataConnection(reason);
- }
-
- /**
* @override com.android.internal.telephony.DataConnectionTracker
*/
@Override
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java
index 344486a..b0b2ac5 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java
@@ -36,8 +36,6 @@ public class GsmDataConnection extends DataConnection {
private static final String LOG_TAG = "GSM";
//***** Instance Variables
- private ApnSetting apn;
-
protected int mProfileId = RILConstants.DATA_PROFILE_DEFAULT;
protected String mActiveApnType = Phone.APN_TYPE_DEFAULT;
//***** Constructor
@@ -74,13 +72,13 @@ public class GsmDataConnection extends DataConnection {
@Override
protected
void onConnect(ConnectionParams cp) {
- apn = cp.apn;
+ mApn = cp.apn;
- if (DBG) log("Connecting to carrier: '" + apn.carrier
- + "' APN: '" + apn.apn
- + "' proxy: '" + apn.proxy + "' port: '" + apn.port);
+ if (DBG) log("Connecting to carrier: '" + mApn.carrier
+ + "' APN: '" + mApn.apn
+ + "' proxy: '" + mApn.proxy + "' port: '" + mApn.port);
- setHttpProxy (apn.proxy, apn.port);
+ setHttpProxy (mApn.proxy, mApn.port);
createTime = -1;
lastFailTime = -1;
@@ -90,23 +88,23 @@ public class GsmDataConnection extends DataConnection {
Message msg = obtainMessage(EVENT_SETUP_DATA_CONNECTION_DONE, cp);
msg.obj = cp;
- int authType = apn.authType;
+ int authType = mApn.authType;
if (authType == -1) {
- authType = (apn.user != null) ? RILConstants.SETUP_DATA_AUTH_PAP_CHAP :
+ authType = (mApn.user != null) ? RILConstants.SETUP_DATA_AUTH_PAP_CHAP :
RILConstants.SETUP_DATA_AUTH_NONE;
}
String protocol;
if (phone.getServiceState().getRoaming()) {
- protocol = apn.roamingProtocol;
+ protocol = mApn.roamingProtocol;
} else {
- protocol = apn.protocol;
+ protocol = mApn.protocol;
}
phone.mCM.setupDataCall(
Integer.toString(RILConstants.SETUP_DATA_TECH_GSM),
Integer.toString(mProfileId),
- apn.apn, apn.user, apn.password,
+ mApn.apn, mApn.user, mApn.password,
Integer.toString(authType),
protocol, msg);
}
@@ -129,14 +127,8 @@ public class GsmDataConnection extends DataConnection {
}
@Override
- protected void clearSettings() {
- super.clearSettings();
- apn = null;
- }
-
- @Override
public String toString() {
- return "State=" + getCurrentState().getName() + " Apn=" + apn +
+ return "State=" + getCurrentState().getName() + " Apn=" + mApn +
" create=" + createTime + " lastFail=" + lastFailTime +
" lastFailCause=" + lastFailCause;
}
@@ -150,11 +142,12 @@ public class GsmDataConnection extends DataConnection {
// Do not apply the race condition workaround for MMS APN
// if Proxy is an IP-address.
// Otherwise, the default APN will not be restored anymore.
- if (!apn.types[0].equals(Phone.APN_TYPE_MMS)
- || !isIpAddress(apn.mmsProxy)) {
+ if (!mApn.types[0].equals(Phone.APN_TYPE_MMS)
+ || !isIpAddress(mApn.mmsProxy)) {
log(String.format(
"isDnsOk: return false apn.types[0]=%s APN_TYPE_MMS=%s isIpAddress(%s)=%s",
- apn.types[0], Phone.APN_TYPE_MMS, apn.mmsProxy, isIpAddress(apn.mmsProxy)));
+ mApn.types[0], Phone.APN_TYPE_MMS, mApn.mmsProxy,
+ isIpAddress(mApn.mmsProxy)));
return false;
}
}
@@ -166,15 +159,11 @@ public class GsmDataConnection extends DataConnection {
Log.d(LOG_TAG, "[" + getName() + "] " + s);
}
- public ApnSetting getApn() {
- return this.apn;
- }
-
private void setHttpProxy(String httpProxy, String httpPort) {
if (DBG) log("set http proxy for"
+ "' APN: '" + mActiveApnType
- + "' proxy: '" + apn.proxy + "' port: '" + apn.port);
+ + "' proxy: '" + mApn.proxy + "' port: '" + mApn.port);
if(TextUtils.equals(mActiveApnType, Phone.APN_TYPE_DEFAULT)) {
if (httpProxy == null || httpProxy.length() == 0) {
phone.setSystemProperty("net.gprs.http-proxy", null);
@@ -205,6 +194,6 @@ public class GsmDataConnection extends DataConnection {
private boolean isIpAddress(String address) {
if (address == null) return false;
- return Patterns.IP_ADDRESS.matcher(apn.mmsProxy).matches();
+ return Patterns.IP_ADDRESS.matcher(address).matches();
}
}
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
index 0f62907..d602c38 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
@@ -757,20 +757,19 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
return;
}
- GsmDataConnection pdp = apnContext.getDataConnection();
- if (tearDown && pdp!=null) {
+ GsmDataConnection conn = apnContext.getDataConnection();
+ if (conn != null) {
apnContext.setState(State.DISCONNECTING);
- Message msg = obtainMessage(EVENT_DISCONNECT_DONE, apnContext);
- pdp.disconnect(msg);
- return;
- } else if (pdp != null) {
- pdp.clearSettings();
+ if (tearDown ) {
+ Message msg = obtainMessage(EVENT_DISCONNECT_DONE, apnContext);
+ conn.disconnect(msg);
+ } else {
+ conn.resetSynchronously();
+ apnContext.setState(State.IDLE);
+ mPhone.notifyDataConnection(apnContext.getReason(), apnContext.getApnType());
+ }
}
- if (!tearDown) {
- apnContext.setState(State.IDLE);
- mPhone.notifyDataConnection(apnContext.getReason(), apnContext.getApnType());
- }
if (apnContext.getPendingAction() == ApnContext.PENDING_ACTION_APN_DISABLE) {
mApnContexts.remove(apnContext.getApnType());
}
@@ -1036,7 +1035,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
}
// TODO: For multiple Active APNs not exactly sure how to do this.
- private void gotoIdleAndNotifyDataConnection(String reason) {
+ protected void gotoIdleAndNotifyDataConnection(String reason) {
if (DBG) log("gotoIdleAndNotifyDataConnection: reason=" + reason);
notifyDataConnection(reason);
mActiveApn = null;
@@ -1528,19 +1527,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
}
}
- /**
- * Called when EVENT_RESET_DONE is received.
- */
- @Override
- protected void onResetDone(AsyncResult ar) {
- if (DBG) log("EVENT_RESET_DONE");
- String reason = null;
- if (ar.userObj instanceof String) {
- reason = (String) ar.userObj;
- }
- gotoIdleAndNotifyDataConnection(reason);
- }
-
protected void onPollPdp() {
if (getOverallState() == State.CONNECTED) {
// only poll when connected