diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml
index 2ab9d60285f2..fdca5910c933 100644
--- a/b2g/config/dolphin/sources.xml
+++ b/b2g/config/dolphin/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml
index 5d1005ce96a6..f122ff4326e4 100644
--- a/b2g/config/emulator-ics/sources.xml
+++ b/b2g/config/emulator-ics/sources.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml
index e1958ce2195a..0b1cad71e7a5 100644
--- a/b2g/config/emulator-jb/sources.xml
+++ b/b2g/config/emulator-jb/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml
index 6d5f368a1b6c..5f102cd302bf 100644
--- a/b2g/config/emulator-kk/sources.xml
+++ b/b2g/config/emulator-kk/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml
index 5d1005ce96a6..f122ff4326e4 100644
--- a/b2g/config/emulator/sources.xml
+++ b/b2g/config/emulator/sources.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml
index 3226add737d5..c2224832098f 100644
--- a/b2g/config/flame-kk/sources.xml
+++ b/b2g/config/flame-kk/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/b2g/config/flame/sources.xml b/b2g/config/flame/sources.xml
index 4a038bce8fb5..bbe7bc53e572 100644
--- a/b2g/config/flame/sources.xml
+++ b/b2g/config/flame/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json
index c73075937418..500c3994ff33 100644
--- a/b2g/config/gaia.json
+++ b/b2g/config/gaia.json
@@ -1,9 +1,9 @@
{
"git": {
- "git_revision": "ae02fbdeae77b2002cebe33c61aedeee4b9439fd",
+ "git_revision": "4f39e48b95fa00c8669b8707447542024bb55432",
"remote": "https://git.mozilla.org/releases/gaia.git",
"branch": ""
},
- "revision": "62d026a98ea42f2b93de000e8d0d4f1254f86730",
+ "revision": "e0816d2581cdc2d0581f625c06811128c87c0c48",
"repo_path": "integration/gaia-central"
}
diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml
index a2133b5047eb..659b969db14f 100644
--- a/b2g/config/nexus-4/sources.xml
+++ b/b2g/config/nexus-4/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/nexus-5-l/sources.xml b/b2g/config/nexus-5-l/sources.xml
index dd2582296886..228b7dade4d0 100644
--- a/b2g/config/nexus-5-l/sources.xml
+++ b/b2g/config/nexus-5-l/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/dom/mobileconnection/interfaces/nsIMobileConnectionService.idl b/dom/mobileconnection/interfaces/nsIMobileConnectionService.idl
index ca9e5c0c290a..c92e9ec05753 100644
--- a/dom/mobileconnection/interfaces/nsIMobileConnectionService.idl
+++ b/dom/mobileconnection/interfaces/nsIMobileConnectionService.idl
@@ -108,7 +108,7 @@ interface nsIMobileConnectionListener : nsISupports
#define NO_ADDITIONAL_INFORMATION 0
%}
-[scriptable, builtinclass, uuid(14d66926-8434-11e4-8c3f-f724194bb5f1)]
+[scriptable, uuid(14d66926-8434-11e4-8c3f-f724194bb5f1)]
interface nsIMobileConnectionCallback : nsISupports
{
/**
diff --git a/dom/system/gonk/ril_consts.js b/dom/system/gonk/ril_consts.js
index 4dff10daebcd..b067ebdb7fbe 100644
--- a/dom/system/gonk/ril_consts.js
+++ b/dom/system/gonk/ril_consts.js
@@ -130,16 +130,31 @@ this.REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU = 106;
this.REQUEST_STK_SEND_ENVELOPE_WITH_STATUS = 107;
this.REQUEST_VOICE_RADIO_TECH = 108;
this.REQUEST_GET_CELL_INFO_LIST = 109;
+this.REQUEST_SET_UNSOL_CELL_INFO_LIST_RATE = 110;
+this.REQUEST_SET_INITIAL_ATTACH_APN = 111;
+this.REQUEST_IMS_REGISTRATION_STATE = 112;
+this.REQUEST_IMS_SEND_SMS = 113;
+this.REQUEST_SIM_TRANSMIT_APDU_BASIC = 114;
+this.REQUEST_SIM_OPEN_CHANNEL = 115;
+this.REQUEST_SIM_CLOSE_CHANNEL = 116;
+this.REQUEST_SIM_TRANSMIT_APDU_CHANNEL = 117;
+this.REQUEST_NV_READ_ITEM = 118;
+this.REQUEST_NV_WRITE_ITEM = 119;
+this.REQUEST_NV_WRITE_CDMA_PRL = 120;
+this.REQUEST_NV_RESET_CONFIG = 121;
+this.REQUEST_SET_UICC_SUBSCRIPTION = 122;
+this.REQUEST_ALLOW_DATA = 123;
+this.REQUEST_GET_HARDWARE_CONFIG = 124;
+this.REQUEST_SIM_AUTHENTICATION = 125;
+this.REQUEST_GET_DC_RT_INFO = 126;
+this.REQUEST_SET_DC_RT_INFO_RATE = 127;
+this.REQUEST_SET_DATA_PROFILE = 128;
+this.REQUEST_SHUTDOWN = 129;
-// CAF specific parcel type. Synced with latest version.
-// Please see https://www.codeaurora.org/cgit/quic/la/platform/hardware/ril/tree/include/telephony/ril.h?h=b2g_kk_3.5
-this.REQUEST_SET_UICC_SUBSCRIPTION = 115;
-this.REQUEST_SET_DATA_SUBSCRIPTION = 116;
-
-// UICC Secure Access.
-this.REQUEST_SIM_OPEN_CHANNEL = 121;
-this.REQUEST_SIM_CLOSE_CHANNEL = 122;
-this.REQUEST_SIM_ACCESS_CHANNEL = 123;
+// CAF specific parcel type. It should be synced with latest version. But CAF
+// doesn't have l version for b2g yet, so we set REQUEST_SET_DATA_SUBSCRIPTION
+// to a value that won't get conflict with known AOSP parcel.
+this.REQUEST_SET_DATA_SUBSCRIPTION = 130;
// Mozilla specific parcel type.
this.REQUEST_GET_UNLOCK_RETRY_COUNT = 150;
@@ -191,6 +206,12 @@ this.UNSOLICITED_CDMA_PRL_CHANGED = 1032;
this.UNSOLICITED_EXIT_EMERGENCY_CALLBACK_MODE = 1033;
this.UNSOLICITED_RIL_CONNECTED = 1034;
this.UNSOLICITED_VOICE_RADIO_TECH_CHANGED = 1035;
+this.UNSOLICITED_CELL_INFO_LIST = 1036;
+this.UNSOLICITED_RESPONSE_IMS_NETWORK_STATE_CHANGED = 1037;
+this.UNSOLICITED_UICC_SUBSCRIPTION_STATUS_CHANGED = 1038;
+this.UNSOLICITED_SRVCC_STATE_NOTIFY = 1039;
+this.UNSOLICITED_HARDWARE_CONFIG_CHANGED = 1040;
+this.UNSOLICITED_DC_RT_INFO_CHANGED = 1041;
this.ERROR_SUCCESS = 0;
this.ERROR_RADIO_NOT_AVAILABLE = 1;
diff --git a/dom/system/gonk/ril_worker.js b/dom/system/gonk/ril_worker.js
index 7e7ddd4bbe6a..14ba26878068 100644
--- a/dom/system/gonk/ril_worker.js
+++ b/dom/system/gonk/ril_worker.js
@@ -1322,10 +1322,6 @@ RilObject.prototype = {
* Open Logical UICC channel (aid) for Secure Element access
*/
iccOpenChannel: function(options) {
- if (DEBUG) {
- this.context.debug("iccOpenChannel: " + JSON.stringify(options));
- }
-
let Buf = this.context.Buf;
Buf.newParcel(REQUEST_SIM_OPEN_CHANNEL, options);
Buf.writeString(options.aid);
@@ -1336,31 +1332,15 @@ RilObject.prototype = {
* Exchange APDU data on an open Logical UICC channel
*/
iccExchangeAPDU: function(options) {
- if (DEBUG) this.context.debug("iccExchangeAPDU: " + JSON.stringify(options));
-
- let cla = options.apdu.cla;
- let command = options.apdu.command;
- let channel = options.channel;
- let path = options.apdu.path || "";
- let data = options.apdu.data || "";
- let data2 = options.apdu.data2 || "";
-
- let p1 = options.apdu.p1;
- let p2 = options.apdu.p2;
- let p3 = options.apdu.p3; // Extra
-
let Buf = this.context.Buf;
- Buf.newParcel(REQUEST_SIM_ACCESS_CHANNEL, options);
- Buf.writeInt32(cla);
- Buf.writeInt32(command);
- Buf.writeInt32(channel);
- Buf.writeString(path); // path
- Buf.writeInt32(p1);
- Buf.writeInt32(p2);
- Buf.writeInt32(p3);
- Buf.writeString(data); // generic data field.
- Buf.writeString(data2);
-
+ Buf.newParcel(REQUEST_SIM_TRANSMIT_APDU_CHANNEL, options);
+ Buf.writeInt32(options.channel);
+ Buf.writeInt32(options.apdu.cla);
+ Buf.writeInt32(options.apdu.command);
+ Buf.writeInt32(options.apdu.p1);
+ Buf.writeInt32(options.apdu.p2);
+ Buf.writeInt32(options.apdu.p3);
+ Buf.writeString(options.apdu.data);
Buf.sendParcel();
},
@@ -1368,8 +1348,6 @@ RilObject.prototype = {
* Close Logical UICC channel
*/
iccCloseChannel: function(options) {
- if (DEBUG) this.context.debug("iccCloseChannel: " + JSON.stringify(options));
-
let Buf = this.context.Buf;
Buf.newParcel(REQUEST_SIM_CLOSE_CHANNEL, options);
Buf.writeInt32(1);
@@ -5863,47 +5841,6 @@ RilObject.prototype[REQUEST_CHANGE_BARRING_PASSWORD] =
options.statusMessage = MMI_SM_KS_PASSWORD_CHANGED;
this.sendChromeMessage(options);
};
-RilObject.prototype[REQUEST_SIM_OPEN_CHANNEL] = function REQUEST_SIM_OPEN_CHANNEL(length, options) {
- if (options.rilRequestError) {
- options.errorMsg = RIL_ERROR_TO_GECKO_ERROR[options.rilRequestError];
- this.sendChromeMessage(options);
- return;
- }
-
- options.channel = this.context.Buf.readInt32();
- if (DEBUG) {
- this.context.debug("Setting channel number in options: " + options.channel);
- }
- this.sendChromeMessage(options);
-};
-RilObject.prototype[REQUEST_SIM_CLOSE_CHANNEL] = function REQUEST_SIM_CLOSE_CHANNEL(length, options) {
- if (options.rilRequestError) {
- options.error = RIL_ERROR_TO_GECKO_ERROR[options.rilRequestError];
- this.sendChromeMessage(options);
- return;
- }
-
- // No return value
- this.sendChromeMessage(options);
-};
-RilObject.prototype[REQUEST_SIM_ACCESS_CHANNEL] = function REQUEST_SIM_ACCESS_CHANNEL(length, options) {
- if (options.rilRequestError) {
- options.error = RIL_ERROR_TO_GECKO_ERROR[options.rilRequestError];
- this.sendChromeMessage(options);
- }
-
- let Buf = this.context.Buf;
- options.sw1 = Buf.readInt32();
- options.sw2 = Buf.readInt32();
- options.simResponse = Buf.readString();
- if (DEBUG) {
- this.context.debug("Setting return values for RIL[REQUEST_SIM_ACCESS_CHANNEL]: [" +
- options.sw1 + "," +
- options.sw2 + ", " +
- options.simResponse + "]");
- }
- this.sendChromeMessage(options);
-};
RilObject.prototype[REQUEST_QUERY_NETWORK_SELECTION_MODE] = function REQUEST_QUERY_NETWORK_SELECTION_MODE(length, options) {
this._receivedNetworkInfo(NETWORK_INFO_NETWORK_SELECTION_MODE);
@@ -6427,12 +6364,64 @@ RilObject.prototype[REQUEST_VOICE_RADIO_TECH] = function REQUEST_VOICE_RADIO_TEC
let radioTech = this.context.Buf.readInt32List();
this._processRadioTech(radioTech[0]);
};
+RilObject.prototype[REQUEST_GET_CELL_INFO_LIST] = null;
+RilObject.prototype[REQUEST_SET_UNSOL_CELL_INFO_LIST_RATE] = null;
+RilObject.prototype[REQUEST_SET_INITIAL_ATTACH_APN] = null;
+RilObject.prototype[REQUEST_IMS_REGISTRATION_STATE] = null;
+RilObject.prototype[REQUEST_IMS_SEND_SMS] = null;
+RilObject.prototype[REQUEST_SIM_TRANSMIT_APDU_BASIC] = null;
+RilObject.prototype[REQUEST_SIM_OPEN_CHANNEL] = function REQUEST_SIM_OPEN_CHANNEL(length, options) {
+ if (options.rilRequestError) {
+ options.errorMsg = RIL_ERROR_TO_GECKO_ERROR[options.rilRequestError];
+ this.sendChromeMessage(options);
+ return;
+ }
+
+ options.channel = this.context.Buf.readInt32();
+ if (DEBUG) {
+ this.context.debug("Setting channel number in options: " + options.channel);
+ }
+ this.sendChromeMessage(options);
+};
+RilObject.prototype[REQUEST_SIM_CLOSE_CHANNEL] = function REQUEST_SIM_CLOSE_CHANNEL(length, options) {
+ this.sendDefaultResponse(options);
+};
+RilObject.prototype[REQUEST_SIM_TRANSMIT_APDU_CHANNEL] = function REQUEST_SIM_TRANSMIT_APDU_CHANNEL(length, options) {
+ if (options.rilRequestError) {
+ options.errorMsg = RIL_ERROR_TO_GECKO_ERROR[options.rilRequestError];
+ this.sendChromeMessage(options);
+ return;
+ }
+
+ let Buf = this.context.Buf;
+ options.sw1 = Buf.readInt32();
+ options.sw2 = Buf.readInt32();
+ options.simResponse = Buf.readString();
+ if (DEBUG) {
+ this.context.debug("Setting return values for RIL[REQUEST_SIM_TRANSMIT_APDU_CHANNEL]: [" +
+ options.sw1 + "," +
+ options.sw2 + ", " +
+ options.simResponse + "]");
+ }
+ this.sendChromeMessage(options);
+};
+RilObject.prototype[REQUEST_NV_READ_ITEM] = null;
+RilObject.prototype[REQUEST_NV_WRITE_ITEM] = null;
+RilObject.prototype[REQUEST_NV_WRITE_CDMA_PRL] = null;
+RilObject.prototype[REQUEST_NV_RESET_CONFIG] = null;
RilObject.prototype[REQUEST_SET_UICC_SUBSCRIPTION] = function REQUEST_SET_UICC_SUBSCRIPTION(length, options) {
// Resend data subscription after uicc subscription.
if (this._attachDataRegistration) {
this.setDataRegistration({attach: true});
}
};
+RilObject.prototype[REQUEST_ALLOW_DATA] = null;
+RilObject.prototype[REQUEST_GET_HARDWARE_CONFIG] = null;
+RilObject.prototype[REQUEST_SIM_AUTHENTICATION] = null;
+RilObject.prototype[REQUEST_GET_DC_RT_INFO] = null;
+RilObject.prototype[REQUEST_SET_DC_RT_INFO_RATE] = null;
+RilObject.prototype[REQUEST_SET_DATA_PROFILE] = null;
+RilObject.prototype[REQUEST_SHUTDOWN] = null;
RilObject.prototype[REQUEST_SET_DATA_SUBSCRIPTION] = function REQUEST_SET_DATA_SUBSCRIPTION(length, options) {
if (!options.rilMessageType) {
// The request was made by ril_worker itself. Don't report.
@@ -6827,6 +6816,12 @@ RilObject.prototype[UNSOLICITED_VOICE_RADIO_TECH_CHANGED] = function UNSOLICITED
// See Bug 866038.
this._processRadioTech(this.context.Buf.readInt32List()[0]);
};
+RilObject.prototype[UNSOLICITED_CELL_INFO_LIST] = null;
+RilObject.prototype[UNSOLICITED_RESPONSE_IMS_NETWORK_STATE_CHANGED] = null;
+RilObject.prototype[UNSOLICITED_UICC_SUBSCRIPTION_STATUS_CHANGED] = null;
+RilObject.prototype[UNSOLICITED_SRVCC_STATE_NOTIFY] = null;
+RilObject.prototype[UNSOLICITED_HARDWARE_CONFIG_CHANGED] = null;
+RilObject.prototype[UNSOLICITED_DC_RT_INFO_CHANGED] = null;
/**
* This object exposes the functionality to parse and serialize PDU strings
diff --git a/dom/system/gonk/ril_worker_buf_object.js b/dom/system/gonk/ril_worker_buf_object.js
index f0853e073419..0363863dfedb 100644
--- a/dom/system/gonk/ril_worker_buf_object.js
+++ b/dom/system/gonk/ril_worker_buf_object.js
@@ -29,6 +29,26 @@
// this derived one needs to invoke it.
// Using 'apply' style to mark it's a parent method calling explicitly.
Buf._init.apply(this);
+
+ // Remapping the request type to different values based on RIL version.
+ // We only have to do this for SUBSCRIPTION right now, so I just make it
+ // simple. A generic logic or structure could be discussed if we have more
+ // use cases, especially the cases from different partners.
+ this._requestMap = {};
+ // RIL version 8.
+ // For the CAF's proprietary parcels. Please see
+ // https://www.codeaurora.org/cgit/quic/la/platform/hardware/ril/tree/include/telephony/ril.h?h=b2g_jb_3.2
+ let map = {};
+ map[REQUEST_SET_UICC_SUBSCRIPTION] = 114;
+ map[REQUEST_SET_DATA_SUBSCRIPTION] = 115;
+ this._requestMap[8] = map;
+ // RIL version 9.
+ // For the CAF's proprietary parcels. Please see
+ // https://www.codeaurora.org/cgit/quic/la/platform/hardware/ril/tree/include/telephony/ril.h?h=b2g_kk_3.5
+ map = {};
+ map[REQUEST_SET_UICC_SUBSCRIPTION] = 115;
+ map[REQUEST_SET_DATA_SUBSCRIPTION] = 116;
+ this._requestMap[9] = map;
};
/**
@@ -124,19 +144,18 @@
* use cases, especially the cases from different partners.
*/
BufObject.prototype._reMapRequestType = function(type) {
- let newType = type;
- switch (type) {
- case REQUEST_SET_UICC_SUBSCRIPTION:
- case REQUEST_SET_DATA_SUBSCRIPTION:
- if (this.context.RIL.version < 9) {
- // Shift the CAF's proprietary parcels. Please see
- // https://www.codeaurora.org/cgit/quic/la/platform/hardware/ril/tree/include/telephony/ril.h?h=b2g_jb_3.2
- newType = type - 1;
+ for (let version in this._requestMap) {
+ if (this.context.RIL.version <= version) {
+ let newType = this._requestMap[version][type];
+ if (newType) {
+ if (DEBUG) {
+ this.context.debug("Remap request type to " + newType);
+ }
+ return newType;
}
- break;
+ }
}
-
- return newType;
+ return type;
};
// Before we make sure to form it as a module would not add extra
diff --git a/testing/taskcluster/tasks/branches/try/job_flags.yml b/testing/taskcluster/tasks/branches/try/job_flags.yml
index c8698ef42f8f..9778ac92ec12 100644
--- a/testing/taskcluster/tasks/branches/try/job_flags.yml
+++ b/testing/taskcluster/tasks/branches/try/job_flags.yml
@@ -44,6 +44,18 @@ builds:
task: tasks/builds/b2g_emulator_ics_opt.yml
debug:
task: tasks/builds/b2g_emulator_ics_debug.yml
+ flame-kk:
+ platforms:
+ - b2g
+ types:
+ opt:
+ task: tasks/builds/b2g_flame_kk_opt.yml
+ flame-kk-eng:
+ platforms:
+ - b2g
+ types:
+ opt:
+ task: tasks/builds/b2g_flame_kk_eng.yml
tests:
cppunit:
diff --git a/testing/taskcluster/tasks/builds/b2g_flame_kk_eng.yml b/testing/taskcluster/tasks/builds/b2g_flame_kk_eng.yml
index 96823754353f..be7344484bc1 100644
--- a/testing/taskcluster/tasks/builds/b2g_flame_kk_eng.yml
+++ b/testing/taskcluster/tasks/builds/b2g_flame_kk_eng.yml
@@ -1,7 +1,7 @@
$inherits:
from: 'tasks/builds/b2g_phone_base.yml'
task:
- workerType: b2gbuild-emulator-kk
+ workerType: flame-kk
scopes:
- 'docker-worker:cache:build-flame-kk-eng'
metadata:
diff --git a/testing/taskcluster/tasks/builds/b2g_flame_kk_opt.yml b/testing/taskcluster/tasks/builds/b2g_flame_kk_opt.yml
index fc13e1b68304..41fa9f2dae51 100644
--- a/testing/taskcluster/tasks/builds/b2g_flame_kk_opt.yml
+++ b/testing/taskcluster/tasks/builds/b2g_flame_kk_opt.yml
@@ -1,7 +1,7 @@
$inherits:
from: 'tasks/builds/b2g_phone_base.yml'
task:
- workerType: b2gbuild-emulator-kk
+ workerType: flame-kk
scopes:
- 'docker-worker:cache:build-flame-kk-opt'
metadata:
diff --git a/testing/taskcluster/tasks/phone_build.yml b/testing/taskcluster/tasks/phone_build.yml
index 59a967904467..cfc5aba7e0b4 100644
--- a/testing/taskcluster/tasks/phone_build.yml
+++ b/testing/taskcluster/tasks/phone_build.yml
@@ -9,11 +9,13 @@ task:
metadata:
source: http://todo.com/soon
owner: mozilla-taskcluster-maintenance@mozilla.com
+
tags:
createdForUser: {{owner}}
workerType: b2gbuild
provisionerId: aws-provisioner
+ schedulerId: task-graph-scheduler
scopes:
# Nearly all of our build tasks use tc-vcs so just include the scope across
@@ -49,4 +51,6 @@ task:
extra:
treeherder:
+ groupSymbol: tc
+ groupName: Submitted by taskcluster
symbol: B