import org.whispersystems.signalservice.api.services.ProfileService;
import org.whispersystems.signalservice.api.util.ExpiringProfileCredentialUtil;
-import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
final String familyName,
String about,
String aboutEmoji,
- Optional<File> avatar,
+ Optional<String> avatar,
byte[] mobileCoinAddress
) throws IOException {
setProfile(true, false, givenName, familyName, about, aboutEmoji, avatar, mobileCoinAddress);
final String familyName,
String about,
String aboutEmoji,
- Optional<File> avatar,
+ Optional<String> avatar,
byte[] mobileCoinAddress
) throws IOException {
var profile = getSelfProfile();
if (uploadProfile) {
final var streamDetails = avatar != null && avatar.isPresent()
- ? Utils.createStreamDetailsFromFile(avatar.get())
+ ? Utils.createStreamDetails(avatar.get())
+ .first()
: forceUploadAvatar && avatar == null ? context.getAvatarStore()
.retrieveProfileAvatar(account.getSelfRecipientAddress()) : null;
try (streamDetails) {
if (avatar != null) {
if (avatar.isPresent()) {
+ final var streamDetails = Utils.createStreamDetails(avatar.get()).first();
context.getAvatarStore()
.storeProfileAvatar(account.getSelfRecipientAddress(),
- outputStream -> IOUtils.copyFileToStream(avatar.get(), outputStream));
+ outputStream -> IOUtils.copyStream(streamDetails.getStream(), outputStream));
} else {
context.getAvatarStore().deleteProfileAvatar(account.getSelfRecipientAddress());
}