public void handle(SignalServiceEnvelope envelope, bool sendExplicitReceipt) { if (!isActiveNumber(envelope.getSource())) { TextSecureDirectory directory = DatabaseFactory.getDirectoryDatabase(); ContactTokenDetails contactTokenDetails = new ContactTokenDetails(); contactTokenDetails.setNumber(envelope.getSource()); directory.setNumber(contactTokenDetails, true); // TODO: evtl DirectoryRefresh } if (envelope.isReceipt()) { handleReceipt(envelope); } else if (envelope.isPreKeySignalMessage() || envelope.isSignalMessage()) { handleMessage(envelope, sendExplicitReceipt); } else { Log.Warn($"Received envelope of unknown type: {envelope.GetType()}"); } }
/// <summary> /// Checks whether a contact is currently registered with the server. /// </summary> /// <param name="e164number">The contact to check.</param> /// <returns>An optional ContactTokenDetails, present if registered, absent if not.</returns> public async Task <May <ContactTokenDetails> > getContact(string e164number)// throws IOException { string contactToken = createDirectoryServerToken(e164number, true); ContactTokenDetails contactTokenDetails = await this.pushServiceSocket.getContactTokenDetails(contactToken); if (contactTokenDetails != null) { contactTokenDetails.setNumber(e164number); } return(new May <ContactTokenDetails>(contactTokenDetails)); }
public void handle(TextSecureEnvelope envelope, bool sendExplicitReceipt) { if (!isActiveNumber(envelope.getSource())) { TextSecureDirectory directory = DatabaseFactory.getDirectoryDatabase(); ContactTokenDetails contactTokenDetails = new ContactTokenDetails(); contactTokenDetails.setNumber(envelope.getSource()); directory.setNumber(contactTokenDetails, true); } if (envelope.isReceipt()) { handleReceipt(envelope); } else { handleMessage(envelope, sendExplicitReceipt); } }