@ -12,6 +12,7 @@ import org.session.libsignal.libsignal.ecc.ECKeyPair
 
		
	
		
			
				import  org.session.libsignal.libsignal.util.guava.Optional  
		
	
		
			
				import  org.session.libsignal.service.api.push.SignalServiceAddress  
		
	
		
			
				import  org.session.libsignal.service.internal.push.SignalServiceProtos  
		
	
		
			
				import  org.session.libsignal.service.internal.push.SignalServiceProtos.DataMessage  
		
	
		
			
				import  org.session.libsignal.service.loki.protocol.meta.TTLUtilities  
		
	
		
			
				import  org.session.libsignal.service.loki.utilities.removing05PrefixIfNeeded  
		
	
		
			
				import  org.session.libsignal.service.loki.utilities.toHexString  
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
			
			@ -48,13 +49,13 @@ class ClosedGroupUpdateMessageSendJobV2 private constructor(parameters: Paramete
 
		
	
		
			
				
 
		
	
		
			
				        companion  object  { 
 
		
	
		
			
				
 
		
	
		
			
				            fun  fromProto ( proto :  SignalServiceProtos. ClosedGroupUpdateV2  . KeyPairWrapper ) :  KeyPairWrapper  { 
 
		
	
		
			
				            fun  fromProto ( proto :  DataMessage. ClosedGroupControlMessage  . KeyPairWrapper ) :  KeyPairWrapper  { 
 
		
	
		
			
				                return  KeyPairWrapper ( proto . publicKey . toString ( ) ,  proto . encryptedKeyPair . toByteArray ( ) ) 
 
		
	
		
			
				            } 
 
		
	
		
			
				        } 
 
		
	
		
			
				
 
		
	
		
			
				        fun  toProto ( ) :  SignalServiceProtos. ClosedGroupUpdateV2  . KeyPairWrapper  { 
 
		
	
		
			
				            val  result  =  SignalServiceProtos. ClosedGroupUpdateV2  . KeyPairWrapper . newBuilder ( ) 
 
		
	
		
			
				        fun  toProto ( ) :  DataMessage. ClosedGroupControlMessage  . KeyPairWrapper  { 
 
		
	
		
			
				            val  result  =  DataMessage. ClosedGroupControlMessage  . KeyPairWrapper . newBuilder ( ) 
 
		
	
		
			
				            result . publicKey  =  ByteString . copyFrom ( Hex . fromStringCondensed ( publicKey ) ) 
 
		
	
		
			
				            result . encryptedKeyPair  =  ByteString . copyFrom ( encryptedKeyPair ) 
 
		
	
		
			
				            return  result . build ( ) 
 
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
			
			@ -171,11 +172,11 @@ class ClosedGroupUpdateMessageSendJobV2 private constructor(parameters: Paramete
 
		
	
		
			
				
 
		
	
		
			
				    public  override  fun  onRun ( )  { 
 
		
	
		
			
				        val  contentMessage  =  SignalServiceProtos . Content . newBuilder ( ) 
 
		
	
		
			
				        val  dataMessage  =  SignalServiceProtos.  DataMessage. newBuilder ( ) 
 
		
	
		
			
				        val  closedGroupUpdate  =  SignalServiceProtos. ClosedGroupUpdateV2  . newBuilder ( ) 
 
		
	
		
			
				        val  dataMessage  =  . newBuilder ( ) 
 
		
	
		
			
				        val  closedGroupUpdate  =  DataMessage. ClosedGroupControlMessage  . newBuilder ( ) 
 
		
	
		
			
				        when  ( kind )  { 
 
		
	
		
			
				            is  Kind . New  ->  { 
 
		
	
		
			
				                closedGroupUpdate . type  =  SignalServiceProtos. ClosedGroupUpdateV2  . Type . NEW 
 
		
	
		
			
				                closedGroupUpdate . type  =  DataMessage. ClosedGroupControlMessage  . Type . NEW 
 
		
	
		
			
				                closedGroupUpdate . publicKey  =  ByteString . copyFrom ( kind . publicKey ) 
 
		
	
		
			
				                closedGroupUpdate . name  =  kind . name 
 
		
	
		
			
				                val  encryptionKeyPair  =  SignalServiceProtos . KeyPair . newBuilder ( ) 
 
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
			
			@ -186,31 +187,31 @@ class ClosedGroupUpdateMessageSendJobV2 private constructor(parameters: Paramete
 
		
	
		
			
				                closedGroupUpdate . addAllAdmins ( kind . admins . map  {  ByteString . copyFrom ( it )  } ) 
 
		
	
		
			
				            } 
 
		
	
		
			
				            is  Kind . Update  ->  { 
 
		
	
		
			
				                closedGroupUpdate . type  =  SignalServiceProtos. ClosedGroupUpdateV2  . Type . UPDATE 
 
		
	
		
			
				                closedGroupUpdate . type  =  DataMessage. ClosedGroupControlMessage  . Type . UPDATE 
 
		
	
		
			
				                closedGroupUpdate . name  =  kind . name 
 
		
	
		
			
				                closedGroupUpdate . addAllMembers ( kind . members . map  {  ByteString . copyFrom ( it )  } ) 
 
		
	
		
			
				            } 
 
		
	
		
			
				            is  Kind . EncryptionKeyPair  ->  { 
 
		
	
		
			
				                closedGroupUpdate . type  =  SignalServiceProtos. ClosedGroupUpdateV2  . Type . ENCRYPTION _KEY _PAIR 
 
		
	
		
			
				                closedGroupUpdate . type  =  DataMessage. ClosedGroupControlMessage  . Type . ENCRYPTION _KEY _PAIR 
 
		
	
		
			
				                closedGroupUpdate . addAllWrappers ( kind . wrappers . map  {  it . toProto ( )  } ) 
 
		
	
		
			
				            } 
 
		
	
		
			
				            Kind . Leave  ->  { 
 
		
	
		
			
				                closedGroupUpdate . type  =  SignalServiceProtos. ClosedGroupUpdateV2  . Type . MEMBER _LEFT 
 
		
	
		
			
				                closedGroupUpdate . type  =  DataMessage. ClosedGroupControlMessage  . Type . MEMBER _LEFT 
 
		
	
		
			
				            } 
 
		
	
		
			
				            is  Kind . RemoveMembers  ->  { 
 
		
	
		
			
				                closedGroupUpdate . type  =  SignalServiceProtos. ClosedGroupUpdateV2  . Type . MEMBERS _REMOVED 
 
		
	
		
			
				                closedGroupUpdate . type  =  DataMessage. ClosedGroupControlMessage  . Type . MEMBERS _REMOVED 
 
		
	
		
			
				                closedGroupUpdate . addAllMembers ( kind . members . map  {  ByteString . copyFrom ( it )  } ) 
 
		
	
		
			
				            } 
 
		
	
		
			
				            is  Kind . AddMembers  ->  { 
 
		
	
		
			
				                closedGroupUpdate . type  =  SignalServiceProtos. ClosedGroupUpdateV2  . Type . MEMBERS _ADDED 
 
		
	
		
			
				                closedGroupUpdate . type  =  DataMessage. ClosedGroupControlMessage  . Type . MEMBERS _ADDED 
 
		
	
		
			
				                closedGroupUpdate . addAllMembers ( kind . members . map  {  ByteString . copyFrom ( it )  } ) 
 
		
	
		
			
				            } 
 
		
	
		
			
				            is  Kind . NameChange  ->  { 
 
		
	
		
			
				                closedGroupUpdate . type  =  SignalServiceProtos. ClosedGroupUpdateV2  . Type . NAME _CHANGE 
 
		
	
		
			
				                closedGroupUpdate . type  =  DataMessage. ClosedGroupControlMessage  . Type . NAME _CHANGE 
 
		
	
		
			
				                closedGroupUpdate . name  =  kind . name 
 
		
	
		
			
				            } 
 
		
	
		
			
				        } 
 
		
	
		
			
				        dataMessage . closedGroup UpdateV2  =  closedGroupUpdate . build ( ) 
 
		
	
		
			
				        dataMessage . closedGroup ControlMessage  =  closedGroupUpdate . build ( ) 
 
		
	
		
			
				        contentMessage . dataMessage  =  dataMessage . build ( ) 
 
		
	
		
			
				        val  serializedContentMessage  =  contentMessage . build ( ) . toByteArray ( ) 
 
		
	
		
			
				        val  messageSender  =  ApplicationContext . getInstance ( context ) . communicationModule . provideSignalMessageSender ( )