Created
February 19, 2015 09:40
-
-
Save OlavHN/158edfc85c74213d6e3d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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