summaryrefslogtreecommitdiffstats
path: root/telephony/java
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2010-09-01 19:41:50 -0700
committerLorenzo Colitti <lorenzo@google.com>2011-02-28 11:16:57 -0800
commit93faa3239e4bd8d70efb85405bc9c8849ab77897 (patch)
tree5a1091fc9e643f252c0c0db71c8ccd7207a218fa /telephony/java
parent919853ce244f853966817d4adb2f3b7b6e4bbe74 (diff)
downloadframeworks_base-93faa3239e4bd8d70efb85405bc9c8849ab77897.zip
frameworks_base-93faa3239e4bd8d70efb85405bc9c8849ab77897.tar.gz
frameworks_base-93faa3239e4bd8d70efb85405bc9c8849ab77897.tar.bz2
Make setupDataCall take a protocol parameter.
Backport the protocol changes to setupDataCall and its callers from master. As in master, hardcode IPv4 connectivity for now. When we add the protocol field to ApnSettings, it will be fetched from there. Bug: 3333633 Change-Id: I51880bc0ec192cbf964ac7bbd6a4b7d2eed41d27
Diffstat (limited to 'telephony/java')
-rw-r--r--telephony/java/com/android/internal/telephony/CommandsInterface.java8
-rw-r--r--telephony/java/com/android/internal/telephony/RIL.java22
-rw-r--r--telephony/java/com/android/internal/telephony/RILConstants.java5
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java9
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java8
-rw-r--r--telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java2
-rw-r--r--telephony/java/com/android/internal/telephony/test/SimulatedCommands.java5
7 files changed, 38 insertions, 21 deletions
diff --git a/telephony/java/com/android/internal/telephony/CommandsInterface.java b/telephony/java/com/android/internal/telephony/CommandsInterface.java
index d84f396..5de9aa9 100644
--- a/telephony/java/com/android/internal/telephony/CommandsInterface.java
+++ b/telephony/java/com/android/internal/telephony/CommandsInterface.java
@@ -1350,11 +1350,15 @@ public interface CommandsInterface {
* the password for APN, or NULL
* @param authType
* the PAP / CHAP auth type. Values is one of SETUP_DATA_AUTH_*
+ * @param protocol
+ * one of the PDP_type values in TS 27.007 section 10.1.1.
+ * For example, "IP", "IPV6", "IPV4V6", or "PPP".
* @param result
* Callback message
*/
- public void setupDataCall(String radioTechnology, String profile, String apn,
- String user, String password, String authType, Message result);
+ public void setupDataCall(String radioTechnology, String profile,
+ String apn, String user, String password, String authType,
+ String protocol, Message result);
/**
* Deactivate packet data connection
diff --git a/telephony/java/com/android/internal/telephony/RIL.java b/telephony/java/com/android/internal/telephony/RIL.java
index f2643bb..09a4506 100644
--- a/telephony/java/com/android/internal/telephony/RIL.java
+++ b/telephony/java/com/android/internal/telephony/RIL.java
@@ -1309,7 +1309,8 @@ public final class RIL extends BaseCommands implements CommandsInterface {
: RILConstants.SETUP_DATA_AUTH_NONE;
setupDataCall(Integer.toString(radioTechnology), profile, apn, user,
- password, Integer.toString(authType), result);
+ password, Integer.toString(authType),
+ RILConstants.SETUP_DATA_PROTOCOL_IP, result);
}
@@ -1321,18 +1322,14 @@ public final class RIL extends BaseCommands implements CommandsInterface {
deactivateDataCall(cid, result);
}
- /**
- * The preferred new alternative to setupDefaultPDP that is
- * CDMA-compatible.
- *
- */
public void
setupDataCall(String radioTechnology, String profile, String apn,
- String user, String password, String authType, Message result) {
+ String user, String password, String authType, String protocol,
+ Message result) {
RILRequest rr
= RILRequest.obtain(RIL_REQUEST_SETUP_DATA_CALL, result);
- rr.mp.writeInt(6);
+ rr.mp.writeInt(7);
rr.mp.writeString(radioTechnology);
rr.mp.writeString(profile);
@@ -1340,11 +1337,12 @@ public final class RIL extends BaseCommands implements CommandsInterface {
rr.mp.writeString(user);
rr.mp.writeString(password);
rr.mp.writeString(authType);
+ rr.mp.writeString(protocol);
if (RILJ_LOGD) riljLog(rr.serialString() + "> "
+ requestToString(rr.mRequest) + " " + radioTechnology + " "
+ profile + " " + apn + " " + user + " "
- + password + " " + authType);
+ + password + " " + authType + " " + protocol);
send(rr);
}
@@ -2963,7 +2961,11 @@ public final class RIL extends BaseCommands implements CommandsInterface {
dataCall.active = p.readInt();
dataCall.type = p.readString();
dataCall.apn = p.readString();
- dataCall.address = p.readString();
+ String address = p.readString();
+ if (address != null) {
+ address = address.split(" ")[0];
+ }
+ dataCall.address = address;
response.add(dataCall);
}
diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java
index 888f721..0686791 100644
--- a/telephony/java/com/android/internal/telephony/RILConstants.java
+++ b/telephony/java/com/android/internal/telephony/RILConstants.java
@@ -91,11 +91,16 @@ public interface RILConstants {
/* Setup a packet data connection. See ril.h RIL_REQUEST_SETUP_DATA_CALL */
int SETUP_DATA_TECH_CDMA = 0;
int SETUP_DATA_TECH_GSM = 1;
+
int SETUP_DATA_AUTH_NONE = 0;
int SETUP_DATA_AUTH_PAP = 1;
int SETUP_DATA_AUTH_CHAP = 2;
int SETUP_DATA_AUTH_PAP_CHAP = 3;
+ String SETUP_DATA_PROTOCOL_IP = "IP";
+ String SETUP_DATA_PROTOCOL_IPV6 = "IPV6";
+ String SETUP_DATA_PROTOCOL_IPV4V6 = "IPV4V6";
+
/*
cat include/telephony/ril.h | \
egrep '^#define' | \
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
index 95cb1c6..66f35e4 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
@@ -85,9 +85,12 @@ public class CdmaDataConnection extends DataConnection {
// msg.obj will be returned in AsyncResult.userObj;
Message msg = obtainMessage(EVENT_SETUP_DATA_CONNECTION_DONE, cp);
msg.obj = cp;
- phone.mCM.setupDataCall(Integer.toString(RILConstants.SETUP_DATA_TECH_CDMA),
- Integer.toString(dataProfile), null, null,
- null, Integer.toString(RILConstants.SETUP_DATA_AUTH_PAP_CHAP), msg);
+ phone.mCM.setupDataCall(
+ Integer.toString(RILConstants.SETUP_DATA_TECH_CDMA),
+ Integer.toString(dataProfile),
+ null, null, null,
+ Integer.toString(RILConstants.SETUP_DATA_AUTH_PAP_CHAP),
+ RILConstants.SETUP_DATA_PROTOCOL_IP, msg);
}
@Override
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java
index 09d46dd..7437ba9 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java
@@ -104,9 +104,11 @@ public class GsmDataConnection extends DataConnection {
authType = (apn.user != null) ? RILConstants.SETUP_DATA_AUTH_PAP_CHAP :
RILConstants.SETUP_DATA_AUTH_NONE;
}
- phone.mCM.setupDataCall(Integer.toString(RILConstants.SETUP_DATA_TECH_GSM),
- Integer.toString(RILConstants.DATA_PROFILE_DEFAULT), apn.apn, apn.user,
- apn.password, Integer.toString(authType), msg);
+ phone.mCM.setupDataCall(
+ Integer.toString(RILConstants.SETUP_DATA_TECH_GSM),
+ Integer.toString(RILConstants.DATA_PROFILE_DEFAULT),
+ apn.apn, apn.user, apn.password, Integer.toString(authType),
+ RILConstants.SETUP_DATA_PROTOCOL_IP, msg);
}
@Override
diff --git a/telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java b/telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java
index ed578c8..ad43c30 100644
--- a/telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java
+++ b/telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java
@@ -193,7 +193,7 @@ class SipCommandInterface extends BaseCommands implements CommandsInterface {
public void setupDataCall(String radioTechnology, String profile,
String apn, String user, String password, String authType,
- Message result) {
+ String protcol, Message result) {
}
public void deactivateDataCall(int cid, Message result) {
diff --git a/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java b/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
index beec177..1fc09ab 100644
--- a/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
+++ b/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
@@ -960,8 +960,9 @@ public final class SimulatedCommands extends BaseCommands
unimplemented(result);
}
- public void setupDataCall(String radioTechnology, String profile, String apn, String user,
- String password, String authType, Message result) {
+ public void setupDataCall(String radioTechnology, String profile,
+ String apn, String user, String password, String authType,
+ String protocol, Message result) {
unimplemented(result);
}