当前位置: 首页>>代码示例>>Java>>正文


Java SignalServiceEnvelope.getTimestamp方法代码示例

本文整理汇总了Java中org.whispersystems.signalservice.api.messages.SignalServiceEnvelope.getTimestamp方法的典型用法代码示例。如果您正苦于以下问题:Java SignalServiceEnvelope.getTimestamp方法的具体用法?Java SignalServiceEnvelope.getTimestamp怎么用?Java SignalServiceEnvelope.getTimestamp使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.whispersystems.signalservice.api.messages.SignalServiceEnvelope的用法示例。


在下文中一共展示了SignalServiceEnvelope.getTimestamp方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createSignalServiceMessage

import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope; //导入方法依赖的package包/类
private SignalServiceDataMessage createSignalServiceMessage(SignalServiceEnvelope envelope, DataMessage content) {
  SignalServiceGroup            groupInfo        = createGroupInfo(envelope, content);
  List<SignalServiceAttachment> attachments      = new LinkedList<>();
  boolean                       endSession       = ((content.getFlags() & DataMessage.Flags.END_SESSION_VALUE) != 0);
  boolean                       expirationUpdate = ((content.getFlags() & DataMessage.Flags.EXPIRATION_TIMER_UPDATE_VALUE) != 0);

  for (AttachmentPointer pointer : content.getAttachmentsList()) {
    attachments.add(new SignalServiceAttachmentPointer(pointer.getId(),
                                                       pointer.getContentType(),
                                                       pointer.getFilename(),
                                                       pointer.getKey().toByteArray(),
                                                       envelope.getRelay(),
                                                       pointer.hasSize() ? Optional.of(pointer.getSize()) : Optional.<Integer>absent(),
                                                       pointer.hasThumbnail() ? Optional.of(pointer.getThumbnail().toByteArray()): Optional.<byte[]>absent(),
                                                       pointer.hasDigest() ? Optional.of(pointer.getDigest().toByteArray()) : Optional.<byte[]>absent()));
  }

  return new SignalServiceDataMessage(envelope.getTimestamp(), groupInfo, attachments,
                                      content.getBody(), endSession, content.getExpireTimer(),
                                      expirationUpdate);
}
 
开发者ID:XecureIT,项目名称:PeSanKita-lib,代码行数:22,代码来源:SignalServiceCipher.java

示例2: JsonMessageEnvelope

import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope; //导入方法依赖的package包/类
public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) {
    SignalServiceAddress source = envelope.getSourceAddress();
    this.source = source.getNumber();
    this.sourceDevice = envelope.getSourceDevice();
    this.relay = source.getRelay().isPresent() ? source.getRelay().get() : null;
    this.timestamp = envelope.getTimestamp();
    this.isReceipt = envelope.isReceipt();
    if (content != null) {
        if (content.getDataMessage().isPresent()) {
            this.dataMessage = new JsonDataMessage(content.getDataMessage().get());
        }
        if (content.getSyncMessage().isPresent()) {
            this.syncMessage = new JsonSyncMessage(content.getSyncMessage().get());
        }
        if (content.getCallMessage().isPresent()) {
            this.callMessage = new JsonCallMessage(content.getCallMessage().get());
        }
    }
}
 
开发者ID:AsamK,项目名称:signal-cli,代码行数:20,代码来源:JsonMessageEnvelope.java

示例3: handleUntrustedIdentityMessage

