@ -410,13 +410,15 @@ public class ConversationFragment extends Fragment
 
			
		
	
		
		
			
				
					
					    if  ( isGroupChat )  { 
    if  ( isGroupChat )  { 
 
			
		
	
		
		
			
				
					
					      boolean  isLokiPublicChat  =  recipient . getName ( )  ! =  null  & &  recipient . getName ( ) . equals ( "Loki Public Chat" ) ; 
      boolean  isLokiPublicChat  =  recipient . getName ( )  ! =  null  & &  recipient . getName ( ) . equals ( "Loki Public Chat" ) ; 
 
			
		
	
		
		
			
				
					
					      int  selectedMessageCount  =  messageRecords . size ( ) ; 
      int  selectedMessageCount  =  messageRecords . size ( ) ; 
 
			
		
	
		
		
			
				
					
					      boolean  isSentByUser  =  ( ( MessageRecord ) messageRecords . toArray ( ) [ 0 ] ) . isOutgoing ( ) ; 
 
			
		
	
		
		
			
				
					
					      menu . findItem ( R . id . menu_context_copy_public_key ) . setVisible ( isLokiPublicChat  & &  selectedMessageCount  = =  1  & &  ! isSentByUser ) ; 
 
			
		
	
		
		
			
				
					
					      menu . findItem ( R . id . menu_context_reply ) . setVisible ( isLokiPublicChat  & &  selectedMessageCount  = =  1 ) ; 
      menu . findItem ( R . id . menu_context_reply ) . setVisible ( isLokiPublicChat  & &  selectedMessageCount  = =  1 ) ; 
 
			
		
	
		
		
			
				
					
					      LokiAPIDatabase  lokiAPIDatabase  =  DatabaseFactory . getLokiAPIDatabase ( getContext ( ) ) ; 
      LokiAPIDatabase  lokiAPIDatabase  =  DatabaseFactory . getLokiAPIDatabase ( getContext ( ) ) ; 
 
			
		
	
		
		
			
				
					
					      boolean  isSentByUser  =  ( ( MessageRecord ) messageRecords . toArray ( ) [ 0 ] ) . isOutgoing ( ) ; 
 
			
		
	
		
		
			
				
					
					      boolean  userCanModerate  =  lokiAPIDatabase . isModerator ( LokiGroupChatAPI . getPublicChatServerID ( ) ,  LokiGroupChatAPI . getPublicChatServer ( ) ) ; 
      boolean  userCanModerate  =  lokiAPIDatabase . isModerator ( LokiGroupChatAPI . getPublicChatServerID ( ) ,  LokiGroupChatAPI . getPublicChatServer ( ) ) ; 
 
			
		
	
		
		
			
				
					
					      boolean  isDeleteOptionVisible  =  isLokiPublicChat  & &  selectedMessageCount  = =  1  & &  ( isSentByUser  | |  userCanModerate ) ; 
      boolean  isDeleteOptionVisible  =  isLokiPublicChat  & &  selectedMessageCount  = =  1  & &  ( isSentByUser  | |  userCanModerate ) ; 
 
			
		
	
		
		
			
				
					
					      menu . findItem ( R . id . menu_context_delete_message ) . setVisible ( isDeleteOptionVisible ) ; 
      menu . findItem ( R . id . menu_context_delete_message ) . setVisible ( isDeleteOptionVisible ) ; 
 
			
		
	
		
		
			
				
					
					    }  else  { 
    }  else  { 
 
			
		
	
		
		
			
				
					
					      menu . findItem ( R . id . menu_context_copy_public_key ) . setVisible ( false ) ; 
 
			
		
	
		
		
			
				
					
					      menu . findItem ( R . id . menu_context_delete_message ) . setVisible ( true ) ; 
      menu . findItem ( R . id . menu_context_delete_message ) . setVisible ( true ) ; 
 
			
		
	
		
		
			
				
					
					    } 
    } 
 
			
		
	
		
		
			
				
					
					  } 
  } 
 
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -493,6 +495,11 @@ public class ConversationFragment extends Fragment
 
			
		
	
		
		
			
				
					
					        clipboard . setText ( result ) ; 
        clipboard . setText ( result ) ; 
 
			
		
	
		
		
			
				
					
					  } 
  } 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					  private  void  handleCopyPublicKey ( MessageRecord  messageRecord )  { 
 
			
		
	
		
		
			
				
					
					    ClipboardManager  clipboard  =  ( ClipboardManager )  getActivity ( ) . getSystemService ( Context . CLIPBOARD_SERVICE ) ; 
 
			
		
	
		
		
			
				
					
					    clipboard . setText ( messageRecord . getRecipient ( ) . getAddress ( ) . toString ( ) ) ; 
 
			
		
	
		
		
			
				
					
					  } 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					  private  void  handleDeleteMessages ( final  Set < MessageRecord >  messageRecords )  { 
  private  void  handleDeleteMessages ( final  Set < MessageRecord >  messageRecords )  { 
 
			
		
	
		
		
			
				
					
					    int                  messagesCount  =  messageRecords . size ( ) ; 
    int                  messagesCount  =  messageRecords . size ( ) ; 
 
			
		
	
		
		
			
				
					
					    AlertDialog . Builder  builder        =  new  AlertDialog . Builder ( getActivity ( ) ) ; 
    AlertDialog . Builder  builder        =  new  AlertDialog . Builder ( getActivity ( ) ) ; 
 
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -1121,6 +1128,10 @@ public class ConversationFragment extends Fragment
 
			
		
	
		
		
			
				
					
					          handleCopyMessage ( getListAdapter ( ) . getSelectedItems ( ) ) ; 
          handleCopyMessage ( getListAdapter ( ) . getSelectedItems ( ) ) ; 
 
			
		
	
		
		
			
				
					
					          actionMode . finish ( ) ; 
          actionMode . finish ( ) ; 
 
			
		
	
		
		
			
				
					
					          return  true ; 
          return  true ; 
 
			
		
	
		
		
			
				
					
					        case  R . id . menu_context_copy_public_key : 
 
			
		
	
		
		
			
				
					
					          handleCopyPublicKey ( ( MessageRecord )  getListAdapter ( ) . getSelectedItems ( ) . toArray ( ) [ 0 ] ) ; 
 
			
		
	
		
		
			
				
					
					          actionMode . finish ( ) ; 
 
			
		
	
		
		
			
				
					
					          return  true ; 
 
			
		
	
		
		
			
				
					
					        case  R . id . menu_context_delete_message : 
        case  R . id . menu_context_delete_message : 
 
			
		
	
		
		
			
				
					
					          handleDeleteMessages ( getListAdapter ( ) . getSelectedItems ( ) ) ; 
          handleDeleteMessages ( getListAdapter ( ) . getSelectedItems ( ) ) ; 
 
			
		
	
		
		
			
				
					
					          actionMode . finish ( ) ; 
          actionMode . finish ( ) ;