diff options
Diffstat (limited to 'apps/system/emergency-call')
-rw-r--r-- | apps/system/emergency-call/index.html | 198 | ||||
-rw-r--r-- | apps/system/emergency-call/js/dialer.js | 80 | ||||
-rw-r--r-- | apps/system/emergency-call/js/keypad.js | 461 | ||||
-rw-r--r-- | apps/system/emergency-call/style/dialer.css | 250 | ||||
-rw-r--r-- | apps/system/emergency-call/style/images/ActionIcon_40x40_bluetooth.png | bin | 1842 -> 0 bytes | |||
-rw-r--r-- | apps/system/emergency-call/style/images/ActionIcon_40x40_bluetooth_active.png | bin | 1866 -> 0 bytes | |||
-rw-r--r-- | apps/system/emergency-call/style/images/ActionIcon_40x40_hangup.png | bin | 1409 -> 0 bytes | |||
-rw-r--r-- | apps/system/emergency-call/style/images/ActionIcon_40x40_pickup.png | bin | 1404 -> 0 bytes | |||
-rw-r--r-- | apps/system/emergency-call/style/images/asterisk.png | bin | 1172 -> 0 bytes | |||
-rw-r--r-- | apps/system/emergency-call/style/images/dialer_icon_delete.png | bin | 1419 -> 0 bytes | |||
-rw-r--r-- | apps/system/emergency-call/style/images/sharp.png | bin | 1176 -> 0 bytes | |||
-rw-r--r-- | apps/system/emergency-call/style/keypad.css | 301 |
12 files changed, 0 insertions, 1290 deletions
diff --git a/apps/system/emergency-call/index.html b/apps/system/emergency-call/index.html deleted file mode 100644 index 534c05e..0000000 --- a/apps/system/emergency-call/index.html +++ /dev/null @@ -1,198 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf-8"> - <meta http-equiv="pragma" content="no-cache"> - <title>Emergency Call Dialer</title> - <link rel="stylesheet" type="text/css" href="style/dialer.css"> - <link rel="stylesheet" type="text/css" href="style/keypad.css"> - <!-- Shared code --> - <script defer type="application/javascript" src="/shared/js/settings_listener.js"></script> - <script src="/shared/js/l10n.js"></script> - <link rel="resource" type="application/l10n" href="/locales/locales.ini"> - - <!-- Specific code --> - <script defer type="application/javascript" src="js/keypad.js"></script> - <script defer type="application/javascript" src="js/dialer.js"></script> - </head> - <body class="hidden"> - <article id="views" role="tablist"> - <section id="keyboard-view" role="tabpanel"> - <div id="phone-number-view-container"> - <div class="grid-cell grid-v-align"> - <div class="grid-wrapper"> - <input id="phone-number-view" type="text" class="phone-number-font" readonly="readonly"> - <div id="fake-phone-number-view"></div> - </div> - </div> - <div id="keypad-delete" class="grid-cell grid-v-align" data-value="delete"> - <div> - </div> - </div> - </div> - <article id="keyboard-container"> - <section id="keypad"> - <div class="keypad-cell"> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="1"> - <span class="keypad-number font-light">1</span> - </div> - </div> - </div> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="4"> - <span class="keypad-number font-light">4</span> - <span class="keypad-text font-semibold">GHI</span> - </div> - </div> - </div> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="7"> - <span class="keypad-number font-light">7</span> - <span class="keypad-text font-semibold">PQRS</span> - </div> - </div> - </div> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label keypad-key-label-centered" data-value="*"> - <span> - <div class="asterisk"></div> - </span> - </div> - </div> - </div> - </div> - <div class="keypad-cell"> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="2"> - <span class="keypad-number font-light">2</span> - <span class="keypad-text font-semibold font-semibold">ABC</span> - </div> - </div> - </div> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="5"> - <span class="keypad-number font-light">5</span> - <span class="keypad-text font-semibold">JKL</span> - </div> - </div> - </div> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="8"> - <span class="keypad-number font-light">8</span> - <span class="keypad-text font-semibold">TUV</span> - </div> - </div> - </div> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="0"> - <span class="keypad-number font-light">0</span> - <span class="keypad-text font-semibold font-size-plus">+</span> - </div> - </div> - </div> - </div> - <div class="keypad-cell"> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="3"> - <span class="keypad-number font-light">3</span> - <span class="keypad-text font-semibold">DEF</span> - </div> - </div> - </div> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="6"> - <span class="keypad-number font-light">6</span> - <span class="keypad-text font-semibold">MNO</span> - </div> - </div> - </div> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label" data-value="9"> - <span class="keypad-number font-light">9</span> - <span class="keypad-text font-semibold">WXYZ</span> - </div> - </div> - </div> - <div class="keypad-key"> - <div class="keypad-key-label-container"> - <div class="keypad-key-label keypad-key-label-centered" data-type="dial" data-value="#"> - <span> - <div class="sharp"></div> - </span> - </div> - </div> - </div> - </div> - </section> - <section id="keypad-callbar"> - <span role="button" id="keypad-callbar-cancel" data-type="action" data-value="cancel" > - <div>Cancel</div> - </span> - <span role="button" id="keypad-callbar-call-action" data-type="action" data-value="make-call"> - <div> - </div> - </span> - </section> - </article> - </section> - </article> - <article id="call-screen" class="grid"> - <article id="calls"> - <section> - <div id="emergency-number" class="number"> - </div> - <div class="fake-number"> - </div> - <div class="additionalContactInfo"> - <span >Emergency call</span> - </div> - <div class="duration"> - <span></span> - <div class="direction"> - <div> - </div> - </div> - </div> - </section> - </article> - <article id="main-container" class="grid-row"> - <div id="actions-container" class="grid-wrapper grid"> - <footer id="call-options" class="grid-row"> - <div class="grid-wrapper grid"> - <section id="co-advanced" class="grid-row"> - <div class="grid-wrapper grid"> - <span class="grid-cell options-column"> - <button id="speaker" class="co-advanced-option grid-wraper grid"> - <span> - </span> - </button> - </span> - </div> - </section> - <footer id="callbar"> - <div id="callbar-hang-up"> - <span role="button" id="callbar-hang-up-action" class="callbar-button"> - <div> - </div> - </span> - </div> - </footer> - </div> - </footer> - </div> - </article> - </article> - </body> -</html> diff --git a/apps/system/emergency-call/js/dialer.js b/apps/system/emergency-call/js/dialer.js deleted file mode 100644 index ff93009..0000000 --- a/apps/system/emergency-call/js/dialer.js +++ /dev/null @@ -1,80 +0,0 @@ -'use strict'; - -var CallHandler = { - _call: null, - _telephony: window.navigator.mozTelephony, - - call: function ch_call(number) { - var sanitizedNumber = number.replace(/-/g, ''); - var telephony = this._telephony; - if (telephony) { - this._call = telephony.dialEmergency(sanitizedNumber); - var call = this._call; - if (call) { - var cb = function clearPhoneView() { - KeypadManager.updatePhoneNumber(''); - }; - call.onconnected = cb; - - call.ondisconnected = function callEnded() { - cb(); - CallScreen.hide(); - }; - - CallScreen.number = call.number; - CallScreen.show(); - } - } - }, - - end: function ch_end() { - if (!this._call) { - CallScreen.hide(); - return; - } - - this._call.hangUp(); - this._call = null; - }, - - toggleSpeaker: function ch_toggleSpeaker() { - this._telephony.speakerEnabled = !this._telephony.speakerEnabled; - } -}; - -var CallScreen = { - screen: document.getElementById('call-screen'), - numberView: document.getElementById('emergency-number'), - - hangUpButton: document.getElementById('callbar-hang-up'), - speakerButton: document.getElementById('speaker'), - - set number(value) { - this.numberView.textContent = value; - }, - - init: function cs_init() { - this.hangUpButton.addEventListener('mouseup', - CallHandler.end.bind(CallHandler)); - this.speakerButton.addEventListener('click', this.toggleSpeaker.bind(this)); - }, - - show: function cs_show() { - this.screen.classList.add('displayed'); - }, - - hide: function cs_hide() { - this.screen.classList.remove('displayed'); - }, - - toggleSpeaker: function cs_toggleSpeaker() { - this.speakerButton.classList.toggle('speak'); - CallHandler.toggleSpeaker(); - } -}; - -window.addEventListener('load', function onload() { - window.removeEventListener('load', onload); - KeypadManager.init(); - CallScreen.init(); -}); diff --git a/apps/system/emergency-call/js/keypad.js b/apps/system/emergency-call/js/keypad.js deleted file mode 100644 index 6163ecf..0000000 --- a/apps/system/emergency-call/js/keypad.js +++ /dev/null @@ -1,461 +0,0 @@ -/* - * The code is being shared between system/emergency-call/js/keypad.js - * and dialer/js/keypad.js. Be sure to update both file when you commit! - * - */ - -'use strict'; - -var kFontStep = 4; -var minFontSize = 12; - -// Frequencies comming from http://en.wikipedia.org/wiki/Telephone_keypad -var gTonesFrequencies = { - '1': [697, 1209], '2': [697, 1336], '3': [697, 1477], - '4': [770, 1209], '5': [770, 1336], '6': [770, 1477], - '7': [852, 1209], '8': [852, 1336], '9': [852, 1477], - '*': [941, 1209], '0': [941, 1336], '#': [941, 1477] -}; - -var keypadSoundIsEnabled = true; -SettingsListener.observe('phone.ring.keypad', true, function(value) { - keypadSoundIsEnabled = !!value; -}); - -var TonePlayer = { - _sampleRate: 4000, - - init: function tp_init() { - document.addEventListener('mozvisibilitychange', - this.visibilityChange.bind(this)); - this.ensureAudio(); - }, - - ensureAudio: function tp_ensureAudio() { - if (this._audio) - return; - - this._audio = new Audio(); - this._audio.volume = 0.5; - this._audio.mozSetup(2, this._sampleRate); - }, - - generateFrames: function tp_generateFrames(soundData, freqRow, freqCol) { - var currentSoundSample = 0; - var kr = 2 * Math.PI * freqRow / this._sampleRate; - var kc = 2 * Math.PI * freqCol / this._sampleRate; - for (var i = 0; i < soundData.length; i += 2) { - var smoother = 0.5 + (Math.sin((i * Math.PI) / soundData.length)) / 2; - - soundData[i] = Math.sin(kr * currentSoundSample) * smoother; - soundData[i + 1] = Math.sin(kc * currentSoundSample) * smoother; - - currentSoundSample++; - } - }, - - play: function tp_play(frequencies) { - var soundDataSize = this._sampleRate / 4; - var soundData = new Float32Array(soundDataSize); - this.generateFrames(soundData, frequencies[0], frequencies[1]); - this._audio.mozWriteAudio(soundData); - }, - - // If the app loses focus, close the audio stream. This works around an - // issue in Gecko where the Audio Data API causes gfx performance problems, - // in particular when scrolling the homescreen. - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=779914 - visibilityChange: function tp_visibilityChange(e) { - if (!document.mozHidden) { - this.ensureAudio(); - } else { - // Reset the audio stream. This ensures that the stream is shutdown - // *immediately*. - this._audio.src = ''; - delete this._audio; - } - } - -}; - -var KeypadManager = { - _phoneNumber: '', - _onCall: false, - - get phoneNumberView() { - delete this.phoneNumberView; - return this.phoneNumberView = document.getElementById('phone-number-view'); - }, - - get fakePhoneNumberView() { - delete this.fakePhoneNumberView; - return this.fakePhoneNumberView = - document.getElementById('fake-phone-number-view'); - }, - - get phoneNumberViewContainer() { - delete this.phoneNumberViewContainer; - return this.phoneNumberViewContainer = - document.getElementById('phone-number-view-container'); - }, - - get keypad() { - delete this.keypad; - return this.keypad = document.getElementById('keypad'); - }, - - get callBar() { - delete this.callBar; - return this.callBar = - document.getElementById('keypad-callbar'); - }, - - get hideBar() { - delete this.hideBar; - return this.hideBar = document.getElementById('keypad-hidebar'); - }, - - get callBarAddContact() { - delete this.callBarAddContact; - return this.callBarAddContact = - document.getElementById('keypad-callbar-add-contact'); - }, - - get callBarCallAction() { - delete this.callBarCallAction; - return this.callBarCallAction = - document.getElementById('keypad-callbar-call-action'); - }, - - get callBarCancelAction() { - delete this.callBarCancelAction; - return this.callBarCancelAction = - document.getElementById('keypad-callbar-cancel'); - }, - - get deleteButton() { - delete this.deleteButton; - return this.deleteButton = document.getElementById('keypad-delete'); - }, - - get hideBarHangUpAction() { - delete this.hideBarHangUpAction; - return this.hideBarHangUpAction = - document.getElementById('keypad-hidebar-hang-up-action-wrapper'); - }, - - get hideBarHideAction() { - delete this.hideBarHideAction; - return this.hideBarHideAction = - document.getElementById('keypad-hidebar-hide-keypad-action'); - }, - - init: function kh_init() { - // Update the minimum phone number phone size. - // The UX team states that the minimum font size should be - // 10pt. First off, we convert it to px multiplying it 0.226 times, - // then we convert it to rem multiplying it a number of times equal - // to the font-size property of the body element. - var defaultFontSize = window.getComputedStyle(document.body, null) - .getPropertyValue('font-size'); - minFontSize = parseInt(parseInt(defaultFontSize) * 10 * 0.226); - - this.phoneNumberView.value = ''; - this._phoneNumber = ''; - - var keyHandler = this.keyHandler.bind(this); - this.keypad.addEventListener('mousedown', keyHandler, true); - this.keypad.addEventListener('mouseup', keyHandler, true); - this.deleteButton.addEventListener('mousedown', keyHandler); - this.deleteButton.addEventListener('mouseup', keyHandler); - - // The keypad add contact bar is only included in the normal version of - // the keypad. - if (this.callBarAddContact) { - this.callBarAddContact.addEventListener('mouseup', - this.addContact.bind(this)); - } - - // The keypad add contact bar is only included in the normal version and - // the emergency call version of the keypad. - if (this.callBarCallAction) { - this.callBarCallAction.addEventListener('mouseup', - this.makeCall.bind(this)); - } - - // The keypad cancel bar is only the emergency call version of the keypad. - if (this.callBarCancelAction) { - this.callBarCancelAction.addEventListener('mouseup', function() { - window.parent.LockScreen.switchPanel(); - }); - } - - // The keypad hide bar is only included in the on call version of the - // keypad. - if (this.hideBarHideAction) { - this.hideBarHideAction.addEventListener('mouseup', - this.callbarBackAction); - } - - if (this.hideBarHangUpAction) { - this.hideBarHangUpAction.addEventListener('mouseup', - this.hangUpCallFromKeypad); - } - - TonePlayer.init(); - - this.render(); - }, - - moveCaretToEnd: function hk_util_moveCaretToEnd(el) { - if (typeof el.selectionStart == 'number') { - el.selectionStart = el.selectionEnd = el.value.length; - } else if (typeof el.createTextRange != 'undefined') { - el.focus(); - var range = el.createTextRange(); - range.collapse(false); - range.select(); - } - }, - - render: function hk_render(layoutType) { - if (layoutType == 'oncall') { - this._onCall = true; - var numberNode = CallScreen.activeCall.querySelector('.number'); - this._phoneNumber = numberNode.textContent; - this.phoneNumberViewContainer.classList.add('keypad-visible'); - if (this.callBar) { - this.callBar.classList.add('hide'); - } - - if (this.hideBar) { - this.hideBar.classList.remove('hide'); - } - - this.deleteButton.classList.add('hide'); - } else { - this.phoneNumberViewContainer.classList.remove('keypad-visible'); - if (this.callBar) { - this.callBar.classList.remove('hide'); - } - - if (this.hideBar) { - this.hideBar.classList.add('hide'); - } - - this.deleteButton.classList.remove('hide'); - } - }, - - makeCall: function hk_makeCall(event) { - event.stopPropagation(); - - if (this._phoneNumber != '') { - CallHandler.call(KeypadManager._phoneNumber); - } - }, - - addContact: function hk_addContact(event) { - var number = this._phoneNumber; - if (!number) - return; - - try { - var activity = new MozActivity({ - name: 'new', - data: { - type: 'webcontacts/contact', - params: { - 'tel': number - } - } - }); - } catch (e) { - console.log('WebActivities unavailable? : ' + e); - } - }, - - callbarBackAction: function hk_callbarBackAction(event) { - CallScreen.hideKeypad(); - }, - - hangUpCallFromKeypad: function hk_hangUpCallFromKeypad(event) { - CallScreen.views.classList.remove('show'); - OnCallHandler.end(); - }, - - formatPhoneNumber: function kh_formatPhoneNumber(mode) { - switch (mode) { - case 'dialpad': - var fakeView = this.fakePhoneNumberView; - var view = this.phoneNumberView; - - // We consider the case where the delete button may have - // been used to delete the whole phone number. - if (view.value == '') { - view.style.fontSize = view.dataset.size; - return; - } - break; - - case 'on-call': - var fakeView = CallScreen.activeCall.querySelector('.fake-number'); - var view = CallScreen.activeCall.querySelector('.number'); - break; - } - - var computedStyle = window.getComputedStyle(view, null); - var currentFontSize = computedStyle.getPropertyValue('font-size'); - if (!('size' in view.dataset)) { - view.dataset.size = currentFontSize; - } - - var newFontSize = this.getNextFontSize(view, fakeView, - parseInt(view.dataset.size), - parseInt(currentFontSize)); - view.style.fontSize = newFontSize + 'px'; - this.addEllipsis(view, fakeView, newFontSize); - }, - - addEllipsis: function kh_addEllipsis(view, fakeView, currentFontSize) { - var viewWidth = view.getBoundingClientRect().width; - fakeView.style.fontSize = currentFontSize + 'px'; - fakeView.innerHTML = view.value; - - var counter = 1; - var value = view.value; - - var newPhoneNumber; - while (fakeView.getBoundingClientRect().width > viewWidth) { - newPhoneNumber = '\u2026' + value.substr(-value.length + counter); - fakeView.innerHTML = newPhoneNumber; - counter++; - } - - if (newPhoneNumber) { - view.value = newPhoneNumber; - } - }, - - getNextFontSize: function kh_getNextFontSize(view, fakeView, - fontSize, initialFontSize) { - var viewWidth = view.getBoundingClientRect().width; - fakeView.style.fontSize = fontSize + 'px'; - fakeView.innerHTML = view.value; - - var rect = fakeView.getBoundingClientRect(); - while ((rect.width > viewWidth) && (fontSize > minFontSize)) { - fontSize = Math.max(fontSize - kFontStep, minFontSize); - fakeView.style.fontSize = fontSize + 'px'; - rect = fakeView.getBoundingClientRect(); - } - - if ((rect.width < viewWidth) && (fontSize < initialFontSize)) { - fakeView.style.fontSize = (fontSize + kFontStep) + 'px'; - rect = fakeView.getBoundingClientRect(); - if (rect.width <= viewWidth) { - fontSize += kFontStep; - } - } - return fontSize; - }, - - keyHandler: function kh_keyHandler(event) { - var key = event.target.dataset.value; - - if (!key) - return; - - event.stopPropagation(); - if (event.type == 'mousedown') { - this._longPress = false; - - if (key != 'delete') { - if (keypadSoundIsEnabled) { - TonePlayer.play(gTonesFrequencies[key]); - } - - // Sending the DTMF tone if on a call - var telephony = navigator.mozTelephony; - if (telephony && telephony.active && - telephony.active.state == 'connected') { - - telephony.startTone(key); - window.setTimeout(function ch_stopTone() { - telephony.stopTone(); - }, 100); - - } - } - - // Manage long press - if (key == '0' || key == 'delete') { - this._holdTimer = setTimeout(function(self) { - if (key == 'delete') { - self._phoneNumber = ''; - } else { - self._phoneNumber += '+'; - } - - self._longPress = true; - self._updatePhoneNumberView(); - }, 400, this); - } - - // Voicemail long press (needs to be longer since it actually dials) - if (event.target.dataset.voicemail) { - this._holdTimer = setTimeout(function vm_call(self) { - self._longPress = true; - self._callVoicemail(); - }, 3000, this); - } - } else if (event.type == 'mouseup') { - // If it was a long press our work is already done - if (this._longPress) { - this._longPress = false; - this._holdTimer = null; - return; - } - if (key == 'delete') { - this._phoneNumber = this._phoneNumber.slice(0, -1); - } else { - this._phoneNumber += key; - } - - if (this._holdTimer) - clearTimeout(this._holdTimer); - - this._updatePhoneNumberView(); - } - }, - - updatePhoneNumber: function kh_updatePhoneNumber(number) { - this._phoneNumber = number; - this._updatePhoneNumberView(); - }, - - _updatePhoneNumberView: function kh_updatePhoneNumberview() { - var phoneNumber = this._phoneNumber; - - // If there are digits in the phone number, show the delete button. - var visibility = (phoneNumber.length > 0) ? 'visible' : 'hidden'; - this.deleteButton.style.visibility = visibility; - - if (this._onCall) { - var view = CallScreen.activeCall.querySelector('.number'); - view.textContent = phoneNumber; - this.formatPhoneNumber('on-call'); - } else { - this.phoneNumberView.value = phoneNumber; - this.moveCaretToEnd(this.phoneNumberView); - this.formatPhoneNumber('dialpad'); - } - }, - - _callVoicemail: function kh_callVoicemail() { - var voicemail = navigator.mozVoicemail; - if (voicemail && voicemail.number) { - CallHandler.call(voicemail.number); - } - } -}; diff --git a/apps/system/emergency-call/style/dialer.css b/apps/system/emergency-call/style/dialer.css deleted file mode 100644 index 7a3519a..0000000 --- a/apps/system/emergency-call/style/dialer.css +++ /dev/null @@ -1,250 +0,0 @@ -html, body { - width: 100%; - height: 100%; - overflow: hidden; - margin: 0; - color: white; - font-family: 'MozTT', sans-serif; - font-size: 10px; - background: black; -} - -a { - outline: 0; -} - -a:hover, a:active, a:focus { - outline: 0; -} - -html * { - overflow: hidden; -} - -.font-regular { - font-family: 'MozTT'; -} - -.font-semibold { - font-family: 'MozTT'; - font-weight: 600; -} - -.font-light { - font-family: 'MozTT'; -} - -.contact-primary-info { - font-size: -moz-calc(15*0.226rem); - color: black; -} - -.contact-secondary-info { - font-size: -moz-calc(6*0.226rem); - color: white; -} - -.grid-wrapper { - width: 100%; - height: 100%; -} - -.grid-v-align { - vertical-align: middle; -} - -.grid-row { - display: table-row; -} - -.grid-cell { - display: table-cell; -} - -.grid { - display: table; - table-layout: fixed; -} - -.center { - text-align: center; -} - -#views { - top: 0; - height: 100%; - width: 100%; -} - -#views > *[role=tabpanel] { - height: 100%; - width: 100%; -} - -body.hidden *[data-l10n-id] { - visibility: hidden; -} - -/* Call screen */ -#call-screen { - position: absolute; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - margin: 0; - border: 0; - border-radius: 10px; - background: black; - -moz-transform: translateY(-100%); - z-index: 100; - - -moz-transition: -moz-transform 0.5s ease; -} - -#call-screen.displayed { - -moz-transform: translateY(0); -} - -#main-container { - position: relative; - height: 100%; - background: transparent; -} - -#actions-container { - position: absolute; - bottom: 0; - width: 100%; - height: 15.5rem; -} - -#call-options { - height:9.5rem; -} - -#co-advanced { - opacity: 1.0; - height: 9.5rem; -} - -.co-advanced-option { - background: rgba(0,0,0,.8); - height: 9.5rem; - width: 100%; - border: 0; - border-top: 1px solid #3A3A3A; - border-bottom: 1px solid #3A3A3A; - border-right: 1px solid #3A3A3A; -} - -#co-advanced span.grid-cell:last-child .co-advanced-option { - border-right: 0px; -} - -#speaker span { - display:inline-block; - background-color: #DDD; - background:url('images/ActionIcon_40x40_bluetooth.png') ; - background-size: 4rem 4rem; - width:4rem; - height:4rem; - opacity: 1.0; -} - -#speaker.speak > span { - background:url('images/ActionIcon_40x40_bluetooth_active.png'); -} - -#callbar { - background:rgba(0,0,0,.8); - opacity: 1.0; -} - -#callbar-hang-up { - float: left; - height: 6.5rem; - width: 100%; -} - -.callbar-button { - height: 4rem; - border:0; - border-radius:.3rem; - display: block; -} - -#callbar-hang-up-action { - background: -moz-linear-gradient(top, #ff0000 1%, #ce0000 100%); - opacity: 1.0; - margin: 1rem .5rem 1.5rem 1.5rem; -} - -#callbar-hang-up.full-space > #callbar-hang-up-action { - margin: 1rem 1.5rem 1.5rem 1.5rem; -} - -#callbar-hang-up-action > div { - margin: 0 auto; - background-image: url('images/ActionIcon_40x40_hangup.png'); - background-repeat: no-repeat; - background-size: 4rem 4rem; - background-position: center; - width: 4rem; - height: 4rem; -} - -#calls { - position: absolute; - top: 0; - width: 100%; - height: 22rem; - - z-index: 500; -} - -#calls > section { - position: relative; - height: 9rem; - - font-size: 1.8em; - line-height: 7rem; - background-color: #01c5ed; - - transition: opacity 0.3s linear; - opacity: 1; -} - -#calls > section div { - padding-left: 2rem; - padding-right: 1.5rem; -} - -#calls > section .number { - height: 4rem; - padding: 2rem 2rem 0 2rem; - background: #01c5ed; - font-size: 1.6em; - line-height: 4rem; - color: black; -} - -#calls > section .additionalContactInfo { - height: 2rem; - padding: 0 2rem 2rem 2rem; - background: #01c5ed; - font-size: 1.4rem; - line-height: 2rem; - color: white; -} - -#calls > section .duration { - position: absolute; - top: 12rem; - left: 0; - height: 8rem; - padding: 2rem; - font-size: 2.6em; - font-weight: 300; - line-height: 8rem; -} diff --git a/apps/system/emergency-call/style/images/ActionIcon_40x40_bluetooth.png b/apps/system/emergency-call/style/images/ActionIcon_40x40_bluetooth.png Binary files differdeleted file mode 100644 index a946ff2..0000000 --- a/apps/system/emergency-call/style/images/ActionIcon_40x40_bluetooth.png +++ /dev/null diff --git a/apps/system/emergency-call/style/images/ActionIcon_40x40_bluetooth_active.png b/apps/system/emergency-call/style/images/ActionIcon_40x40_bluetooth_active.png Binary files differdeleted file mode 100644 index 86abf23..0000000 --- a/apps/system/emergency-call/style/images/ActionIcon_40x40_bluetooth_active.png +++ /dev/null diff --git a/apps/system/emergency-call/style/images/ActionIcon_40x40_hangup.png b/apps/system/emergency-call/style/images/ActionIcon_40x40_hangup.png Binary files differdeleted file mode 100644 index f955956..0000000 --- a/apps/system/emergency-call/style/images/ActionIcon_40x40_hangup.png +++ /dev/null diff --git a/apps/system/emergency-call/style/images/ActionIcon_40x40_pickup.png b/apps/system/emergency-call/style/images/ActionIcon_40x40_pickup.png Binary files differdeleted file mode 100644 index ad8423e..0000000 --- a/apps/system/emergency-call/style/images/ActionIcon_40x40_pickup.png +++ /dev/null diff --git a/apps/system/emergency-call/style/images/asterisk.png b/apps/system/emergency-call/style/images/asterisk.png Binary files differdeleted file mode 100644 index 4199485..0000000 --- a/apps/system/emergency-call/style/images/asterisk.png +++ /dev/null diff --git a/apps/system/emergency-call/style/images/dialer_icon_delete.png b/apps/system/emergency-call/style/images/dialer_icon_delete.png Binary files differdeleted file mode 100644 index 8e842cd..0000000 --- a/apps/system/emergency-call/style/images/dialer_icon_delete.png +++ /dev/null diff --git a/apps/system/emergency-call/style/images/sharp.png b/apps/system/emergency-call/style/images/sharp.png Binary files differdeleted file mode 100644 index 36033bf..0000000 --- a/apps/system/emergency-call/style/images/sharp.png +++ /dev/null diff --git a/apps/system/emergency-call/style/keypad.css b/apps/system/emergency-call/style/keypad.css deleted file mode 100644 index ea9fb90..0000000 --- a/apps/system/emergency-call/style/keypad.css +++ /dev/null @@ -1,301 +0,0 @@ -/* - * The code is being shared between system/emergency-call/js/keypad.js - * and dialer/js/keypad.js. Be sure to update both file when you commit! - * - */ - -.keypad-text { - font-size: -moz-calc(6*0.226rem); - color: #96AAB4; -} - -#keyboard-view { - width: 100%; - height: 100%; -} - -#fake-phone-number-view { - position: absolute; - line-height: 0; - visibility: hidden; -} - -#phone-number-view-container { - width: 100%; - height: -moz-calc(100% - 34.5rem); - background: #242B36; - text-align: center; - display: table; - table-layout: fixed; - border-spacing: 1.5rem 0rem; - font-family: 'MozTT'; - font-weight: 300; -} - -#phone-number-view-container.keypad-visible { - height: -moz-calc(100% - 35rem); - visibility: hidden; -} - -#phone-number-view { - width: 100%; - border: 0; - background: transparent; - text-align: left; - cursor: none; - -moz-user-select: none; -} - -#keypad-delete { - text-align: center; - width: 4rem; - visibility: hidden; -} - -#keypad-delete:active { - opacity: 0.7; -} - -#keypad-delete > div { - width: 3.8rem; - height: 2.8rem; - background: url('images/dialer_icon_delete.png') ; - background-size: 3.8rem 2.8rem; - background-repeat: no-repeat; -} - -#keyboard-container { - width: 100%; - height: 34.5rem; -} - -#keypad { - background: -moz-linear-gradient(top, #191E25 0%, #080B0D 100%); - height: -moz-calc(100% - 10rem); - width: 100%; - display: table; - table-layout: fixed; -} - -.keypad-cell { - display: table-cell; - border-right: 1px solid #6F6F6F; - border-top: 1px solid #6F6F6F;; -} - -.keypad-cell:last-child { - border-right: 0; -} - -.keypad-key { - border: 0; - border-bottom: 1px solid #6F6F6F; - height: 7rem; - vertical-align: middle; - position: relative; -} - -.keypad-key:active { - background: black; - opacity: 0.7; -} - -.keypad-key-label-container { - width: 100%; - height: 100%; - display: table; -} - -.keypad-key-label { - display: table-cell; - padding-left: 1.5rem; - vertical-align: middle; -} - -.keypad-key-label *, -#keypad-delete * { - pointer-events: none; -} - -.keypad-key-label-centered { - padding-left: 0; - text-align: center; -} - -.font-size-plus { - font-size: 2rem; -} - -.keypad-subicon { - background-repeat: no-repeat; - background-position: center bottom; - - -moz-user-select: none; - pointer-events: none; - - position: absolute; - left: 3.75rem; - bottom: 0.75rem; - - width: 3rem; - height: 3rem; -} - -.voicemail { - background-image: url('images/voicemail.png'); -} - -.asterisk { - background-image: url('images/asterisk.png'); - background-repeat: no-repeat; - height: 3rem; - width: 3rem; - background-size: 3rem 3rem; - background-position: center; - margin: auto; - pointer-events: none; -} - -.sharp { - background-image: url('images/sharp.png'); - background-repeat: no-repeat; - height: 3rem; - width: 3rem; - background-size: 3rem 3rem; - background-position: center; - margin: auto; - pointer-events: none; -} - -#keypad-callbar { - background: black; - height: 6.5rem; - width: 100%; - display: table; - table-layout: fixed; - border-spacing: 1rem 1rem; -} - -#keypad-callbar-add-contact, -#keypad-callbar-cancel { - display: table-cell; - width: 9rem; - background: -moz-linear-gradient(top, #242b36 0%, #19191a 100%); - border: .1rem solid #242B36; - border-radius: .2rem; - vertical-align: middle; -} - -#keypad-callbar-cancel { - width: 10rem; -} - -#keypad-callbar-cancel:active { - opacity: 0.7; -} - -#keypad-callbar-cancel > div { - text-align: center; - font: 2rem 'MozTT'; -} - -#keypad-callbar-call-action { - display: table-cell; - width: 100%; - background: #84c82c; - border: 0; - border-radius: .2rem; - background: -moz-linear-gradient(top, #84c82c 0%, #5f9b0a 100%); - vertical-align: middle; -} - -#keypad-callbar-call-action:active { - opacity: 0.7; -} - -.icon-add-contact { - margin: auto; - width: 4rem; - height: 4rem; - background-image: url("images/ActionIcon_40x40_addcontact.png"); - background-repeat: no-repeat; - background-size: 4rem 4rem; - background-position: center; -} - -#keypad-callbar-call-action > div { - margin: auto; - width: 4rem; - height: 4rem; - background-image: url("images/ActionIcon_40x40_pickup.png"); - background-repeat: no-repeat; - background-size: 4rem 4rem; - background-position: center; -} - -#keypad-hidebar { - background: rgba(0,0,0,.8); - opacity: 1.0; -} - -#keypad-hidebar-hang-up-action-wrapper { - float: left; - height: 6.5rem; - width: 50%; -} - -#keypad-hidebar-hide-keypad-action-wrapper { - height: 6.5rem; - width: 50%; -} - -.keypad-hidebar-button { - height: 4rem; - border: 0; - border-radius:.3rem; - display: block; -} - -#keypad-hidebar-hang-up-action { - background: -moz-linear-gradient(top, #ff0000 0%, #ce0000 100%); - opacity: 1.0; - margin: 1rem .5rem 1.5rem 1.5rem; -} - -#keypad-hidebar-hang-up-action > div { - margin: 0 auto; - background-image: url('images/ActionIcon_40x40_hangup.png'); - background-repeat: no-repeat; - background-size: 4rem 4rem; - background-position: center; - width: 4rem; - height: 4rem; -} - -#keypad-hidebar-hide-keypad-action { - background: -moz-linear-gradient(top, #6A6A6A 0%, #3E3E3E 100%); - opacity: 1.0; - margin: 1rem 1.5rem 1.5rem .5rem; -} - -#keypad-hidebar-hide-keypad-action > div { - margin: -moz-calc((4rem - 3rem)/2) auto; - background-image: url('images/ActionIcons_30x30_dismiss_keyboard.png'); - background-repeat: no-repeat; - background-size: 3rem 3rem; - background-position: center; - width: 3rem; - height: 3rem; -} - -.phone-number-font { - font-size:-moz-calc(18*0.226rem); - color: white; - font-family:'MozTT'; -} - -.keypad-number { - font-size: -moz-calc(25*0.226rem); - color: white; -} - |