Merge b2g-inbound to m-c

This commit is contained in:
Wes Kocher 2014-05-01 18:27:09 -07:00
commit dbb6fbfa93
23 changed files with 191 additions and 78 deletions

View File

@ -19,13 +19,13 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="ca283b9db2b151d465cfd2e19346cf58fe89e413"/>
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="d5800c36b2d5822fc3fe1899b9280401de466e1e"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
<project name="platform/bionic" path="bionic" revision="c72b8f6359de7ed17c11ddc9dfdde3f615d188a9"/>

View File

@ -17,10 +17,10 @@
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<!-- Stock Android things -->

View File

@ -15,14 +15,14 @@
<project name="platform_build" path="build" remote="b2g" revision="65fba428f8d76336b33ddd9e15900357953600ba">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<!-- Stock Android things -->
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="f92a936f2aa97526d4593386754bdbf02db07a12"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="6e47ff2790f5656b5b074407829ceecf3e6188c4"/>

View File

@ -19,13 +19,13 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="ca283b9db2b151d465cfd2e19346cf58fe89e413"/>
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="d5800c36b2d5822fc3fe1899b9280401de466e1e"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
<project name="platform/bionic" path="bionic" revision="c72b8f6359de7ed17c11ddc9dfdde3f615d188a9"/>

View File

@ -18,10 +18,10 @@
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<!-- Stock Android things -->

View File

@ -4,6 +4,6 @@
"remote": "",
"branch": ""
},
"revision": "89e8095a1515d9ff7671400baa0a6a50161394ba",
"revision": "689e41080c6c21f0d2b51363304776c70967c9c5",
"repo_path": "/integration/gaia-central"
}

View File

@ -17,12 +17,12 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
<project name="platform/bionic" path="bionic" revision="d2eb6c7b6e1bc7643c17df2d9d9bcb1704d0b9ab"/>

View File

@ -15,7 +15,7 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>

View File

@ -19,12 +19,12 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
<project name="platform/bionic" path="bionic" revision="cd5dfce80bc3f0139a56b58aca633202ccaee7f8"/>

View File

@ -17,12 +17,12 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<project name="gonk-patches" path="patches" remote="b2g" revision="223a2421006e8f5da33f516f6891c87cae86b0f6"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>

View File

@ -17,10 +17,10 @@
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<!-- Stock Android things -->

View File

@ -17,12 +17,12 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f98b024ffd52b55ea3fa18ece0ed8742d970d4ef"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="386b5478eb9c3970972966123517e993e8a1092a"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="f313e6d3aaaefe8c82eaed15912a09b120fb7260"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="ce95d372e6d285725b96490afdaaf489ad8f9ca9"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8d6c36d74ba9aefbc8c3618fc93dd4907a0dbf5e"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a054c7385854b0e71b8d3071a465b9bc21581ee0"/>
<project name="gonk-patches" path="patches" remote="b2g" revision="223a2421006e8f5da33f516f6891c87cae86b0f6"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>

View File

@ -86,7 +86,7 @@ simulator: make-package
@echo 'Building simulator addon...'
$(PYTHON) $(topsrcdir)/b2g/simulator/build_xpi.py $(MOZ_PKG_PLATFORM)
default:: simulator
libs:: simulator
# Ensure copying Simulator xpi to ftp
UPLOAD_EXTRA_FILES += fxos-simulator-*-*.xpi

View File

