|  |  |  | /* | 
					
						
							|  |  |  |  * vim: ts=4:sw=4:expandtab | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | (function () { | 
					
						
							|  |  |  |     'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     window.Whisper = window.Whisper || {}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Whisper.KeyConflictDialogueView = Whisper.View.extend({ | 
					
						
							|  |  |  |         templateName: 'key-conflict-dialogue', | 
					
						
							|  |  |  |         className: 'key-conflict-dialogue clearfix', | 
					
						
							|  |  |  |         initialize: function(options) { | 
					
						
							|  |  |  |             this.contact = options.contact; | 
					
						
							|  |  |  |             this.conversation = options.conversation; | 
					
						
							|  |  |  |             textsecure.storage.protocol.loadIdentityKey(textsecure.storage.user.getNumber()).then(function(our_key) { | 
					
						
							|  |  |  |                 this.your_key = our_key; | 
					
						
							|  |  |  |                 this.render(); | 
					
						
							|  |  |  |             }.bind(this)); | 
					
						
							|  |  |  |             textsecure.storage.protocol.loadIdentityKey(textsecure.storage.user.getNumber()).then(function(our_key) { | 
					
						
							|  |  |  |                 var view = new Whisper.KeyVerificationView({ | 
					
						
							|  |  |  |                     model: { | 
					
						
							|  |  |  |                         their_key : this.model.identityKey, | 
					
						
							|  |  |  |                         your_key  : our_key | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 }); | 
					
						
							|  |  |  |                 view.render().$el.appendTo(this.$('.keys')); | 
					
						
							|  |  |  |             }.bind(this)); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         events: { | 
					
						
							|  |  |  |             'click .showKeys': 'showKeys', | 
					
						
							|  |  |  |             'click .hideKeys': 'hideKeys', | 
					
						
							|  |  |  |             'click .resolve' : 'resolve' | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         hideKeys: function() { | 
					
						
							|  |  |  |             this.$('.keys, .hideKeys').hide(); | 
					
						
							|  |  |  |             this.$('.showKeys').show(); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         showKeys: function() { | 
					
						
							|  |  |  |             this.$('.keys, .hideKeys').show(); | 
					
						
							|  |  |  |             this.$('.showKeys').hide(); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         resolve: function() { | 
					
						
							|  |  |  |             this.remove(); | 
					
						
							|  |  |  |             this.conversation.resolveConflicts(this.model); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         render_attributes: function() { | 
					
						
							|  |  |  |             return { | 
					
						
							|  |  |  |                 name         : this.contact.getTitle(), | 
					
						
							|  |  |  |                 avatar       : this.contact.getAvatar(), | 
					
						
							|  |  |  |                 conflict     : this.model, | 
					
						
							|  |  |  |                 newIdentity  : i18n('newIdentity'), | 
					
						
							|  |  |  |                 message      : i18n('identityChanged'), | 
					
						
							|  |  |  |                 resolve      : i18n('acceptNewKey'), | 
					
						
							|  |  |  |                 showKeys     : i18n('showMore'), | 
					
						
							|  |  |  |                 hideKeys     : i18n('showLess'), | 
					
						
							|  |  |  |                 learnMore    : i18n('learnMore') | 
					
						
							|  |  |  |             }; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | })(); |