mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 758466 - B2G RIL: ensure radio state and 'ril.radio.disabled' setting value are known before modifying the radio state. r=qDot
This commit is contained in:
parent
89c24ea8c1
commit
e88b5bf18d
@ -160,8 +160,8 @@ function RadioInterfaceLayer() {
|
||||
relSignalStrength: null},
|
||||
};
|
||||
|
||||
// Read the 'ril.radio.disabled' setting in order to start with a known value at
|
||||
// booting time.
|
||||
// Read the 'ril.radio.disabled' setting in order to start with a known
|
||||
// value at boot time.
|
||||
gSettingsService.getLock().get("ril.radio.disabled", this);
|
||||
|
||||
for each (let msgname in RIL_IPC_MSG_NAMES) {
|
||||
@ -452,6 +452,23 @@ RadioInterfaceLayer.prototype = {
|
||||
this.radioState.radioState = newState;
|
||||
//TODO Should we notify this change as a card state change?
|
||||
|
||||
this._ensureRadioState();
|
||||
},
|
||||
|
||||
_ensureRadioState: function _ensureRadioState() {
|
||||
debug("Reported radio state is " + this.radioState.radioState +
|
||||
", desired radio enabled state is " + this._radioEnabled);
|
||||
if (this._radioEnabled == null) {
|
||||
// We haven't read the initial value from the settings DB yet.
|
||||
// Wait for that.
|
||||
return;
|
||||
}
|
||||
if (this.radioState.radioState == RIL.GECKO_RADIOSTATE_UNKNOWN) {
|
||||
// We haven't received a radio state notification from the RIL
|
||||
// yet. Wait for that.
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.radioState.radioState == RIL.GECKO_RADIOSTATE_OFF &&
|
||||
this._radioEnabled) {
|
||||
this.setRadioEnabled(true);
|
||||
@ -678,7 +695,7 @@ RadioInterfaceLayer.prototype = {
|
||||
switch (setting.key) {
|
||||
case "ril.radio.disabled":
|
||||
this._radioEnabled = !setting.value;
|
||||
this.setRadioEnabled(this._radioEnabled);
|
||||
this._ensureRadioState();
|
||||
break;
|
||||
case "ril.data.enabled":
|
||||
// We only watch at "ril.data.enabled" flag changes for connecting or
|
||||
@ -737,12 +754,17 @@ RadioInterfaceLayer.prototype = {
|
||||
|
||||
handle: function handle(aName, aResult) {
|
||||
if (aName == "ril.radio.disabled") {
|
||||
debug("'ril.radio.disabled' is " + aResult);
|
||||
this._radioEnabled = !aResult;
|
||||
this._ensureRadioState();
|
||||
}
|
||||
},
|
||||
|
||||
handleError: function handleError(aErrorMessage) {
|
||||
debug("There was an error reading the 'ril.radio.disabled' setting., " +
|
||||
"default to radio on.");
|
||||
this._radioEnabled = true;
|
||||
this._ensureRadioState();
|
||||
},
|
||||
|
||||
// nsIRadioWorker
|
||||
|
Loading…
Reference in New Issue
Block a user