mirror of
https://github.com/aljazceru/signal-cli.git
synced 2025-12-30 04:24:25 +01:00
Update libsignal-service
This commit is contained in:
@@ -153,6 +153,7 @@ public class Manager implements Closeable {
|
||||
private SignalServiceAccountManager accountManager;
|
||||
private SignalServiceMessagePipe messagePipe = null;
|
||||
private SignalServiceMessagePipe unidentifiedMessagePipe = null;
|
||||
private boolean discoverableByPhoneNumber = true;
|
||||
|
||||
public Manager(SignalAccount account, PathConfig pathConfig, SignalServiceConfiguration serviceConfiguration, String userAgent) {
|
||||
this.account = account;
|
||||
@@ -286,7 +287,7 @@ public class Manager implements Closeable {
|
||||
}
|
||||
|
||||
public void updateAccountAttributes() throws IOException {
|
||||
accountManager.setAccountAttributes(account.getSignalingKey(), account.getSignalProtocolStore().getLocalRegistrationId(), true, account.getRegistrationLockPin(), account.getRegistrationLock(), getSelfUnidentifiedAccessKey(), false, ServiceConfig.capabilities);
|
||||
accountManager.setAccountAttributes(account.getSignalingKey(), account.getSignalProtocolStore().getLocalRegistrationId(), true, account.getRegistrationLockPin(), account.getRegistrationLock(), getSelfUnidentifiedAccessKey(), false, ServiceConfig.capabilities, discoverableByPhoneNumber);
|
||||
}
|
||||
|
||||
public void setProfile(String name, File avatar) throws IOException {
|
||||
@@ -371,7 +372,7 @@ public class Manager implements Closeable {
|
||||
verificationCode = verificationCode.replace("-", "");
|
||||
account.setSignalingKey(KeyUtils.createSignalingKey());
|
||||
// TODO make unrestricted unidentified access configurable
|
||||
VerifyAccountResponse response = accountManager.verifyAccountWithCode(verificationCode, account.getSignalingKey(), account.getSignalProtocolStore().getLocalRegistrationId(), true, pin, null, getSelfUnidentifiedAccessKey(), false, ServiceConfig.capabilities);
|
||||
VerifyAccountResponse response = accountManager.verifyAccountWithCode(verificationCode, account.getSignalingKey(), account.getSignalProtocolStore().getLocalRegistrationId(), true, pin, null, getSelfUnidentifiedAccessKey(), false, ServiceConfig.capabilities, discoverableByPhoneNumber);
|
||||
|
||||
UUID uuid = UuidUtil.parseOrNull(response.getUuid());
|
||||
// TODO response.isStorageCapable()
|
||||
@@ -836,7 +837,8 @@ public class Manager implements Closeable {
|
||||
throw new StickerPackInvalidException("Could not find find " + sticker.file);
|
||||
}
|
||||
|
||||
StickerInfo stickerInfo = new StickerInfo(data.first(), data.second(), Optional.fromNullable(sticker.emoji).or(""));
|
||||
String contentType = Utils.getFileMimeType(new File(sticker.file), null);
|
||||
StickerInfo stickerInfo = new StickerInfo(data.first(), data.second(), Optional.fromNullable(sticker.emoji).or(""), contentType);
|
||||
stickers.add(stickerInfo);
|
||||
}
|
||||
|
||||
@@ -853,7 +855,8 @@ public class Manager implements Closeable {
|
||||
throw new StickerPackInvalidException("Could not find find " + pack.cover.file);
|
||||
}
|
||||
|
||||
cover = new StickerInfo(data.first(), data.second(), Optional.fromNullable(pack.cover.emoji).or(""));
|
||||
String contentType = Utils.getFileMimeType(new File(pack.cover.file), null);
|
||||
cover = new StickerInfo(data.first(), data.second(), Optional.fromNullable(pack.cover.emoji).or(""), contentType);
|
||||
}
|
||||
|
||||
return new SignalServiceStickerManifestUpload(
|
||||
@@ -925,10 +928,10 @@ public class Manager implements Closeable {
|
||||
|
||||
private byte[] getSenderCertificate() {
|
||||
// TODO support UUID capable sender certificates
|
||||
// byte[] certificate = accountManager.getSenderCertificate();
|
||||
// byte[] certificate = accountManager.getSenderCertificateForPhoneNumberPrivacy();
|
||||
byte[] certificate;
|
||||
try {
|
||||
certificate = accountManager.getSenderCertificateLegacy();
|
||||
certificate = accountManager.getSenderCertificate();
|
||||
} catch (IOException e) {
|
||||
System.err.println("Failed to get sender certificate: " + e);
|
||||
return null;
|
||||
|
||||
@@ -58,7 +58,7 @@ class Utils {
|
||||
return signalServiceAttachments;
|
||||
}
|
||||
|
||||
private static String getFileMimeType(File file) throws IOException {
|
||||
static String getFileMimeType(File file, String defaultMimeType) throws IOException {
|
||||
String mime = Files.probeContentType(file.toPath());
|
||||
if (mime == null) {
|
||||
try (InputStream bufferedStream = new BufferedInputStream(new FileInputStream(file))) {
|
||||
@@ -66,7 +66,7 @@ class Utils {
|
||||
}
|
||||
}
|
||||
if (mime == null) {
|
||||
mime = "application/octet-stream";
|
||||
return defaultMimeType;
|
||||
}
|
||||
return mime;
|
||||
}
|
||||
@@ -74,7 +74,7 @@ class Utils {
|
||||
static SignalServiceAttachmentStream createAttachment(File attachmentFile) throws IOException {
|
||||
InputStream attachmentStream = new FileInputStream(attachmentFile);
|
||||
final long attachmentSize = attachmentFile.length();
|
||||
final String mime = getFileMimeType(attachmentFile);
|
||||
final String mime = getFileMimeType(attachmentFile, "application/octet-stream");
|
||||
// TODO mabybe add a parameter to set the voiceNote, borderless, preview, width, height and caption option
|
||||
final long uploadTimestamp = System.currentTimeMillis();
|
||||
Optional<byte[]> preview = Optional.absent();
|
||||
|
||||
Reference in New Issue
Block a user