/* * vim: ts=4:sw=4:expandtab */ ;(function() { 'use strict'; extension.windows.getBackground(function(bg) { bg.storage.onready(function() { $(function() { var deviceName = bg.textsecure.storage.user.getDeviceName(); if (!deviceName) { deviceName = 'Chrome'; if (navigator.userAgent.match('Mac OS')) { deviceName += ' on Mac'; } else if (navigator.userAgent.match('Linux')) { deviceName += ' on Linux'; } else if (navigator.userAgent.match('Windows')) { deviceName += ' on Windows'; } } var view = new Whisper.InstallView({ el: $('#install'), deviceName: deviceName }); if (bg.textsecure.registration.isDone()) { view.selectStep(3); } view.$el.show(); var accountManager = new bg.getAccountManager(); var init = function() { view.clearQR(); accountManager.registerSecondDevice( view.setProvisioningUrl.bind(view), view.confirmNumber.bind(view), view.incrementCounter.bind(view) ).then(function() { var launch = function() { bg.openInbox(); bg.removeEventListener('textsecure:contactsync', launch); clearTimeout(timeout); window.close(); }; var timeout = setTimeout(launch, 60000); bg.addEventListener('textsecure:contactsync', launch); view.showSync(); }).catch(function(e) { if (e.message === 'websocket closed') { init(); } else if (e.name === 'HTTPError' && e.code == 411) { view.showTooManyDevices(); } else { throw e; } }); }; $('.error-dialog .ok').click(init); init(); }); }); }); })();