import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope; //导入方法依赖的package包/类
private void handleUntrustedIdentityMessage(@NonNull MasterSecretUnion masterSecret,
                                            @NonNull SignalServiceEnvelope envelope,
                                            @NonNull Optional<Long> smsMessageId)
{
  try {
    EncryptingSmsDatabase database       = DatabaseFactory.getEncryptingSmsDatabase(context);
    Recipients            recipients     = RecipientFactory.getRecipientsFromString(context, envelope.getSource(), false);
    long                  recipientId    = recipients.getPrimaryRecipient().getRecipientId();
    byte[]                serialized     = envelope.hasLegacyMessage() ? envelope.getLegacyMessage() : envelope.getContent();
    PreKeySignalMessage   whisperMessage = new PreKeySignalMessage(serialized);
    IdentityKey           identityKey    = whisperMessage.getIdentityKey();
    String                encoded        = Base64.encodeBytes(serialized);

    IncomingTextMessage   textMessage    = new IncomingTextMessage(envelope.getSource(), envelope.getSourceDevice(),
                                                                   envelope.getTimestamp(), encoded,
                                                                   Optional.<SignalServiceGroup>absent(), 0);

    if (!smsMessageId.isPresent()) {
      IncomingPreKeyBundleMessage bundleMessage = new IncomingPreKeyBundleMessage(textMessage, encoded, envelope.hasLegacyMessage());
      Optional<InsertResult>      insertResult  = database.insertMessageInbox(masterSecret, bundleMessage);

      if (insertResult.isPresent()) {
        database.setMismatchedIdentity(insertResult.get().getMessageId(), recipientId, identityKey);
        MessageNotifier.updateNotification(context, masterSecret.getMasterSecret().orNull(), insertResult.get().getThreadId());
      }
    } else {
      database.updateMessageBody(masterSecret, smsMessageId.get(), encoded);
      database.markAsPreKeyBundle(smsMessageId.get());
      database.setMismatchedIdentity(smsMessageId.get(), recipientId, identityKey);
    }
  } catch (InvalidMessageException | InvalidVersionException e) {
    throw new AssertionError(e);
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:35,代码来源:PushDecryptJob.java

示例4: storeMessage

import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope; //导入方法依赖的package包/类
private static @Nullable Long storeMessage(@NonNull Context context,
                                           @NonNull MasterSecretUnion masterSecret,
                                           @NonNull SignalServiceEnvelope envelope,
                                           @NonNull SignalServiceGroup group,
                                           @NonNull GroupContext storage,
                                           boolean  outgoing)
{
  if (group.getAvatar().isPresent()) {
    ApplicationContext.getInstance(context).getJobManager()
                      .add(new AvatarDownloadJob(context, group.getGroupId()));
  }

  try {
    if (outgoing) {
      MmsDatabase               mmsDatabase     = DatabaseFactory.getMmsDatabase(context);
      Recipients                recipients      = RecipientFactory.getRecipientsFromString(context, GroupUtil.getEncodedId(group.getGroupId()), false);
      OutgoingGroupMediaMessage outgoingMessage = new OutgoingGroupMediaMessage(recipients, storage, null, envelope.getTimestamp(), 0);
      long                      threadId        = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipients);
      long                      messageId       = mmsDatabase.insertMessageOutbox(masterSecret, outgoingMessage, threadId, false);

      mmsDatabase.markAsSent(messageId, true);

      return threadId;
    } else {
      EncryptingSmsDatabase smsDatabase  = DatabaseFactory.getEncryptingSmsDatabase(context);
      String                body         = Base64.encodeBytes(storage.toByteArray());
      IncomingTextMessage   incoming     = new IncomingTextMessage(envelope.getSource(), envelope.getSourceDevice(), envelope.getTimestamp(), body, Optional.of(group), 0);
      IncomingGroupMessage  groupMessage = new IncomingGroupMessage(incoming, storage, body);

      Optional<InsertResult> insertResult = smsDatabase.insertMessageInbox(masterSecret, groupMessage);

      if (insertResult.isPresent()) {
        MessageNotifier.updateNotification(context, masterSecret.getMasterSecret().orNull(), insertResult.get().getThreadId());
        return insertResult.get().getThreadId();
      } else {
        return null;
      }
    }
  } catch (MmsException e) {
    Log.w(TAG, e);
  }

  return null;
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:45,代码来源:GroupMessageProcessor.java

示例5: storeMessage

import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope; //导入方法依赖的package包/类
private static @Nullable Long storeMessage(@NonNull Context context,
                                           @NonNull MasterSecretUnion masterSecret,
                                           @NonNull SignalServiceEnvelope envelope,
                                           @NonNull SignalServiceGroup group,
                                           @NonNull GroupContext storage,
                                           boolean  outgoing)
{
  if (group.getAvatar().isPresent()) {
    ApplicationContext.getInstance(context).getJobManager()
                      .add(new AvatarDownloadJob(context, group.getGroupId()));
  }

  try {
    if (outgoing) {
      MmsDatabase               mmsDatabase     = DatabaseFactory.getMmsDatabase(context);
      Recipients                recipients      = RecipientFactory.getRecipientsFromString(context, GroupUtil.getEncodedId(group.getGroupId()), false);
      OutgoingGroupMediaMessage outgoingMessage = new OutgoingGroupMediaMessage(recipients, storage, null, envelope.getTimestamp(), 0);
      long                      threadId        = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipients);
      long                      messageId       = mmsDatabase.insertMessageOutbox(masterSecret, outgoingMessage, threadId, false, null);

      mmsDatabase.markAsSent(messageId, true);

      return threadId;
    } else {
      EncryptingSmsDatabase smsDatabase  = DatabaseFactory.getEncryptingSmsDatabase(context);
      String                body         = Base64.encodeBytes(storage.toByteArray());
      IncomingTextMessage   incoming     = new IncomingTextMessage(envelope.getSource(), envelope.getSourceDevice(), envelope.getTimestamp(), body, Optional.of(group), 0);
      IncomingGroupMessage  groupMessage = new IncomingGroupMessage(incoming, storage, body);

      Optional<InsertResult> insertResult = smsDatabase.insertMessageInbox(masterSecret, groupMessage);

      if (insertResult.isPresent()) {
        MessageNotifier.updateNotification(context, masterSecret.getMasterSecret().orNull(), insertResult.get().getThreadId());
        return insertResult.get().getThreadId();
      } else {
        return null;
      }
    }
  } catch (MmsException e) {
    Log.w(TAG, e);
  }

  return null;
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:45,代码来源:GroupMessageProcessor.java


注:本文中的org.whispersystems.signalservice.api.messages.SignalServiceEnvelope.getTimestamp方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。