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
This commit is contained in:
Lorenzo Colitti
2010-09-01 19:41:50 -07:00
parent 919853ce24
commit 93faa3239e
7 changed files with 38 additions and 21 deletions

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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' | \

View File

@@ -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

View File

@@ -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

View File

@@ -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) {

View File

@@ -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);
}