You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
| /*
 | |
|  * 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.everDone()) {
 | |
|                     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);
 | |
|                             window.close();
 | |
|                         };
 | |
|                         bg.addEventListener('textsecure:contactsync', launch);
 | |
|                         view.showSync();
 | |
|                     }).catch(function(e) {
 | |
|                         if (e.message === 'websocket closed') {
 | |
|                             view.showConnectionError();
 | |
|                             setTimeout(init, 10000);
 | |
|                         } else if (e.name === 'HTTPError' && e.code == 411) {
 | |
|                             view.showTooManyDevices();
 | |
|                         }
 | |
|                         else {
 | |
|                             throw e;
 | |
|                         }
 | |
|                     });
 | |
|                 };
 | |
|                 $('.error-dialog .ok').click(init);
 | |
|                 init();
 | |
|             });
 | |
|         });
 | |
|     });
 | |
| })();
 |