Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@OlavHN
Created February 19, 2015 09:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save OlavHN/158edfc85c74213d6e3d to your computer and use it in GitHub Desktop.
Save OlavHN/158edfc85c74213d6e3d to your computer and use it in GitHub Desktop.
// known mcc/mnc values for our sim card (this is Telenor Norway)
var mcc = 242;
var mnc = 01;
// First get the sim card number (API supports multi sim phones)
var simNum = Array.slice(window.navigator.mozMobileConnections)
.reduce(function(current, connection, i) {
if (connection && connection.data && connection.data.network) {
// For ONCE we're actually using type coercion as it's meant here!
if (connection.data.network.mcc == mcc &&
connection.data.network.mnc == mnc) {
return i;
}
}
return current;
}, -1);
// Then get the current APN settings we want to change
window.navigator.mozSettings.createLock().get('ril.data.apnSettings').onsuccess = function() {
// Mutate current setting
var apnSettings = this.result['ril.data.apnSettings'];
apnSettings[simNum] = {
apn: 'starenttest',
carrier: 'custom',
types: ['default']
};
window.navigator.mozSettings.createLock().set({'ril.data.apnSettings': apnSettings}).onsuccess = function() {
// turn data off and on again, giving it time to do so
window.navigator.mozSettings.createLock().set({'ril.data.enabled': false});
setTimeout(function() {
window.navigator.mozSettings.createLock().set({'ril.data.enabled': true});
}, 5000);
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment