Skip to content
This repository has been archived by the owner on Nov 3, 2021. It is now read-only.

Bug 818230 - Pairing does not stop when cancelled from bluetooth pairing page #6899

Merged
merged 1 commit into from Dec 7, 2012
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
14 changes: 9 additions & 5 deletions apps/settings/js/bluetooth.js
Expand Up @@ -247,6 +247,7 @@ onLocalized(function bluetoothSettings() {
var childWindow = null;

var pairingMode = 'active';
var userCanceledPairing = false;
var pairingAddress = null;
var connectingAddress = null;
var connectedAddress = null;
Expand Down Expand Up @@ -427,11 +428,13 @@ onLocalized(function bluetoothSettings() {
// if the attention screen still open, close it
if (childWindow)
childWindow.close();
// show pair process fail.
var msg = _('error-pair-title') + '\n' + _('error-pair-pincode');
// display failure only when active request
if (pairingMode === 'active')
if (pairingMode === 'active' && !userCanceledPairing) {
// show pair process fail.
var msg = _('error-pair-title') + '\n' + _('error-pair-pincode');
window.alert(msg);
}
userCanceledPairing = false;
// rollback device status
if (openList.index[pairingAddress]) {
var item = openList.index[pairingAddress][1];
Expand Down Expand Up @@ -561,10 +564,11 @@ onLocalized(function bluetoothSettings() {
discoverTimeout = null;
}

function setConfirmation(address) {
function setConfirmation(address, confirmed) {
if (!defaultAdapter)
return;
var req = defaultAdapter.setPairingConfirmation(address, true);
userCanceledPairing = !confirmed;
var req = defaultAdapter.setPairingConfirmation(address, confirmed);
}

function setPinCode(address, pincode) {
Expand Down
3 changes: 2 additions & 1 deletion apps/settings/js/onpair.js
Expand Up @@ -99,7 +99,7 @@ var PairView = {
this.closeButton.disabled = true;
switch (this._pairMethod) {
case 'confirmation':
window.opener.gDeviceList.setConfirmation(this._device.address);
window.opener.gDeviceList.setConfirmation(this._device.address, true);
break;
case 'pincode':
var value = this.pinInput.value;
Expand All @@ -114,6 +114,7 @@ var PairView = {
break;

case 'button-close':
window.opener.gDeviceList.setConfirmation(this._device.address, false);
window.close();
break;
}
Expand Down