Ejemplo n.º 1
0
  private Intent createSendIntent(byte[] resultBytes) {
    Intent sendIntent;
    sendIntent = new Intent(Intent.ACTION_SEND);
    sendIntent.setType(Constants.ENCRYPTED_TEXT_MIME);
    sendIntent.putExtra(Intent.EXTRA_TEXT, new String(resultBytes));

    EncryptActivity modeInterface = (EncryptActivity) getActivity();
    EncryptModeFragment modeFragment = modeInterface.getModeFragment();
    if (!modeFragment.isAsymmetric()) {
      return sendIntent;
    }

    String[] encryptionUserIds = modeFragment.getAsymmetricEncryptionUserIds();
    if (encryptionUserIds == null) {
      return sendIntent;
    }

    Set<String> users = new HashSet<>();
    for (String user : encryptionUserIds) {
      KeyRing.UserId userId = KeyRing.splitUserId(user);
      if (userId.email != null) {
        users.add(userId.email);
      }
    }
    // pass trough email addresses as extra for email applications
    sendIntent.putExtra(Intent.EXTRA_EMAIL, users.toArray(new String[users.size()]));

    return sendIntent;
  }