Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
134
gaia/shared/js/dialer/telephony_messages.js
Executable file
134
gaia/shared/js/dialer/telephony_messages.js
Executable file
|
|
@ -0,0 +1,134 @@
|
|||
'use strict';
|
||||
|
||||
/* globals ConfirmDialog, LazyLoader */
|
||||
/* exported TelephonyMessages */
|
||||
|
||||
var TelephonyMessages = {
|
||||
/**
|
||||
* Constants for what message to display when we get a bad number error.
|
||||
* Depends on the situation.
|
||||
*/
|
||||
// Display the regular "invalid number" message, as this is a regular call.
|
||||
REGULAR_CALL: 0,
|
||||
// We have no network and/or no SIM, so we can only make emergency calls.
|
||||
// Display the "no network" message.
|
||||
NO_NETWORK: 1,
|
||||
// We are making a call from an emergency call view, so calls can only be
|
||||
// placed to emergency and ICE numbers. Display the "not an emergency number"
|
||||
// message.
|
||||
EMERGENCY_ONLY: 2,
|
||||
|
||||
displayMessage: function(message, number) {
|
||||
var dialogTitle, dialogBody;
|
||||
|
||||
switch (message) {
|
||||
case 'BadNumber':
|
||||
dialogTitle = 'invalidNumberToDialTitle';
|
||||
dialogBody = 'invalidNumberToDialMessage';
|
||||
break;
|
||||
case 'FlightMode':
|
||||
dialogTitle = 'callAirplaneModeTitle';
|
||||
dialogBody = 'callAirplaneModeMessage';
|
||||
break;
|
||||
case 'NoNetwork':
|
||||
dialogTitle = 'emergencyDialogTitle';
|
||||
dialogBody = 'emergencyDialogBodyBadNumber';
|
||||
break;
|
||||
case 'DeviceNotAccepted':
|
||||
dialogTitle = 'emergencyDialogTitle';
|
||||
dialogBody = 'emergencyDialogBodyDeviceNotAccepted';
|
||||
break;
|
||||
case 'UnableToCall':
|
||||
dialogTitle = 'unableToCallTitle';
|
||||
dialogBody = 'unableToCallMessage';
|
||||
break;
|
||||
case 'NumberIsBusy':
|
||||
dialogTitle = 'numberIsBusyTitle';
|
||||
dialogBody = 'numberIsBusyMessage';
|
||||
break;
|
||||
case 'FixedDialingNumbers':
|
||||
dialogTitle = 'fdnIsActiveTitle';
|
||||
dialogBody = 'fdnIsActiveMessage';
|
||||
break;
|
||||
case 'OtherConnectionInUse':
|
||||
dialogTitle = 'otherConnectionInUseTitle';
|
||||
dialogBody = 'otherConnectionInUseMessage';
|
||||
break;
|
||||
case 'OperatorDeterminedBarring':
|
||||
dialogTitle = 'unableToCallTitle';
|
||||
dialogBody = 'callBarredByTheOperatorMessage';
|
||||
break;
|
||||
case 'EmergencyCallOnly':
|
||||
dialogTitle = 'emergency-call-only';
|
||||
dialogBody = 'emergency-call-error';
|
||||
break;
|
||||
default:
|
||||
console.error('Invalid message argument'); // Should never happen
|
||||
return;
|
||||
}
|
||||
|
||||
LazyLoader.load(['/shared/style/confirm.css',
|
||||
'/shared/js/confirm.js',
|
||||
document.getElementById('confirmation-message')],
|
||||
function() {
|
||||
ConfirmDialog.show(
|
||||
dialogTitle,
|
||||
{id: dialogBody, args: {number: number}},
|
||||
{
|
||||
title: 'emergencyDialogBtnOk', // Just 'ok' would be better.
|
||||
callback: function() {
|
||||
ConfirmDialog.hide();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
handleDisconnect: function(reason, number, emergencyOptions) {
|
||||
if (reason === 'NormalCallClearing') {
|
||||
return;
|
||||
}
|
||||
|
||||
this.handleError(reason + 'Error', number, emergencyOptions);
|
||||
},
|
||||
|
||||
handleError: function(errorName, number, emergencyOptions) {
|
||||
// We ignore this error because some networks generate this with
|
||||
// STK CallControl when calling Voicemail pilots (e.g. TMobile)
|
||||
if (errorName === 'ModifiedDialError') {
|
||||
console.log('ModifiedDialError');
|
||||
return;
|
||||
}
|
||||
|
||||
if (errorName === 'BadNumberError') {
|
||||
if (emergencyOptions === this.REGULAR_CALL) {
|
||||
this.displayMessage('BadNumber');
|
||||
} else if (emergencyOptions === this.NO_NETWORK) {
|
||||
this.displayMessage('NoNetwork');
|
||||
} else if (emergencyOptions === this.EMERGENCY_ONLY) {
|
||||
this.displayMessage('EmergencyCallOnly', number);
|
||||
} else {
|
||||
console.error('Unexpected emergency options: ' + emergencyOptions);
|
||||
}
|
||||
} else if (errorName === 'DeviceNotAcceptedError') {
|
||||
this.displayMessage('DeviceNotAccepted');
|
||||
} else if (errorName === 'RadioNotAvailable') {
|
||||
this.displayMessage('FlightMode');
|
||||
} else if (errorName === 'BusyError') {
|
||||
this.displayMessage('NumberIsBusy');
|
||||
} else if (errorName === 'FDNBlockedError' ||
|
||||
errorName === 'FdnCheckFailure') {
|
||||
this.displayMessage('FixedDialingNumbers', number);
|
||||
} else if (errorName === 'OtherConnectionInUse') {
|
||||
this.displayMessage('OtherConnectionInUse');
|
||||
} else if (errorName === 'OperatorDeterminedBarringError') {
|
||||
this.displayMessage('OperatorDeterminedBarring');
|
||||
} else {
|
||||
// If the call failed for some other reason we should still
|
||||
// display something to the user. See bug 846403.
|
||||
console.error('Unexpected error: ', errorName);
|
||||
this.displayMessage('UnableToCall');
|
||||
}
|
||||
},
|
||||
};
|
||||
Loading…
Reference in a new issue