@ -523,10 +523,7 @@ function getEmulatorGsmLocation() {
is(aResults[1].substring(0,2), "ci", "ci output");
let lac = parseInt(aResults[0].substring(5));
lac = (lac < 0 ? 65535 : lac);
let cid = parseInt(aResults[1].substring(4));
cid = (cid < 0 ? 268435455 : cid);
return { lac: lac, cid: cid };
});
}
@ -547,6 +544,33 @@ function setEmulatorGsmLocation(aLac, aCid) {
return runEmulatorCmdSafe(cmd);
}
/**
* Set GSM location and wait for voice and/or data state change.
*
* Fulfill params: (none)
*
* @param aLac
* @param aCid
* @param aWaitVoice [optional]
* A boolean value. Default true.
* @param aWaitData [optional]
* A boolean value. Default false.
*
* @return A deferred promise.
*/
function setEmulatorGsmLocationAndWait(aLac, aCid,
aWaitVoice = true, aWaitData = false) {
let promises = [];
if (aWaitVoice) {
promises.push(waitForManagerEvent("voicechange"));
}
if (aWaitData) {
promises.push(waitForManagerEvent("datachange"));
}
promises.push(setEmulatorGsmLocation(aLac, aCid));
return Promise.all(promises);
}
/**
* Get emulator operators info.
*
@ -622,6 +646,43 @@ function setEmulatorOperatorNames(aOperator, aLongName, aShortName, aMcc, aMnc)
});
}
/**
* Set emulator operators info and wait for voice and/or data state change.
*
* Fulfill params: (none)
*
* @param aOperator
* "home" or "roaming".
* @param aLongName
* A string.
* @param aShortName
* A string.
* @param aMcc [optional]
* A string.
* @param aMnc [optional]
* A string.
* @param aWaitVoice [optional]
* A boolean value. Default true.
* @param aWaitData [optional]
* A boolean value. Default false.
*
* @return A deferred promise.
*/
function setEmulatorOperatorNamesAndWait(aOperator, aLongName, aShortName,
aMcc, aMnc,
aWaitVoice = true, aWaitData = false) {
let promises = [];
if (aWaitVoice) {
promises.push(waitForManagerEvent("voicechange"));
}
if (aWaitData) {
promises.push(waitForManagerEvent("datachange"));
}
promises.push(setEmulatorOperatorNames(aOperator, aLongName, aShortName,
aMcc, aMnc));
return Promise.all(promises);
}
let _networkManager;
/**

View File

@ -5,17 +5,14 @@ qemu = true
[test_mobile_networks.js]
[test_mobile_voice_state.js]
disabled = Bug 999458
[test_mobile_voice_location.js]
[test_mobile_operator_names.js]
[test_mobile_operator_names_plmnlist.js]
disabled = Bug 999458
[test_mobile_operator_names_roaming.js]
[test_mobile_preferred_network_type.js]
[test_mobile_data_connection.js]
[test_mobile_data_location.js]
[test_mobile_data_state.js]
disabled = Bug 999458
[test_mobile_mmi.js]
[test_mobile_mmi_change_pin.js]
[test_mobile_roaming_preference.js]

View File

@ -8,8 +8,6 @@ function verifyDataCellLocationInfo(aLac, aCid) {
let cell = mobileConnection.data.cell;
ok(cell, "location available");
// Initial LAC/CID. Android emulator initializes both value to
// 0xffff/0xffffffff.
is(cell.gsmLocationAreaCode, aLac, "data.cell.gsmLocationAreaCode");
is(cell.gsmCellId, aCid, "data.cell.gsmCellId");
is(cell.cdmaBaseStationId, -1, "data.cell.cdmaBaseStationId");
@ -26,10 +24,7 @@ function testDataCellLocationUpdate(aLac, aCid) {
// Set emulator's lac/cid and wait for 'ondatachange' event.
log("Test cell location with lac=" + aLac + " and cid=" + aCid);
let promises = [];
promises.push(waitForManagerEvent("datachange"));
promises.push(setEmulatorGsmLocation(aLac, aCid));
return Promise.all(promises)
return setEmulatorGsmLocationAndWait(aLac, aCid, false, true)
.then(() => verifyDataCellLocationInfo(aLac, aCid));
}

View File

@ -13,8 +13,8 @@ const INITIAL_STATES = {
relSignalStrength: 44,
cell: {
gsmLocationAreaCode: 65535,
gsmCellId: 268435455,
gsmLocationAreaCode: 0,
gsmCellId: 0,
cdmaBaseStationId: -1,
cdmaBaseStationLatitude: -2147483648,
cdmaBaseStationLongitude: -2147483648,
@ -73,8 +73,8 @@ const TEST_DATA = [{
signalStrength: -99,
relSignalStrength: 44,
cell: {
gsmLocationAreaCode: 65535,
gsmCellId: 268435455
gsmLocationAreaCode: 0,
gsmCellId: 0
}
}
}, {
@ -88,8 +88,8 @@ const TEST_DATA = [{
signalStrength: -99,
relSignalStrength: 44,
cell: {
gsmLocationAreaCode: 65535,
gsmCellId: 268435455
gsmLocationAreaCode: 0,
gsmCellId: 0
}
}
}

View File

@ -16,10 +16,8 @@ function check(aLongName, aShortName) {
function test(aLongName, aShortName) {
log("Testing '" + aLongName + "', '" + aShortName + "':");
let promises = [];
promises.push(waitForManagerEvent("voicechange"));
promises.push(setEmulatorOperatorNames("home", aLongName, aShortName));
return Promise.all(promises)
return setEmulatorOperatorNamesAndWait("home", aLongName, aShortName,
null, null, true, false)
.then(() => check(aLongName, aShortName));
}

View File

@ -4,37 +4,110 @@
MARIONETTE_TIMEOUT = 60000;
MARIONETTE_HEAD_JS = "head.js";
function check(aLongName, aShortName, aMcc, aMnc) {
const TEST_CELL_ID = 268435399; // The largest prime number that is smaller than
// 0xFFFFFFF (DEC 268435455). The next one is
// 268435459. This doesn't mean anything. ;)
// See http://primes.utm.edu/lists/small/millions/
function check(aLongName, aShortName, aMcc, aMnc, aLac, aCid) {
let network = mobileConnection.voice.network;
log(" Got longName '" + network.longName + "', shortName '" +
network.shortName + "'");
is(network.longName, aLongName, "network.longName");
is(network.shortName, aShortName, "network.shortName");
is(network.mcc, aMcc, "network.mcc");
is(network.mnc, aMnc, "network.mnc");
let cell = mobileConnection.voice.cell;
is(cell.gsmLocationAreaCode, aLac, "cell.gsmLocationAreaCode");
is(cell.gsmCellId, aCid, "cell.gsmCellId");
}
function test(aLongName, aShortName, aMcc, aMnc, aExpectedLongName,
aExpectedShortName) {
log("Testing mcc = " + aMcc + ", mnc = " + aMnc + ":");
function test(aLongName, aShortName, aMcc, aMnc, aLac, aCid,
aExpectedLongName, aExpectedShortName) {
log("Testing mcc = " + aMcc + ", mnc = " + aMnc + ", lac = " + aLac + ":");
let promises = [];
promises.push(waitForManagerEvent("voicechange"));
promises.push(setEmulatorOperatorNames("home", aLongName, aShortName, aMcc, aMnc));
return Promise.all(promises)
.then(() => check(aExpectedLongName, aExpectedShortName, aMcc, aMnc));
return setEmulatorGsmLocationAndWait(aLac, aCid)
.then(() => setEmulatorOperatorNamesAndWait("home", aLongName, aShortName,
aMcc, aMnc, true, false))
// aExpectedLongName, aExpectedShortName could be empty string.
.then(() => check(aExpectedLongName == null ? aLongName : aExpectedLongName,
aExpectedShortName == null ? aShortName : aExpectedShortName,
aMcc, aMnc, aLac, aCid));
}
startTestCommon(function() {
/**
* In emulator we have pre-defined 4 PNN sets:
*
* PNN 1: Full name: "Test1", Short name: "Test1"
* PNN 2: Full name: "Test2", Short name: (none)
* PNN 2: Full name: "Test3", Short name: (none)
* PNN 2: Full name: "Test4", Short name: (none)
*
* Also 4 OPL sets:
*
* MCC = 001, MNC = 01, START=0000, END=FFFE, PNN = 01,
* MCC = 001, MNC = 02, START=0001, END=0010, PNN = 02,
* MCC = 001, MNC = 03, START=0011, END=0011, PNN = 03,
* MCC = 001, MNC = 001, START=0012, END=0012, PNN = 04,
*
* See https://github.com/mozilla-b2g/platform_external_qemu/blob/master/telephony/sim_card.c#L725
*/
return getEmulatorOperatorNames()
.then(function(aOperators) {
let {longName: longName, shortName: shortName} = aOperators[0];
let {mcc: mcc, mnc: mnc} = mobileConnection.voice.network;
let {gsmLocationAreaCode: lac, gsmCellId: cid} = mobileConnection.voice.cell;
// Use a cell ID that differs from current cid to ensure voicechange event
// will be triggered.
isnot(TEST_CELL_ID, cid, "A different test cell id than used currently.");
// In following tests, we use different longName/shortName to ensure
// network name is always re-calculated in RIL worker.
return Promise.resolve()
.then(() => test(longName, shortName, "123", "456", longName, shortName))
.then(() => test(longName, shortName, "310", "070", "AT&T", ""))
// If MCC/MNC doesn't match any, report given home network name.
.then(() => test("Foo1", "Bar1", "123", "456", 0x0000, TEST_CELL_ID))
.then(() => test("Foo2", "Bar2", "123", "456", 0x0001, TEST_CELL_ID))
.then(() => test("Foo3", "Bar3", "123", "456", 0x0002, TEST_CELL_ID))
.then(() => test("Foo4", "Bar4", "123", "456", 0x0010, TEST_CELL_ID))
.then(() => test("Foo5", "Bar5", "123", "456", 0x0011, TEST_CELL_ID))
.then(() => test("Foo6", "Bar6", "123", "456", 0xFFFE, TEST_CELL_ID))
// Full ranged network. Report network name from PNN.
.then(() => test("Foo1", "Bar1", "001", "01", 0x0000, TEST_CELL_ID,
"Test1", "Test1"))
.then(() => test("Foo2", "Bar2", "001", "01", 0x0001, TEST_CELL_ID,
"Test1", "Test1"))
.then(() => test("Foo3", "Bar3", "001", "01", 0xFFFE, TEST_CELL_ID,
"Test1", "Test1"))
// Ranged network. Report network name from PNN if lac is inside the
// inclusive range 0x01..0x10.
.then(() => test("Foo1", "Bar1", "001", "02", 0x0000, TEST_CELL_ID))
.then(() => test("Foo2", "Bar2", "001", "02", 0x0001, TEST_CELL_ID,
"Test2", ""))
.then(() => test("Foo3", "Bar3", "001", "02", 0x0002, TEST_CELL_ID,
"Test2", ""))
.then(() => test("Foo4", "Bar4", "001", "02", 0x0010, TEST_CELL_ID,
"Test2", ""))
.then(() => test("Foo5", "Bar5", "001", "02", 0xFFFE, TEST_CELL_ID))
// Single entry network. Report network name from PNN if lac matches.
.then(() => test("Foo1", "Bar1", "001", "03", 0x0000, TEST_CELL_ID))
.then(() => test("Foo2", "Bar2", "001", "03", 0x0011, TEST_CELL_ID,
"Test3", ""))
.then(() => test("Foo3", "Bar3", "001", "03", 0xFFFE, TEST_CELL_ID))
// Test if we match MNC "01" and "001" correctly.
.then(() => test("Foo1", "Bar1", "001", "001", 0x0012, TEST_CELL_ID,
"Test4", ""))
// Reset back to initial values.
.then(() => test(longName, shortName, mcc, mnc, longName, shortName));
.then(() => test(longName, shortName, mcc, mnc, lac, cid));
});
});

