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


Java Optional.isPresent方法代码示例

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


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

示例1: loadMmsConfig

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private static MmsConfig loadMmsConfig(Context context, int subscriptionId) {
  if (subscriptionId != -1 && Build.VERSION.SDK_INT >= 24) {
    Optional<SubscriptionInfoCompat> subscriptionInfo = new SubscriptionManagerCompat(context).getActiveSubscriptionInfo(subscriptionId);

    if (subscriptionInfo.isPresent()) {
      Configuration configuration = context.getResources().getConfiguration();
      configuration.mcc = subscriptionInfo.get().getMcc();
      configuration.mnc = subscriptionInfo.get().getMnc();

      Context subcontext = context.createConfigurationContext(configuration);
      return new MmsConfig(subcontext, subscriptionId);
    }
  }

  return new MmsConfig(context, subscriptionId);
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:17,代码来源:MmsConfigManager.java

示例2: createMultiDeviceSentTranscriptContent

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private byte[] createMultiDeviceSentTranscriptContent(byte[] content, Optional<SignalServiceAddress> recipient, long timestamp)
{
  try {
    Content.Builder          container   = Content.newBuilder();
    SyncMessage.Builder      syncMessage = SyncMessage.newBuilder();
    SyncMessage.Sent.Builder sentMessage = SyncMessage.Sent.newBuilder();
    DataMessage              dataMessage = DataMessage.parseFrom(content);

    sentMessage.setTimestamp(timestamp);
    sentMessage.setMessage(dataMessage);


    if (recipient.isPresent()) {
      sentMessage.setDestination(recipient.get().getNumber());
    }

    if (dataMessage.getExpireTimer() > 0) {
      sentMessage.setExpirationStartTimestamp(System.currentTimeMillis());
    }

    return container.setSyncMessage(syncMessage.setSent(sentMessage)).build().toByteArray();
  } catch (InvalidProtocolBufferException e) {
    throw new AssertionError(e);
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-lib,代码行数:26,代码来源:SignalServiceMessageSender.java

示例3: onPostExecute

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
@Override
protected void onPostExecute(Optional<GroupData> group) {
  super.onPostExecute(group);

  if (group.isPresent() && !activity.isFinishing()) {
    activity.groupToUpdate = group;

    activity.groupName.setText(group.get().name);
    if (group.get().avatarBmp != null) {
      activity.setAvatar(group.get().avatarBytes, group.get().avatarBmp);
    }
    SelectedRecipientsAdapter adapter = new SelectedRecipientsAdapter(activity, group.get().recipients);
    adapter.setOnRecipientDeletedListener(activity);
    activity.lv.setAdapter(adapter);
    activity.updateViewState();
  }
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:18,代码来源:GroupCreateActivity.java

示例4: handleInvalidVersionMessage

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private void handleInvalidVersionMessage(@NonNull MasterSecretUnion masterSecret,
                                         @NonNull SignalServiceEnvelope envelope,
                                         @NonNull Optional<Long> smsMessageId)
{
  EncryptingSmsDatabase smsDatabase = DatabaseFactory.getEncryptingSmsDatabase(context);

  if (!smsMessageId.isPresent()) {
    Optional<InsertResult> insertResult = insertPlaceholder(envelope);

    if (insertResult.isPresent()) {
      smsDatabase.markAsInvalidVersionKeyExchange(insertResult.get().getMessageId());
      MessageNotifier.updateNotification(context, masterSecret.getMasterSecret().orNull(), insertResult.get().getThreadId());
    }
  } else {
    smsDatabase.markAsInvalidVersionKeyExchange(smsMessageId.get());
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:18,代码来源:PushDecryptJob.java

示例5: handleSynchronizeSentExpirationUpdate

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private long handleSynchronizeSentExpirationUpdate(@NonNull MasterSecretUnion masterSecret,
                                                   @NonNull SentTranscriptMessage message,
                                                   @NonNull Optional<Long> smsMessageId)
    throws MmsException
{
  MmsDatabase database   = DatabaseFactory.getMmsDatabase(context);
  Recipients  recipients = getSyncMessageDestination(message);

  OutgoingExpirationUpdateMessage expirationUpdateMessage = new OutgoingExpirationUpdateMessage(recipients,
                                                                                                message.getTimestamp(),
                                                                                                message.getMessage().getExpiresInSeconds() * 1000);

  long threadId  = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipients);
  long messageId = database.insertMessageOutbox(masterSecret, expirationUpdateMessage, threadId, false);

  database.markAsSent(messageId, true);

  DatabaseFactory.getRecipientPreferenceDatabase(context).setExpireMessages(recipients, message.getMessage().getExpiresInSeconds());

  if (smsMessageId.isPresent()) {
    DatabaseFactory.getSmsDatabase(context).deleteMessage(smsMessageId.get());
  }

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

示例6: isTrustedForSending

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private boolean isTrustedForSending(IdentityKey identityKey, Optional<IdentityRecord> identityRecord) {
  if (!identityRecord.isPresent()) {
    Log.w(TAG, "Nothing here, returning true...");
    return true;
  }

  if (!identityKey.equals(identityRecord.get().getIdentityKey())) {
    Log.w(TAG, "Identity keys don't match...");
    return false;
  }

  if (identityRecord.get().getVerifiedStatus() == VerifiedStatus.UNVERIFIED) {
    Log.w(TAG, "Needs unverified approval!");
    return false;
  }

  if (isNonBlockingApprovalRequired(identityRecord.get())) {
    Log.w(TAG, "Needs non-blocking approval!");
    return false;
  }

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

示例7: handleNoSessionMessage

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private void handleNoSessionMessage(@NonNull MasterSecretUnion masterSecret,
                                    @NonNull SignalServiceEnvelope envelope,
                                    @NonNull Optional<Long> smsMessageId)
{
  EncryptingSmsDatabase smsDatabase = DatabaseFactory.getEncryptingSmsDatabase(context);

  if (!smsMessageId.isPresent()) {
    Optional<InsertResult> insertResult = insertPlaceholder(envelope);

    if (insertResult.isPresent()) {
      smsDatabase.markAsNoSession(insertResult.get().getMessageId());
      MessageNotifier.updateNotification(context, masterSecret.getMasterSecret().orNull(), insertResult.get().getThreadId());
    }
  } else {
    smsDatabase.markAsNoSession(smsMessageId.get());
  }
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:18,代码来源:PushDecryptJob.java

示例8: getFileType

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private @NonNull String getFileType(Optional<String> fileName) {
  if (!fileName.isPresent()) return "";

  String[] parts = fileName.get().split("\\.");

  if (parts.length < 2) {
    return "";
  }

  String suffix = parts[parts.length - 1];

  if (suffix.length() <= 3) {
    return suffix;
  }

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

示例9: onReceive

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
@Override
public void onReceive(Context context, Intent intent) {
  if(Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction()) &&
     intent.getData().getSchemeSpecificPart().equals(context.getPackageName()))
  {
    Optional<ExperienceUpgrade> experienceUpgrade = getExperienceUpgrade(context);
    if (!experienceUpgrade.isPresent()) return;

    Intent       targetIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
    Notification notification = new NotificationCompat.Builder(context)
                                    .setSmallIcon(R.drawable.icon_notification)
                                    .setColor(context.getResources().getColor(R.color.signal_primary))
                                    .setContentTitle(context.getString(experienceUpgrade.get().getNotificationTitle()))
                                    .setContentText(context.getString(experienceUpgrade.get().getNotificationText()))
                                    .setStyle(new NotificationCompat.BigTextStyle().bigText(context.getString(experienceUpgrade.get().getNotificationBigText())))
                                    .setAutoCancel(true)
                                    .setContentIntent(PendingIntent.getActivity(context, 0,
                                                                                targetIntent,
                                                                                PendingIntent.FLAG_UPDATE_CURRENT))
                                    .build();
    ServiceUtil.getNotificationManager(context).notify(NOTIFICATION_ID, notification);
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:24,代码来源:ExperienceUpgradeActivity.java

示例10: isPushDestination

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private static boolean isPushDestination(Context context, String destination) {
  TextSecureDirectory directory = TextSecureDirectory.getInstance(context);

  try {
    return directory.isSecureTextSupported(destination);
  } catch (NotInDirectoryException e) {
    try {
      SignalServiceAccountManager   accountManager = AccountManagerFactory.createManager(context);
      Optional<ContactTokenDetails> registeredUser = accountManager.getContact(destination);

      if (!registeredUser.isPresent()) {
        registeredUser = Optional.of(new ContactTokenDetails());
        registeredUser.get().setNumber(destination);
        directory.setNumber(registeredUser.get(), false);
        return false;
      } else {
        registeredUser.get().setNumber(destination);
        directory.setNumber(registeredUser.get(), true);
        return true;
      }
    } catch (IOException e1) {
      Log.w(TAG, e1);
      return false;
    }
  }
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:27,代码来源:MessageSender.java

示例11: disableTransport

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
public void disableTransport(Type type) {
  Optional<TransportOption> option = find(type);

  if (option.isPresent()) {
    enabledTransports.remove(option.get());

    if (selectedOption.isPresent() && selectedOption.get().getType() == type) {
      setSelectedTransport(null);
    }
  }
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:12,代码来源:TransportOptions.java

示例12: remove

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
public void remove(@NonNull Recipient recipient) {
  Optional<RecipientWrapper> match = find(recipient);
  if (match.isPresent()) {
    recipients.remove(match.get());
    if(adminNumbers.isPresent()) {
      String number = match.get().getRecipient().getNumber();
      adminNumbers.get().remove(Util.canonicalizeNumber(context, number, number));
    }
    notifyDataSetChanged();
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:12,代码来源:SelectedRecipientsAdapter.java

示例13: getIndividualRecipientDetails

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private @NonNull RecipientDetails getIndividualRecipientDetails(Context context, long recipientId, @NonNull String number) {
  Optional<RecipientsPreferences> preferences = DatabaseFactory.getRecipientPreferenceDatabase(context).getRecipientsPreferences(new long[]{recipientId});
  MaterialColor                   color       = preferences.isPresent() ? preferences.get().getColor() : null;
  Uri                             uri         = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
  Cursor                          cursor      = context.getContentResolver().query(uri, CALLER_ID_PROJECTION,
                                                                                   null, null, null);

  try {
    if (cursor != null && cursor.moveToFirst()) {
      final String resultNumber = cursor.getString(3);
      if (resultNumber != null) {
        Uri          contactUri   = Contacts.getLookupUri(cursor.getLong(2), cursor.getString(1));
        String       name         = resultNumber.equals(cursor.getString(0)) ? null : cursor.getString(0);
        ContactPhoto contactPhoto = ContactPhotoFactory.getContactPhoto(context,
                                                                        Uri.withAppendedPath(Contacts.CONTENT_URI, cursor.getLong(2) + ""),
                                                                        name);

        return new RecipientDetails(cursor.getString(0), resultNumber, cursor.getString(4), contactUri, contactPhoto, color);
      } else {
        Log.w(TAG, "resultNumber is null");
      }
    }
  } finally {
    if (cursor != null)
      cursor.close();
  }

  if (STATIC_DETAILS.containsKey(number)) return STATIC_DETAILS.get(number);
  else                                    return new RecipientDetails(null, number, null, null, ContactPhotoFactory.getDefaultContactPhoto(null), color);
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:31,代码来源:RecipientProvider.java

示例14: handleEndSessionMessage

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
private void handleEndSessionMessage(@NonNull MasterSecretUnion        masterSecret,
                                     @NonNull SignalServiceEnvelope    envelope,
                                     @NonNull SignalServiceDataMessage message,
                                     @NonNull Optional<Long>           smsMessageId)
{
  EncryptingSmsDatabase smsDatabase         = DatabaseFactory.getEncryptingSmsDatabase(context);
  IncomingTextMessage   incomingTextMessage = new IncomingTextMessage(envelope.getSource(),
                                                                      envelope.getSourceDevice(),
                                                                      message.getTimestamp(),
                                                                      "", Optional.<SignalServiceGroup>absent(), 0);

  Long threadId;

  if (!smsMessageId.isPresent()) {
    IncomingEndSessionMessage incomingEndSessionMessage = new IncomingEndSessionMessage(incomingTextMessage);
    Optional<InsertResult>    insertResult              = smsDatabase.insertMessageInbox(masterSecret, incomingEndSessionMessage);

    if (insertResult.isPresent()) threadId = insertResult.get().getThreadId();
    else                          threadId = null;
  } else {
    smsDatabase.markAsEndSession(smsMessageId.get());
    threadId = smsDatabase.getThreadIdForMessage(smsMessageId.get());
  }

  if (threadId != null) {
    SessionStore sessionStore = new TextSecureSessionStore(context);
    sessionStore.deleteAllSessions(envelope.getSource());

    SecurityEvent.broadcastSecurityUpdateEvent(context);
    MessageNotifier.updateNotification(context, masterSecret.getMasterSecret().orNull(), threadId);
  }
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:33,代码来源:PushDecryptJob.java

示例15: onRun

import org.whispersystems.libsignal.util.guava.Optional; //导入方法依赖的package包/类
@Override
public void onRun() {
  Log.w(TAG, "onRun()");
  
  Optional<IncomingTextMessage> message      = assembleMessageFragments(pdus, subscriptionId);
  MasterSecret                  masterSecret = KeyCachingService.getMasterSecret(context);

  MasterSecretUnion masterSecretUnion;

  if (masterSecret == null) {
    masterSecretUnion = new MasterSecretUnion(MasterSecretUtil.getAsymmetricMasterSecret(context, null));
  } else {
    masterSecretUnion = new MasterSecretUnion(masterSecret);
  }

  if (message.isPresent() && !isBlocked(message.get())) {
    Optional<InsertResult> insertResult = storeMessage(masterSecretUnion, message.get());

    if (insertResult.isPresent()) {
      MessageNotifier.updateNotification(context, masterSecret, insertResult.get().getThreadId());
    }
  } else if (message.isPresent()) {
    Log.w(TAG, "*** Received blocked SMS, ignoring...");
  } else {
    Log.w(TAG, "*** Failed to assemble message fragments!");
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:28,代码来源:SmsReceiveJob.java


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