View File

@ -13,13 +13,6 @@ function check(aLongName, aShortName, aRoaming) {
is(voice.roaming, aRoaming, "voice.roaming");
}
function setEmulatorOperatorNamesAndWait(aWhich, aLongName, aShortName) {
let promises = [];
promises.push(waitForManagerEvent("voicechange"));
promises.push(setEmulatorOperatorNames(aWhich, aLongName, aShortName));
return Promise.all(promises);
}
// See bug 797972 - B2G RIL: False roaming situation
//
// Steps to test:
@ -34,7 +27,8 @@ function test(aLongName, aShortName, aRoaming) {
return Promise.resolve()
// We should not have voicechange here, but, yes, we do.
.then(() => setEmulatorOperatorNamesAndWait("roaming", aLongName, aShortName))
.then(() => setEmulatorOperatorNamesAndWait("roaming", aLongName, aShortName,
null, null, true, false))
.then(() => setEmulatorVoiceDataStateAndWait("voice", "roaming"))
.then(() => check(aLongName, aShortName, aRoaming))

View File

@ -8,8 +8,6 @@ function verifyVoiceCellLocationInfo(aLac, aCid) {
let cell = mobileConnection.voice.cell;
ok(cell, "location available");
// Initial LAC/CID. Android emulator initializes both value to
// 0xffff/0xffffffff.
is(cell.gsmLocationAreaCode, aLac, "check voice.cell.gsmLocationAreaCode");
is(cell.gsmCellId, aCid, "check voice.cell.gsmCellId");
is(cell.cdmaBaseStationId, -1, "check voice.cell.cdmaBaseStationId");
@ -26,10 +24,7 @@ function testVoiceCellLocationUpdate(aLac, aCid) {
// Set emulator's lac/cid and wait for 'onvoicechange' event.
log("Test cell location with lac=" + aLac + " and cid=" + aCid);
let promises = [];
promises.push(waitForManagerEvent("voicechange"));
promises.push(setEmulatorGsmLocation(aLac, aCid));
return Promise.all(promises)
return setEmulatorGsmLocationAndWait(aLac, aCid, true, false)
.then(() => verifyVoiceCellLocationInfo(aLac, aCid));
}

View File

@ -13,8 +13,8 @@ const INITIAL_STATES = {
relSignalStrength: 44,
cell: {
gsmLocationAreaCode: 65535,
gsmCellId: 268435455,
gsmLocationAreaCode: 0,
gsmCellId: 0,
cdmaBaseStationId: -1,
cdmaBaseStationLatitude: -2147483648,
cdmaBaseStationLongitude: -2147483648,
@ -70,8 +70,8 @@ const TEST_DATA = [{
signalStrength: -99,
relSignalStrength: 44,
cell: {
gsmLocationAreaCode: 65535,
gsmCellId: 268435455
gsmLocationAreaCode: 0,
gsmCellId: 0
}
}
}, {
@ -85,8 +85,8 @@ const TEST_DATA = [{
signalStrength: -99,
relSignalStrength: 44,
cell: {
gsmLocationAreaCode: 65535,
gsmCellId: 268435455
gsmLocationAreaCode: 0,
gsmCellId: 0
}
}
}

View File

@ -13622,7 +13622,7 @@ ICCUtilsHelperObject.prototype = {
let iccInfo = RIL.iccInfo;
let pnnEntry;
if (!mcc || !mnc || !lac) {
if (!mcc || !mnc || lac == null || lac < 0) {
return null;
}