This commit is contained in:
Ryan ZHAO 2021-02-01 11:35:53 +11:00
parent 9bc360f047
commit 5cb3a79a27
84 changed files with 165 additions and 2319 deletions

View File

@ -13,7 +13,7 @@ import com.fasterxml.jackson.databind.type.TypeFactory;
import network.loki.messenger.R; import network.loki.messenger.R;
import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.logging.Log;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
@ -40,7 +40,7 @@ public class RecentEmojiPageModel implements EmojiPageModel {
try { try {
CollectionType collectionType = TypeFactory.defaultInstance() CollectionType collectionType = TypeFactory.defaultInstance()
.constructCollectionType(LinkedHashSet.class, String.class); .constructCollectionType(LinkedHashSet.class, String.class);
return JsonUtils.getMapper().readValue(serialized, collectionType); return JsonUtil.getMapper().readValue(serialized, collectionType);
} catch (IOException e) { } catch (IOException e) {
Log.w(TAG, e); Log.w(TAG, e);
return new LinkedHashSet<>(); return new LinkedHashSet<>();
@ -89,7 +89,7 @@ public class RecentEmojiPageModel implements EmojiPageModel {
@Override @Override
protected Void doInBackground(Void... params) { protected Void doInBackground(Void... params) {
try { try {
String serialized = JsonUtils.toJson(latestRecentlyUsed); String serialized = JsonUtil.toJsonThrows(latestRecentlyUsed);
prefs.edit() prefs.edit()
.putString(EMOJI_LRU_PREFERENCE, serialized) .putString(EMOJI_LRU_PREFERENCE, serialized)
.apply(); .apply();

View File

@ -10,7 +10,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.logging.Log;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import java.io.IOException; import java.io.IOException;
@ -83,7 +83,7 @@ public class SignalPlace {
public @Nullable String serialize() { public @Nullable String serialize() {
try { try {
return JsonUtils.toJson(this); return JsonUtil.toJsonThrows(this);
} catch (IOException e) { } catch (IOException e) {
Log.w(TAG, e); Log.w(TAG, e);
return null; return null;
@ -91,6 +91,6 @@ public class SignalPlace {
} }
public static SignalPlace deserialize(@NonNull String serialized) throws IOException { public static SignalPlace deserialize(@NonNull String serialized) throws IOException {
return JsonUtils.fromJson(serialized, SignalPlace.class); return JsonUtil.fromJson(serialized, SignalPlace.class);
} }
} }

View File

@ -15,7 +15,7 @@ import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import java.io.IOException; import java.io.IOException;
@ -81,7 +81,7 @@ public class AttachmentSecret {
public String serialize() { public String serialize() {
try { try {
return JsonUtils.toJson(this); return JsonUtil.toJsonThrows(this);
} catch (IOException e) { } catch (IOException e) {
throw new AssertionError(e); throw new AssertionError(e);
} }
@ -89,7 +89,7 @@ public class AttachmentSecret {
static AttachmentSecret fromString(@NonNull String value) { static AttachmentSecret fromString(@NonNull String value) {
try { try {
return JsonUtils.fromJson(value, AttachmentSecret.class); return JsonUtil.fromJson(value, AttachmentSecret.class);
} catch (IOException e) { } catch (IOException e) {
throw new AssertionError(e); throw new AssertionError(e);
} }

View File

@ -31,7 +31,7 @@ import org.session.libsignal.libsignal.ecc.Curve;
import org.session.libsignal.libsignal.ecc.ECKeyPair; import org.session.libsignal.libsignal.ecc.ECKeyPair;
import org.session.libsignal.libsignal.ecc.ECPrivateKey; import org.session.libsignal.libsignal.ecc.ECPrivateKey;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import java.io.IOException; import java.io.IOException;
import java.util.LinkedList; import java.util.LinkedList;

View File

@ -19,7 +19,7 @@ import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import java.io.IOException; import java.io.IOException;
import java.security.InvalidAlgorithmParameterException; import java.security.InvalidAlgorithmParameterException;
@ -174,7 +174,7 @@ public final class KeyStoreHelper {
public String serialize() { public String serialize() {
try { try {
return JsonUtils.toJson(this); return JsonUtil.toJsonThrows(this);
} catch (IOException e) { } catch (IOException e) {
throw new AssertionError(e); throw new AssertionError(e);
} }
@ -182,7 +182,7 @@ public final class KeyStoreHelper {
public static SealedData fromString(@NonNull String value) { public static SealedData fromString(@NonNull String value) {
try { try {
return JsonUtils.fromJson(value, SealedData.class); return JsonUtil.fromJson(value, SealedData.class);
} catch (IOException e) { } catch (IOException e) {
throw new AssertionError(e); throw new AssertionError(e);
} }

View File

@ -24,7 +24,7 @@ import org.session.libsignal.libsignal.ecc.Curve;
import org.session.libsignal.libsignal.ecc.ECPrivateKey; import org.session.libsignal.libsignal.ecc.ECPrivateKey;
import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.logging.Log;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.utilities.Hex; import org.session.libsignal.utilities.Hex;
import java.io.IOException; import java.io.IOException;

View File

@ -30,7 +30,7 @@ import org.session.libsignal.libsignal.ecc.ECPrivateKey;
import org.session.libsignal.libsignal.ecc.ECPublicKey; import org.session.libsignal.libsignal.ecc.ECPublicKey;
import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.logging.Log;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsession.utilities.Util; import org.session.libsession.utilities.Util;
import java.io.IOException; import java.io.IOException;

View File

@ -5,7 +5,7 @@ import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.TextSecurePreferences;
import org.session.libsession.utilities.Util; import org.session.libsession.utilities.Util;

View File

@ -52,7 +52,7 @@ import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAt
import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachmentAudioExtras; import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachmentAudioExtras;
import org.session.libsession.messaging.sending_receiving.attachments.StickerLocator; import org.session.libsession.messaging.sending_receiving.attachments.StickerLocator;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsession.utilities.Util; import org.session.libsession.utilities.Util;
import org.thoughtcrime.securesms.mms.MediaStream; import org.thoughtcrime.securesms.mms.MediaStream;
@ -679,7 +679,7 @@ public class AttachmentDatabase extends Database {
JSONArray array = new JSONArray(cursor.getString(cursor.getColumnIndexOrThrow(ATTACHMENT_JSON_ALIAS))); JSONArray array = new JSONArray(cursor.getString(cursor.getColumnIndexOrThrow(ATTACHMENT_JSON_ALIAS)));
for (int i=0;i<array.length();i++) { for (int i=0;i<array.length();i++) {
JsonUtils.SaneJSONObject object = new JsonUtils.SaneJSONObject(array.getJSONObject(i)); JsonUtil.SaneJSONObject object = new JsonUtil.SaneJSONObject(array.getJSONObject(i));
if (!object.isNull(ROW_ID)) { if (!object.isNull(ROW_ID)) {
result.add(new DatabaseAttachment(new AttachmentId(object.getLong(ROW_ID), object.getLong(UNIQUE_ID)), result.add(new DatabaseAttachment(new AttachmentId(object.getLong(ROW_ID), object.getLong(UNIQUE_ID)),

View File

@ -15,7 +15,7 @@ import org.thoughtcrime.securesms.logging.Log;
import org.session.libsignal.libsignal.IdentityKey; import org.session.libsignal.libsignal.IdentityKey;
import org.session.libsession.messaging.threads.Address; import org.session.libsession.messaging.threads.Address;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
@ -132,7 +132,7 @@ public abstract class MessagingDatabase extends Database implements MmsSmsColumn
if (document == null || document.size() == 0) { if (document == null || document.size() == 0) {
contentValues.put(column, (String)null); contentValues.put(column, (String)null);
} else { } else {
contentValues.put(column, JsonUtils.toJson(document)); contentValues.put(column, JsonUtil.toJsonThrows(document));
} }
database.update(getTableName(), contentValues, ID_WHERE, new String[] {String.valueOf(messageId)}); database.update(getTableName(), contentValues, ID_WHERE, new String[] {String.valueOf(messageId)});
@ -153,7 +153,7 @@ public abstract class MessagingDatabase extends Database implements MmsSmsColumn
try { try {
if (!TextUtils.isEmpty(document)) { if (!TextUtils.isEmpty(document)) {
return JsonUtils.fromJson(document, clazz); return JsonUtil.fromJson(document, clazz);
} }
} catch (IOException e) { } catch (IOException e) {
Log.w(TAG, e); Log.w(TAG, e);

View File

@ -65,7 +65,7 @@ import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel;
import org.session.libsession.messaging.threads.Address; import org.session.libsession.messaging.threads.Address;
import org.session.libsession.messaging.threads.recipients.Recipient; import org.session.libsession.messaging.threads.recipients.Recipient;
import org.session.libsession.messaging.threads.recipients.RecipientFormattingException; import org.session.libsession.messaging.threads.recipients.RecipientFormattingException;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.TextSecurePreferences;
import org.session.libsession.utilities.Util; import org.session.libsession.utilities.Util;
@ -83,8 +83,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import static org.session.libsession.messaging.sending_receiving.contacts.Contact.Avatar;
public class MmsDatabase extends MessagingDatabase { public class MmsDatabase extends MessagingDatabase {
private static final String TAG = MmsDatabase.class.getSimpleName(); private static final String TAG = MmsDatabase.class.getSimpleName();
@ -655,7 +653,7 @@ public class MmsDatabase extends MessagingDatabase {
if (!TextUtils.isEmpty(mismatchDocument)) { if (!TextUtils.isEmpty(mismatchDocument)) {
try { try {
mismatches = JsonUtils.fromJson(mismatchDocument, IdentityKeyMismatchList.class).getList(); mismatches = JsonUtil.fromJson(mismatchDocument, IdentityKeyMismatchList.class).getList();
} catch (IOException e) { } catch (IOException e) {
Log.w(TAG, e); Log.w(TAG, e);
} }
@ -663,7 +661,7 @@ public class MmsDatabase extends MessagingDatabase {
if (!TextUtils.isEmpty(networkDocument)) { if (!TextUtils.isEmpty(networkDocument)) {
try { try {
networkFailures = JsonUtils.fromJson(networkDocument, NetworkFailureList.class).getList(); networkFailures = JsonUtil.fromJson(networkDocument, NetworkFailureList.class).getList();
} catch (IOException e) { } catch (IOException e) {
Log.w(TAG, e); Log.w(TAG, e);
} }
@ -1504,7 +1502,7 @@ public class MmsDatabase extends MessagingDatabase {
private List<IdentityKeyMismatch> getMismatchedIdentities(String document) { private List<IdentityKeyMismatch> getMismatchedIdentities(String document) {
if (!TextUtils.isEmpty(document)) { if (!TextUtils.isEmpty(document)) {
try { try {
return JsonUtils.fromJson(document, IdentityKeyMismatchList.class).getList(); return JsonUtil.fromJson(document, IdentityKeyMismatchList.class).getList();
} catch (IOException e) { } catch (IOException e) {
Log.w(TAG, e); Log.w(TAG, e);
} }
@ -1516,7 +1514,7 @@ public class MmsDatabase extends MessagingDatabase {
private List<NetworkFailure> getFailures(String document) { private List<NetworkFailure> getFailures(String document) {
if (!TextUtils.isEmpty(document)) { if (!TextUtils.isEmpty(document)) {
try { try {
return JsonUtils.fromJson(document, NetworkFailureList.class).getList(); return JsonUtil.fromJson(document, NetworkFailureList.class).getList();
} catch (IOException ioe) { } catch (IOException ioe) {
Log.w(TAG, ioe); Log.w(TAG, ioe);
} }

View File

@ -10,7 +10,7 @@ import org.thoughtcrime.securesms.logging.Log;
import net.sqlcipher.database.SQLiteDatabase; import net.sqlcipher.database.SQLiteDatabase;
import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.libsignal.InvalidKeyException; import org.session.libsignal.libsignal.InvalidKeyException;
import org.session.libsignal.libsignal.ecc.Curve; import org.session.libsignal.libsignal.ecc.Curve;
import org.session.libsignal.libsignal.ecc.ECKeyPair; import org.session.libsignal.libsignal.ecc.ECKeyPair;

View File

@ -9,7 +9,7 @@ import org.thoughtcrime.securesms.logging.Log;
import net.sqlcipher.database.SQLiteDatabase; import net.sqlcipher.database.SQLiteDatabase;
import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsignal.libsignal.util.guava.Optional;
import org.session.libsignal.service.api.messages.SignalServiceEnvelope; import org.session.libsignal.service.api.messages.SignalServiceEnvelope;
import org.session.libsignal.service.internal.util.Util; import org.session.libsignal.service.internal.util.Util;

View File

@ -16,7 +16,7 @@ import org.session.libsession.utilities.color.MaterialColor;
import org.session.libsession.messaging.threads.Address; import org.session.libsession.messaging.threads.Address;
import org.session.libsession.messaging.threads.recipients.Recipient; import org.session.libsession.messaging.threads.recipients.Recipient;
import org.session.libsession.messaging.threads.recipients.Recipient.*; import org.session.libsession.messaging.threads.recipients.Recipient.*;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsession.utilities.Util; import org.session.libsession.utilities.Util;
import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsignal.libsignal.util.guava.Optional;

View File

@ -11,7 +11,7 @@ import net.sqlcipher.database.SQLiteDatabase;
import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper;
import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.logging.Log;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.libsignal.InvalidKeyException; import org.session.libsignal.libsignal.InvalidKeyException;
import org.session.libsignal.libsignal.ecc.Curve; import org.session.libsignal.libsignal.ecc.Curve;
import org.session.libsignal.libsignal.ecc.ECKeyPair; import org.session.libsignal.libsignal.ecc.ECKeyPair;

View File

@ -44,7 +44,7 @@ import org.thoughtcrime.securesms.sms.OutgoingTextMessage;
import org.session.libsession.messaging.threads.Address; import org.session.libsession.messaging.threads.Address;
import org.session.libsession.messaging.threads.recipients.Recipient; import org.session.libsession.messaging.threads.recipients.Recipient;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.TextSecurePreferences;
import org.session.libsession.utilities.Util; import org.session.libsession.utilities.Util;
import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsignal.libsignal.util.guava.Optional;
@ -960,7 +960,7 @@ public class SmsDatabase extends MessagingDatabase {
private List<IdentityKeyMismatch> getMismatches(String document) { private List<IdentityKeyMismatch> getMismatches(String document) {
try { try {
if (!TextUtils.isEmpty(document)) { if (!TextUtils.isEmpty(document)) {
return JsonUtils.fromJson(document, IdentityKeyMismatchList.class).getList(); return JsonUtil.fromJson(document, IdentityKeyMismatchList.class).getList();
} }
} catch (IOException e) { } catch (IOException e) {
Log.w(TAG, e); Log.w(TAG, e);

View File

@ -14,7 +14,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.session.libsession.messaging.threads.Address; import org.session.libsession.messaging.threads.Address;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.libsignal.IdentityKey; import org.session.libsignal.libsignal.IdentityKey;
import org.session.libsignal.libsignal.InvalidKeyException; import org.session.libsignal.libsignal.InvalidKeyException;

View File

@ -13,7 +13,7 @@ import org.thoughtcrime.securesms.giph.model.GiphyImage;
import org.thoughtcrime.securesms.giph.model.GiphyResponse; import org.thoughtcrime.securesms.giph.model.GiphyResponse;
import org.thoughtcrime.securesms.net.ContentProxySelector; import org.thoughtcrime.securesms.net.ContentProxySelector;
import org.thoughtcrime.securesms.util.AsyncLoader; import org.thoughtcrime.securesms.util.AsyncLoader;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import java.io.IOException; import java.io.IOException;
import java.util.LinkedList; import java.util.LinkedList;
@ -58,7 +58,7 @@ public abstract class GiphyLoader extends AsyncLoader<List<GiphyImage>> {
throw new IOException("Unexpected code " + response); throw new IOException("Unexpected code " + response);
} }
GiphyResponse giphyResponse = JsonUtils.fromJson(response.body().byteStream(), GiphyResponse.class); GiphyResponse giphyResponse = JsonUtil.fromJson(response.body().byteStream(), GiphyResponse.class);
List<GiphyImage> results = giphyResponse.getData(); List<GiphyImage> results = giphyResponse.getData();
if (results == null) return new LinkedList<>(); if (results == null) return new LinkedList<>();

View File

@ -25,7 +25,7 @@ import org.thoughtcrime.securesms.sms.IncomingTextMessage;
import org.session.libsession.messaging.threads.Address; import org.session.libsession.messaging.threads.Address;
import org.session.libsession.messaging.threads.GroupRecord; import org.session.libsession.messaging.threads.GroupRecord;
import org.session.libsession.messaging.threads.recipients.Recipient; import org.session.libsession.messaging.threads.recipients.Recipient;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsession.utilities.GroupUtil; import org.session.libsession.utilities.GroupUtil;
import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.TextSecurePreferences;
import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsignal.libsignal.util.guava.Optional;

View File

@ -4,7 +4,7 @@ import androidx.annotation.NonNull;
import org.session.libsession.messaging.jobs.Data; import org.session.libsession.messaging.jobs.Data;
import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.logging.Log;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import java.io.IOException; import java.io.IOException;
@ -15,7 +15,7 @@ public class JsonDataSerializer implements Data.Serializer {
@Override @Override
public @NonNull String serialize(@NonNull Data data) { public @NonNull String serialize(@NonNull Data data) {
try { try {
return JsonUtils.toJson(data); return JsonUtil.toJsonThrows(data);
} catch (IOException e) { } catch (IOException e) {
Log.e(TAG, "Failed to serialize to JSON.", e); Log.e(TAG, "Failed to serialize to JSON.", e);
throw new AssertionError(e); throw new AssertionError(e);
@ -25,7 +25,7 @@ public class JsonDataSerializer implements Data.Serializer {
@Override @Override
public @NonNull Data deserialize(@NonNull String serialized) { public @NonNull Data deserialize(@NonNull String serialized) {
try { try {
return JsonUtils.fromJson(serialized, Data.class); return JsonUtil.fromJson(serialized, Data.class);
} catch (IOException e) { } catch (IOException e) {
Log.e(TAG, "Failed to deserialize JSON.", e); Log.e(TAG, "Failed to deserialize JSON.", e);
throw new AssertionError(e); throw new AssertionError(e);

View File

@ -27,7 +27,7 @@ import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint;
import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.logging.Log;
import org.thoughtcrime.securesms.mms.MmsException; import org.thoughtcrime.securesms.mms.MmsException;
import org.thoughtcrime.securesms.util.AttachmentUtil; import org.thoughtcrime.securesms.util.AttachmentUtil;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.utilities.Hex; import org.session.libsignal.utilities.Hex;
import org.session.libsession.utilities.Util; import org.session.libsession.utilities.Util;

View File

@ -17,7 +17,7 @@ import org.session.libsession.messaging.threads.Address;
import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.DatabaseFactory;
import org.thoughtcrime.securesms.database.MmsDatabase; import org.thoughtcrime.securesms.database.MmsDatabase;
import org.session.libsession.messaging.threads.recipients.Recipient; import org.session.libsession.messaging.threads.recipients.Recipient;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsession.utilities.Util; import org.session.libsession.utilities.Util;
import java.io.IOException; import java.io.IOException;

View File

@ -10,7 +10,7 @@ import com.annimon.stream.Stream;
import org.session.libsession.messaging.sending_receiving.attachments.Attachment; import org.session.libsession.messaging.sending_receiving.attachments.Attachment;
import org.session.libsession.messaging.sending_receiving.contacts.Contact; import org.session.libsession.messaging.sending_receiving.contacts.Contact;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.TextSecurePreferences;
import org.session.libsession.utilities.Util; import org.session.libsession.utilities.Util;

View File

@ -16,7 +16,7 @@ import org.thoughtcrime.securesms.database.SmsDatabase;
import org.session.libsession.messaging.threads.recipients.Recipient; import org.session.libsession.messaging.threads.recipients.Recipient;
import org.thoughtcrime.securesms.sms.IncomingTextMessage; import org.thoughtcrime.securesms.sms.IncomingTextMessage;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.TextSecurePreferences;
import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsignal.libsignal.util.guava.Optional;

View File

@ -20,7 +20,7 @@ import org.thoughtcrime.securesms.logging.Log;
import org.thoughtcrime.securesms.service.UpdateApkReadyListener; import org.thoughtcrime.securesms.service.UpdateApkReadyListener;
import org.thoughtcrime.securesms.util.FileUtils; import org.thoughtcrime.securesms.util.FileUtils;
import org.session.libsignal.utilities.Hex; import org.session.libsignal.utilities.Hex;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.TextSecurePreferences;
import java.io.FileInputStream; import java.io.FileInputStream;
@ -76,7 +76,7 @@ public class UpdateApkJob extends BaseJob {
throw new IOException("Bad response: " + response.message()); throw new IOException("Bad response: " + response.message());
} }
UpdateDescriptor updateDescriptor = JsonUtils.fromJson(response.body().string(), UpdateDescriptor.class); UpdateDescriptor updateDescriptor = JsonUtil.fromJson(response.body().string(), UpdateDescriptor.class);
byte[] digest = Hex.fromStringCondensed(updateDescriptor.getDigest()); byte[] digest = Hex.fromStringCondensed(updateDescriptor.getDigest());
Log.i(TAG, "Got descriptor: " + updateDescriptor); Log.i(TAG, "Got descriptor: " + updateDescriptor);

View File

@ -5,7 +5,7 @@ import android.os.Build;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import org.thoughtcrime.securesms.crypto.KeyStoreHelper; import org.thoughtcrime.securesms.crypto.KeyStoreHelper;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.TextSecurePreferences;
import java.io.IOException; import java.io.IOException;

View File

@ -6,7 +6,7 @@ import okhttp3.*
import org.thoughtcrime.securesms.database.DatabaseFactory import org.thoughtcrime.securesms.database.DatabaseFactory
import org.session.libsession.utilities.TextSecurePreferences import org.session.libsession.utilities.TextSecurePreferences
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.PushNotificationAPI import org.session.libsignal.service.loki.api.PushNotificationAPI
import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI
import org.session.libsignal.service.loki.utilities.retryIfNeeded import org.session.libsignal.service.loki.utilities.retryIfNeeded

View File

@ -9,7 +9,7 @@ import org.thoughtcrime.securesms.notifications.NotificationChannels
import org.session.libsession.utilities.TextSecurePreferences import org.session.libsession.utilities.TextSecurePreferences
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.api.messages.SignalServiceEnvelope import org.session.libsignal.service.api.messages.SignalServiceEnvelope
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.loki.api.MessageWrapper import org.session.libsignal.service.loki.api.MessageWrapper
class PushNotificationService : FirebaseMessagingService() { class PushNotificationService : FirebaseMessagingService() {

View File

@ -15,7 +15,7 @@ import org.session.libsession.utilities.TextSecurePreferences
import org.session.libsignal.service.loki.api.opengroups.PublicChat import org.session.libsignal.service.loki.api.opengroups.PublicChat
import org.session.libsignal.libsignal.loki.SessionResetStatus import org.session.libsignal.libsignal.loki.SessionResetStatus
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.database.LokiThreadDatabaseProtocol import org.session.libsignal.service.loki.database.LokiThreadDatabaseProtocol
import org.session.libsignal.service.loki.utilities.PublicKeyValidation import org.session.libsignal.service.loki.utilities.PublicKeyValidation

View File

@ -3,7 +3,7 @@ package org.thoughtcrime.securesms.loki.utilities
import android.content.ContentValues import android.content.ContentValues
import net.sqlcipher.Cursor import net.sqlcipher.Cursor
import net.sqlcipher.database.SQLiteDatabase import net.sqlcipher.database.SQLiteDatabase
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
fun <T> SQLiteDatabase.get(table: String, query: String?, arguments: Array<String>?, get: (Cursor) -> T): T? { fun <T> SQLiteDatabase.get(table: String, query: String?, arguments: Array<String>?, get: (Cursor) -> T): T? {
var cursor: Cursor? = null var cursor: Cursor? = null

View File

@ -5,7 +5,7 @@ import org.session.libsession.messaging.threads.Address
import org.session.libsession.messaging.threads.recipients.Recipient import org.session.libsession.messaging.threads.recipients.Recipient
import org.session.libsession.messaging.threads.recipients.RecipientModifiedListener import org.session.libsession.messaging.threads.recipients.RecipientModifiedListener
import org.session.libsession.utilities.TextSecurePreferences import org.session.libsession.utilities.TextSecurePreferences
import org.session.libsession.utilities.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.internal.push.SignalServiceProtos import org.session.libsignal.service.internal.push.SignalServiceProtos
import java.util.* import java.util.*

View File

@ -6,7 +6,7 @@ import com.goterl.lazycode.lazysodium.SodiumAndroid
import com.goterl.lazycode.lazysodium.utils.Key import com.goterl.lazycode.lazysodium.utils.Key
import com.goterl.lazycode.lazysodium.utils.KeyPair import com.goterl.lazycode.lazysodium.utils.KeyPair
import org.thoughtcrime.securesms.crypto.IdentityKeyUtil import org.thoughtcrime.securesms.crypto.IdentityKeyUtil
import org.session.libsession.utilities.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.utilities.Hex import org.session.libsignal.utilities.Hex
import org.session.libsignal.libsignal.ecc.DjbECPrivateKey import org.session.libsignal.libsignal.ecc.DjbECPrivateKey
import org.session.libsignal.libsignal.ecc.DjbECPublicKey import org.session.libsignal.libsignal.ecc.DjbECPublicKey

View File

@ -9,7 +9,7 @@ import org.session.libsession.messaging.sending_receiving.contacts.Contact;
import org.session.libsession.messaging.sending_receiving.linkpreview.LinkPreview; import org.session.libsession.messaging.sending_receiving.linkpreview.LinkPreview;
import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel; import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel;
import org.session.libsession.messaging.threads.recipients.Recipient; import org.session.libsession.messaging.threads.recipients.Recipient;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.service.internal.push.SignalServiceProtos.GroupContext; import org.session.libsignal.service.internal.push.SignalServiceProtos.GroupContext;

View File

@ -5,8 +5,8 @@ import nl.komponents.kovenant.functional.map
import okhttp3.Request import okhttp3.Request
import org.session.libsession.messaging.utilities.DotNetAPI import org.session.libsession.messaging.utilities.DotNetAPI
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI
import org.session.libsignal.service.loki.database.LokiAPIDatabaseProtocol import org.session.libsignal.service.loki.database.LokiAPIDatabaseProtocol
import org.session.libsignal.service.loki.protocol.shelved.multidevice.DeviceLink import org.session.libsignal.service.loki.protocol.shelved.multidevice.DeviceLink

View File

@ -13,7 +13,7 @@ import org.session.libsession.snode.SnodeMessage
import org.session.libsession.snode.OnionRequestAPI import org.session.libsession.snode.OnionRequestAPI
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.utilities.retryIfNeeded import org.session.libsignal.service.loki.utilities.retryIfNeeded
class NotifyPNServerJob(val message: SnodeMessage) : Job { class NotifyPNServerJob(val message: SnodeMessage) : Job {

View File

@ -1,6 +1,6 @@
package org.session.libsession.messaging.opengroups package org.session.libsession.messaging.opengroups
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
data class OpenGroup( data class OpenGroup(
val channel: Long, val channel: Long,

View File

@ -13,9 +13,9 @@ import org.session.libsignal.service.loki.utilities.ThreadUtils
import org.session.libsession.utilities.createContext import org.session.libsession.utilities.createContext
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64
import org.session.libsignal.utilities.Hex import org.session.libsignal.utilities.Hex
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.Base64
import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.utilities.DownloadUtilities import org.session.libsignal.service.loki.utilities.DownloadUtilities
import org.session.libsignal.service.loki.utilities.retryIfNeeded import org.session.libsignal.service.loki.utilities.retryIfNeeded
import java.io.ByteArrayOutputStream import java.io.ByteArrayOutputStream

View File

@ -22,7 +22,7 @@ import org.session.libsession.utilities.SSKEnvironment
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.api.messages.SignalServiceAttachment import org.session.libsignal.service.api.messages.SignalServiceAttachment
import org.session.libsignal.service.internal.push.SignalServiceProtos import org.session.libsignal.service.internal.push.SignalServiceProtos
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.loki.api.crypto.ProofOfWork import org.session.libsignal.service.loki.api.crypto.ProofOfWork
import org.session.libsignal.service.loki.utilities.hexEncodedPublicKey import org.session.libsignal.service.loki.utilities.hexEncodedPublicKey

View File

@ -8,7 +8,7 @@ import androidx.annotation.Nullable;
import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsignal.libsignal.util.guava.Optional;
import org.session.libsignal.service.api.messages.SignalServiceAttachment; import org.session.libsignal.service.api.messages.SignalServiceAttachment;
import org.session.libsignal.service.api.messages.SignalServiceDataMessage; import org.session.libsignal.service.api.messages.SignalServiceDataMessage;
import org.session.libsession.utilities.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.service.internal.push.SignalServiceProtos; import org.session.libsignal.service.internal.push.SignalServiceProtos;
import java.util.LinkedList; import java.util.LinkedList;

View File

@ -16,7 +16,7 @@ import org.session.libsession.messaging.sending_receiving.attachments.Attachment
import org.session.libsession.messaging.sending_receiving.attachments.AttachmentTransferProgress; import org.session.libsession.messaging.sending_receiving.attachments.AttachmentTransferProgress;
import org.session.libsession.messaging.sending_receiving.attachments.AttachmentId; import org.session.libsession.messaging.sending_receiving.attachments.AttachmentId;
import org.session.libsession.messaging.sending_receiving.attachments.UriAttachment; import org.session.libsession.messaging.sending_receiving.attachments.UriAttachment;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsession.utilities.MediaTypes; import org.session.libsession.utilities.MediaTypes;
import java.io.IOException; import java.io.IOException;
@ -106,11 +106,11 @@ public class Contact implements Parcelable {
} }
public String serialize() throws IOException { public String serialize() throws IOException {
return JsonUtils.toJson(this); return JsonUtil.toJsonThrows(this);
} }
public static Contact deserialize(@NonNull String serialized) throws IOException { public static Contact deserialize(@NonNull String serialized) throws IOException {
return JsonUtils.fromJson(serialized, Contact.class); return JsonUtil.fromJson(serialized, Contact.class);
} }
@Override @Override

View File

@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import org.session.libsession.messaging.sending_receiving.attachments.Attachment; import org.session.libsession.messaging.sending_receiving.attachments.Attachment;
import org.session.libsession.messaging.sending_receiving.attachments.AttachmentId; import org.session.libsession.messaging.sending_receiving.attachments.AttachmentId;
import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment; import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment;
import org.session.libsession.utilities.JsonUtils; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsignal.libsignal.util.guava.Optional;
import java.io.IOException; import java.io.IOException;
@ -69,10 +69,10 @@ public class LinkPreview {
} }
public String serialize() throws IOException { public String serialize() throws IOException {
return JsonUtils.toJson(this); return JsonUtil.toJsonThrows(this);
} }
public static LinkPreview deserialize(@NonNull String serialized) throws IOException { public static LinkPreview deserialize(@NonNull String serialized) throws IOException {
return JsonUtils.fromJson(serialized, LinkPreview.class); return JsonUtil.fromJson(serialized, LinkPreview.class);
} }
} }

View File

@ -5,7 +5,7 @@ import okhttp3.*
import org.session.libsession.messaging.MessagingConfiguration import org.session.libsession.messaging.MessagingConfiguration
import org.session.libsession.utilities.TextSecurePreferences import org.session.libsession.utilities.TextSecurePreferences
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI
import org.session.libsignal.service.loki.utilities.retryIfNeeded import org.session.libsignal.service.loki.utilities.retryIfNeeded

View File

@ -13,7 +13,7 @@ import org.session.libsession.snode.SnodeAPI
import org.session.libsession.utilities.successBackground import org.session.libsession.utilities.successBackground
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.loki.utilities.getRandomElementOrNull import org.session.libsignal.service.loki.utilities.getRandomElementOrNull
class ClosedGroupPoller { class ClosedGroupPoller {

View File

@ -12,7 +12,7 @@ import org.session.libsession.snode.SnodeAPI
import org.session.libsession.snode.SnodeConfiguration import org.session.libsession.snode.SnodeConfiguration
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import java.security.SecureRandom import java.security.SecureRandom
import java.util.* import java.util.*

View File

@ -22,11 +22,12 @@ import org.session.libsignal.service.internal.push.ProfileAvatarData
import org.session.libsignal.service.internal.push.PushAttachmentData import org.session.libsignal.service.internal.push.PushAttachmentData
import org.session.libsignal.service.internal.push.http.DigestingRequestBody import org.session.libsignal.service.internal.push.http.DigestingRequestBody
import org.session.libsignal.service.internal.push.http.ProfileCipherOutputStreamFactory import org.session.libsignal.service.internal.push.http.ProfileCipherOutputStreamFactory
import org.session.libsignal.service.internal.util.Base64
import org.session.libsignal.utilities.Hex import org.session.libsignal.utilities.Hex
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.utilities.HTTP import org.session.libsignal.service.loki.api.utilities.HTTP
import org.session.libsignal.service.loki.utilities.* import org.session.libsignal.service.loki.utilities.*
import org.session.libsignal.utilities.Base64
import java.io.File import java.io.File
import java.io.FileOutputStream import java.io.FileOutputStream
import java.io.OutputStream import java.io.OutputStream

View File

@ -2,9 +2,7 @@ package org.session.libsession.messaging.utilities
import com.google.protobuf.ByteString import com.google.protobuf.ByteString
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.push.SignalServiceProtos
import org.session.libsignal.service.internal.push.SignalServiceProtos.Envelope import org.session.libsignal.service.internal.push.SignalServiceProtos.Envelope
import org.session.libsignal.service.internal.util.Base64
import org.session.libsignal.service.internal.websocket.WebSocketProtos.WebSocketMessage import org.session.libsignal.service.internal.websocket.WebSocketProtos.WebSocketMessage
import org.session.libsignal.service.internal.websocket.WebSocketProtos.WebSocketRequestMessage import org.session.libsignal.service.internal.websocket.WebSocketProtos.WebSocketRequestMessage
import java.security.SecureRandom import java.security.SecureRandom

View File

@ -8,8 +8,8 @@ import nl.komponents.kovenant.functional.map
import okhttp3.Request import okhttp3.Request
import org.session.libsession.utilities.AESGCM import org.session.libsession.utilities.AESGCM
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.* import org.session.libsignal.service.loki.api.*
import org.session.libsignal.service.loki.api.fileserver.FileServerAPI import org.session.libsignal.service.loki.api.fileserver.FileServerAPI
import org.session.libsignal.service.loki.api.utilities.* import org.session.libsignal.service.loki.api.utilities.*

View File

@ -2,7 +2,7 @@ package org.session.libsession.snode
import nl.komponents.kovenant.Promise import nl.komponents.kovenant.Promise
import nl.komponents.kovenant.deferred import nl.komponents.kovenant.deferred
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsession.utilities.AESGCM.EncryptionResult import org.session.libsession.utilities.AESGCM.EncryptionResult
import org.session.libsession.utilities.AESGCM import org.session.libsession.utilities.AESGCM
import org.session.libsignal.service.loki.utilities.ThreadUtils import org.session.libsignal.service.loki.utilities.ThreadUtils

View File

@ -3,10 +3,11 @@ package org.session.libsession.utilities
import okhttp3.MultipartBody import okhttp3.MultipartBody
import okhttp3.Request import okhttp3.Request
import okio.Buffer import okio.Buffer
import org.session.libsignal.service.internal.util.Base64
import java.io.IOException import java.io.IOException
import java.util.* import java.util.*
import org.session.libsignal.utilities.Base64
internal fun Request.getHeadersForOnionRequest(): Map<String, Any> { internal fun Request.getHeadersForOnionRequest(): Map<String, Any> {
val result = mutableMapOf<String, Any>() val result = mutableMapOf<String, Any>()
val contentType = body()?.contentType() val contentType = body()?.contentType()

View File

@ -10,7 +10,6 @@ import androidx.core.app.NotificationCompat
import org.session.libsession.R import org.session.libsession.R
import org.session.libsession.utilities.preferences.NotificationPrivacyPreference import org.session.libsession.utilities.preferences.NotificationPrivacyPreference
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64
import java.io.IOException import java.io.IOException
import java.util.* import java.util.*

View File

@ -17,6 +17,7 @@ import android.text.TextUtils
import android.text.style.StyleSpan import android.text.style.StyleSpan
import org.session.libsession.messaging.threads.Address import org.session.libsession.messaging.threads.Address
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.utilities.Base64
import java.io.* import java.io.*
import java.nio.charset.StandardCharsets import java.nio.charset.StandardCharsets
import java.security.SecureRandom import java.security.SecureRandom

View File

@ -44,7 +44,7 @@ import org.session.libsignal.service.internal.crypto.ProvisioningCipher;
import org.session.libsignal.service.internal.push.ProfileAvatarData; import org.session.libsignal.service.internal.push.ProfileAvatarData;
import org.session.libsignal.service.internal.push.PushServiceSocket; import org.session.libsignal.service.internal.push.PushServiceSocket;
import org.session.libsignal.service.internal.push.http.ProfileCipherOutputStreamFactory; import org.session.libsignal.service.internal.push.http.ProfileCipherOutputStreamFactory;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.service.internal.util.StaticCredentialsProvider; import org.session.libsignal.service.internal.util.StaticCredentialsProvider;
import org.session.libsignal.service.internal.util.Util; import org.session.libsignal.service.internal.util.Util;

View File

@ -19,8 +19,8 @@ import org.session.libsignal.service.api.util.CredentialsProvider;
import org.session.libsignal.service.internal.push.AttachmentUploadAttributes; import org.session.libsignal.service.internal.push.AttachmentUploadAttributes;
import org.session.libsignal.service.internal.push.OutgoingPushMessageList; import org.session.libsignal.service.internal.push.OutgoingPushMessageList;
import org.session.libsignal.service.internal.push.SendMessageResponse; import org.session.libsignal.service.internal.push.SendMessageResponse;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.service.internal.util.JsonUtil; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsignal.service.internal.util.Util; import org.session.libsignal.service.internal.util.Util;
import org.session.libsignal.service.internal.websocket.WebSocketConnection; import org.session.libsignal.service.internal.websocket.WebSocketConnection;

View File

@ -10,19 +10,11 @@ import com.google.protobuf.InvalidProtocolBufferException;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.session.libsignal.libsignal.ecc.ECKeyPair; import org.session.libsignal.libsignal.ecc.ECKeyPair;
import org.session.libsignal.metadata.SealedSessionCipher;
import org.session.libsignal.libsignal.InvalidKeyException;
import org.session.libsignal.libsignal.SessionBuilder;
import org.session.libsignal.libsignal.SignalProtocolAddress;
import org.session.libsignal.libsignal.logging.Log; import org.session.libsignal.libsignal.logging.Log;
import org.session.libsignal.libsignal.loki.FallbackMessage;
import org.session.libsignal.libsignal.loki.FallbackSessionCipher;
import org.session.libsignal.libsignal.loki.SessionResetProtocol; import org.session.libsignal.libsignal.loki.SessionResetProtocol;
import org.session.libsignal.libsignal.state.PreKeyBundle;
import org.session.libsignal.libsignal.state.SignalProtocolStore; import org.session.libsignal.libsignal.state.SignalProtocolStore;
import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsignal.libsignal.util.guava.Optional;
import org.session.libsignal.service.api.crypto.AttachmentCipherOutputStream; import org.session.libsignal.service.api.crypto.AttachmentCipherOutputStream;
import org.session.libsignal.service.api.crypto.SignalServiceCipher;
import org.session.libsignal.service.api.crypto.UnidentifiedAccess; import org.session.libsignal.service.api.crypto.UnidentifiedAccess;
import org.session.libsignal.service.api.crypto.UnidentifiedAccessPair; import org.session.libsignal.service.api.crypto.UnidentifiedAccessPair;
import org.session.libsignal.service.api.crypto.UntrustedIdentityException; import org.session.libsignal.service.api.crypto.UntrustedIdentityException;
@ -64,13 +56,12 @@ import org.session.libsignal.service.internal.push.SignalServiceProtos.Content;
import org.session.libsignal.service.internal.push.SignalServiceProtos.DataMessage; import org.session.libsignal.service.internal.push.SignalServiceProtos.DataMessage;
import org.session.libsignal.service.internal.push.SignalServiceProtos.GroupContext; import org.session.libsignal.service.internal.push.SignalServiceProtos.GroupContext;
import org.session.libsignal.service.internal.push.SignalServiceProtos.LokiUserProfile; import org.session.libsignal.service.internal.push.SignalServiceProtos.LokiUserProfile;
import org.session.libsignal.service.internal.push.SignalServiceProtos.PreKeyBundleMessage;
import org.session.libsignal.service.internal.push.SignalServiceProtos.ReceiptMessage; import org.session.libsignal.service.internal.push.SignalServiceProtos.ReceiptMessage;
import org.session.libsignal.service.internal.push.SignalServiceProtos.SyncMessage; import org.session.libsignal.service.internal.push.SignalServiceProtos.SyncMessage;
import org.session.libsignal.service.internal.push.SignalServiceProtos.TypingMessage; import org.session.libsignal.service.internal.push.SignalServiceProtos.TypingMessage;
import org.session.libsignal.service.internal.push.http.AttachmentCipherOutputStreamFactory; import org.session.libsignal.service.internal.push.http.AttachmentCipherOutputStreamFactory;
import org.session.libsignal.service.internal.push.http.OutputStreamFactory; import org.session.libsignal.service.internal.push.http.OutputStreamFactory;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.service.internal.util.StaticCredentialsProvider; import org.session.libsignal.service.internal.util.StaticCredentialsProvider;
import org.session.libsignal.service.internal.util.Util; import org.session.libsignal.service.internal.util.Util;
import org.session.libsignal.service.internal.util.concurrent.SettableFuture; import org.session.libsignal.service.internal.util.concurrent.SettableFuture;
@ -92,7 +83,6 @@ import org.session.libsignal.service.loki.database.LokiUserDatabaseProtocol;
import org.session.libsignal.service.loki.protocol.closedgroups.SharedSenderKeysDatabaseProtocol; import org.session.libsignal.service.loki.protocol.closedgroups.SharedSenderKeysDatabaseProtocol;
import org.session.libsignal.service.loki.protocol.meta.TTLUtilities; import org.session.libsignal.service.loki.protocol.meta.TTLUtilities;
import org.session.libsignal.service.loki.protocol.sessionmanagement.SessionManagementProtocol; import org.session.libsignal.service.loki.protocol.sessionmanagement.SessionManagementProtocol;
import org.session.libsignal.service.loki.protocol.shelved.multidevice.DeviceLink;
import org.session.libsignal.service.loki.protocol.shelved.multidevice.MultiDeviceProtocol; import org.session.libsignal.service.loki.protocol.shelved.multidevice.MultiDeviceProtocol;
import org.session.libsignal.service.loki.protocol.shelved.syncmessages.SyncMessagesProtocol; import org.session.libsignal.service.loki.protocol.shelved.syncmessages.SyncMessagesProtocol;
import org.session.libsignal.service.loki.utilities.Broadcaster; import org.session.libsignal.service.loki.utilities.Broadcaster;
@ -108,7 +98,6 @@ import java.util.Iterator;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.Set; import java.util.Set;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;

View File

@ -40,7 +40,6 @@ import org.session.libsignal.libsignal.protocol.CiphertextMessage;
import org.session.libsignal.libsignal.protocol.PreKeySignalMessage; import org.session.libsignal.libsignal.protocol.PreKeySignalMessage;
import org.session.libsignal.libsignal.protocol.SignalMessage; import org.session.libsignal.libsignal.protocol.SignalMessage;
import org.session.libsignal.libsignal.state.SignalProtocolStore; import org.session.libsignal.libsignal.state.SignalProtocolStore;
import org.session.libsignal.libsignal.util.Pair;
import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsignal.libsignal.util.guava.Optional;
import org.session.libsignal.service.api.messages.SignalServiceAttachment; import org.session.libsignal.service.api.messages.SignalServiceAttachment;
import org.session.libsignal.service.api.messages.SignalServiceAttachmentPointer; import org.session.libsignal.service.api.messages.SignalServiceAttachmentPointer;
@ -84,7 +83,7 @@ import org.session.libsignal.service.internal.push.SignalServiceProtos.ReceiptMe
import org.session.libsignal.service.internal.push.SignalServiceProtos.SyncMessage; import org.session.libsignal.service.internal.push.SignalServiceProtos.SyncMessage;
import org.session.libsignal.service.internal.push.SignalServiceProtos.TypingMessage; import org.session.libsignal.service.internal.push.SignalServiceProtos.TypingMessage;
import org.session.libsignal.service.internal.push.SignalServiceProtos.Verified; import org.session.libsignal.service.internal.push.SignalServiceProtos.Verified;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.service.loki.api.crypto.SessionProtocol; import org.session.libsignal.service.loki.api.crypto.SessionProtocol;
import org.session.libsignal.service.loki.api.crypto.SessionProtocolUtilities; import org.session.libsignal.service.loki.api.crypto.SessionProtocolUtilities;
import org.session.libsignal.service.loki.api.opengroups.PublicChat; import org.session.libsignal.service.loki.api.opengroups.PublicChat;

View File

@ -12,7 +12,7 @@ import org.session.libsignal.libsignal.InvalidVersionException;
import org.session.libsignal.libsignal.logging.Log; import org.session.libsignal.libsignal.logging.Log;
import org.session.libsignal.service.api.push.SignalServiceAddress; import org.session.libsignal.service.api.push.SignalServiceAddress;
import org.session.libsignal.service.internal.push.SignalServiceProtos.Envelope; import org.session.libsignal.service.internal.push.SignalServiceProtos.Envelope;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.utilities.Hex; import org.session.libsignal.utilities.Hex;
import java.io.IOException; import java.io.IOException;

View File

@ -9,7 +9,6 @@ package org.session.libsignal.service.api.push;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.JsonSerializer;
@ -19,7 +18,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.session.libsignal.libsignal.ecc.ECPublicKey; import org.session.libsignal.libsignal.ecc.ECPublicKey;
import org.session.libsignal.service.internal.push.PreKeyEntity; import org.session.libsignal.service.internal.push.PreKeyEntity;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import java.io.IOException; import java.io.IOException;

View File

@ -13,7 +13,7 @@ import org.session.libsignal.service.internal.contacts.entities.DiscoveryRequest
import org.session.libsignal.service.internal.contacts.entities.DiscoveryResponse; import org.session.libsignal.service.internal.contacts.entities.DiscoveryResponse;
import org.session.libsignal.service.internal.contacts.entities.RemoteAttestationResponse; import org.session.libsignal.service.internal.contacts.entities.RemoteAttestationResponse;
import org.session.libsignal.utilities.Hex; import org.session.libsignal.utilities.Hex;
import org.session.libsignal.service.internal.util.JsonUtil; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsignal.service.internal.util.Util; import org.session.libsignal.service.internal.util.Util;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;

View File

@ -1,6 +1,6 @@
package org.session.libsignal.service.internal.contacts.crypto; package org.session.libsignal.service.internal.contacts.crypto;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.net.URLDecoder; import java.net.URLDecoder;

View File

@ -19,7 +19,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.session.libsignal.libsignal.InvalidKeyException; import org.session.libsignal.libsignal.InvalidKeyException;
import org.session.libsignal.libsignal.ecc.Curve; import org.session.libsignal.libsignal.ecc.Curve;
import org.session.libsignal.libsignal.ecc.ECPublicKey; import org.session.libsignal.libsignal.ecc.ECPublicKey;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import java.io.IOException; import java.io.IOException;

View File

@ -7,22 +7,12 @@
package org.session.libsignal.service.internal.push; package org.session.libsignal.service.internal.push;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.session.libsignal.libsignal.IdentityKey; import org.session.libsignal.libsignal.IdentityKey;
import org.session.libsignal.libsignal.InvalidKeyException; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsignal.service.internal.push.PreKeyResponseItem;
import org.session.libsignal.service.internal.util.Base64;
import org.session.libsignal.service.internal.util.JsonUtil;
import java.io.IOException;
import java.util.List; import java.util.List;
public class PreKeyResponse { public class PreKeyResponse {

View File

@ -6,8 +6,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.session.libsignal.libsignal.IdentityKey; import org.session.libsignal.libsignal.IdentityKey;
import org.session.libsignal.service.api.push.SignedPreKeyEntity; import org.session.libsignal.service.api.push.SignedPreKeyEntity;
import org.session.libsignal.service.internal.push.PreKeyEntity; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsignal.service.internal.util.JsonUtil;
import java.util.List; import java.util.List;

View File

@ -46,10 +46,10 @@ import org.session.libsignal.service.internal.push.exceptions.MismatchedDevicesE
import org.session.libsignal.service.internal.push.exceptions.StaleDevicesException; import org.session.libsignal.service.internal.push.exceptions.StaleDevicesException;
import org.session.libsignal.service.internal.push.http.DigestingRequestBody; import org.session.libsignal.service.internal.push.http.DigestingRequestBody;
import org.session.libsignal.service.internal.push.http.OutputStreamFactory; import org.session.libsignal.service.internal.push.http.OutputStreamFactory;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import org.session.libsignal.service.internal.util.BlacklistingTrustManager; import org.session.libsignal.service.internal.util.BlacklistingTrustManager;
import org.session.libsignal.utilities.Hex; import org.session.libsignal.utilities.Hex;
import org.session.libsignal.service.internal.util.JsonUtil; import org.session.libsignal.utilities.JsonUtil;
import org.session.libsignal.service.internal.util.Util; import org.session.libsignal.service.internal.util.Util;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;

View File

@ -11,7 +11,7 @@ import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.session.libsignal.service.internal.util.Base64; import org.session.libsignal.utilities.Base64;
import java.io.IOException; import java.io.IOException;

View File

@ -1,78 +0,0 @@
/**
* Copyright (C) 2014-2016 Open Whisper Systems
*
* Licensed according to the LICENSE file in this repository.
*/
package org.session.libsignal.service.internal.util;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.session.libsignal.libsignal.IdentityKey;
import org.session.libsignal.libsignal.InvalidKeyException;
import org.session.libsignal.libsignal.logging.Log;
import java.io.IOException;
public class JsonUtil {
private static final String TAG = JsonUtil.class.getSimpleName();
private static final ObjectMapper objectMapper = new ObjectMapper();
static {
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
}
public static String toJson(Object object) {
try {
return objectMapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
Log.w(TAG, e);
return "";
}
}
public static <T> T fromJson(String json, Class<T> clazz)
throws IOException
{
return objectMapper.readValue(json, clazz);
}
public static JsonNode fromJson(String json) throws IOException {
return objectMapper.readTree(json);
}
public static class IdentityKeySerializer extends JsonSerializer<IdentityKey> {
@Override
public void serialize(IdentityKey value, JsonGenerator gen, SerializerProvider serializers)
throws IOException
{
gen.writeString(Base64.encodeBytesWithoutPadding(value.serialize()));
}
}
public static class IdentityKeyDeserializer extends JsonDeserializer<IdentityKey> {
@Override
public IdentityKey deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
try {
return new IdentityKey(Base64.decodeWithoutPadding(p.getValueAsString()), 0);
} catch (InvalidKeyException e) {
throw new IOException(e);
}
}
}
}

View File

@ -18,9 +18,9 @@ import org.session.libsignal.service.internal.push.ProfileAvatarData
import org.session.libsignal.service.internal.push.PushAttachmentData import org.session.libsignal.service.internal.push.PushAttachmentData
import org.session.libsignal.service.internal.push.http.DigestingRequestBody import org.session.libsignal.service.internal.push.http.DigestingRequestBody
import org.session.libsignal.service.internal.push.http.ProfileCipherOutputStreamFactory import org.session.libsignal.service.internal.push.http.ProfileCipherOutputStreamFactory
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.utilities.Hex import org.session.libsignal.utilities.Hex
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.fileserver.FileServerAPI import org.session.libsignal.service.loki.api.fileserver.FileServerAPI
import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI
import org.session.libsignal.service.loki.api.utilities.HTTP import org.session.libsignal.service.loki.api.utilities.HTTP

View File

@ -3,7 +3,7 @@ package org.session.libsignal.service.loki.api
import nl.komponents.kovenant.Promise import nl.komponents.kovenant.Promise
import nl.komponents.kovenant.deferred import nl.komponents.kovenant.deferred
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.loki.api.crypto.ProofOfWork import org.session.libsignal.service.loki.api.crypto.ProofOfWork
import org.session.libsignal.service.loki.protocol.meta.TTLUtilities import org.session.libsignal.service.loki.protocol.meta.TTLUtilities
import org.session.libsignal.service.loki.utilities.ThreadUtils import org.session.libsignal.service.loki.utilities.ThreadUtils

View File

@ -3,7 +3,7 @@ package org.session.libsignal.service.loki.api
import com.google.protobuf.ByteString import com.google.protobuf.ByteString
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.push.SignalServiceProtos.Envelope import org.session.libsignal.service.internal.push.SignalServiceProtos.Envelope
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.internal.websocket.WebSocketProtos.WebSocketMessage import org.session.libsignal.service.internal.websocket.WebSocketProtos.WebSocketMessage
import org.session.libsignal.service.internal.websocket.WebSocketProtos.WebSocketRequestMessage import org.session.libsignal.service.internal.websocket.WebSocketProtos.WebSocketRequestMessage
import java.security.SecureRandom import java.security.SecureRandom

View File

@ -3,10 +3,9 @@ package org.session.libsignal.service.loki.api
import nl.komponents.kovenant.functional.map import nl.komponents.kovenant.functional.map
import okhttp3.* import okhttp3.*
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI
import org.session.libsignal.service.loki.utilities.retryIfNeeded import org.session.libsignal.service.loki.utilities.retryIfNeeded
import java.io.IOException
public class PushNotificationAPI private constructor(public val server: String) { public class PushNotificationAPI private constructor(public val server: String) {

View File

@ -8,7 +8,7 @@ import nl.komponents.kovenant.functional.map
import nl.komponents.kovenant.task import nl.komponents.kovenant.task
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.push.SignalServiceProtos.Envelope import org.session.libsignal.service.internal.push.SignalServiceProtos.Envelope
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI
import org.session.libsignal.service.loki.api.utilities.HTTP import org.session.libsignal.service.loki.api.utilities.HTTP
import org.session.libsignal.service.loki.database.LokiAPIDatabaseProtocol import org.session.libsignal.service.loki.database.LokiAPIDatabaseProtocol

View File

@ -1,7 +1,7 @@
package org.session.libsignal.service.loki.api.crypto package org.session.libsignal.service.loki.api.crypto
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.loki.api.SnodeAPI import org.session.libsignal.service.loki.api.SnodeAPI
import java.math.BigInteger import java.math.BigInteger
import java.nio.ByteBuffer import java.nio.ByteBuffer

View File

@ -4,8 +4,8 @@ import nl.komponents.kovenant.Promise
import nl.komponents.kovenant.functional.map import nl.komponents.kovenant.functional.map
import okhttp3.Request import okhttp3.Request
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.LokiDotNetAPI import org.session.libsignal.service.loki.api.LokiDotNetAPI
import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI
import org.session.libsignal.service.loki.database.LokiAPIDatabaseProtocol import org.session.libsignal.service.loki.database.LokiAPIDatabaseProtocol

View File

@ -7,8 +7,8 @@ import nl.komponents.kovenant.functional.bind
import nl.komponents.kovenant.functional.map import nl.komponents.kovenant.functional.map
import okhttp3.Request import okhttp3.Request
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.* import org.session.libsignal.service.loki.api.*
import org.session.libsignal.service.loki.api.fileserver.FileServerAPI import org.session.libsignal.service.loki.api.fileserver.FileServerAPI
import org.session.libsignal.service.loki.api.utilities.* import org.session.libsignal.service.loki.api.utilities.*

View File

@ -2,7 +2,7 @@ package org.session.libsignal.service.loki.api.onionrequests
import nl.komponents.kovenant.Promise import nl.komponents.kovenant.Promise
import nl.komponents.kovenant.deferred import nl.komponents.kovenant.deferred
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.utilities.EncryptionResult import org.session.libsignal.service.loki.api.utilities.EncryptionResult
import org.session.libsignal.service.loki.api.utilities.EncryptionUtilities import org.session.libsignal.service.loki.api.utilities.EncryptionUtilities
import org.session.libsignal.service.loki.utilities.ThreadUtils import org.session.libsignal.service.loki.utilities.ThreadUtils

View File

@ -1,6 +1,6 @@
package org.session.libsignal.service.loki.api.opengroups package org.session.libsignal.service.loki.api.opengroups
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
public data class PublicChat( public data class PublicChat(
public val channel: Long, public val channel: Long,

View File

@ -6,9 +6,9 @@ import nl.komponents.kovenant.deferred
import nl.komponents.kovenant.functional.map import nl.komponents.kovenant.functional.map
import nl.komponents.kovenant.then import nl.komponents.kovenant.then
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.utilities.Hex import org.session.libsignal.utilities.Hex
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.api.LokiDotNetAPI import org.session.libsignal.service.loki.api.LokiDotNetAPI
import org.session.libsignal.service.loki.api.SnodeAPI import org.session.libsignal.service.loki.api.SnodeAPI
import org.session.libsignal.service.loki.api.fileserver.FileServerAPI import org.session.libsignal.service.loki.api.fileserver.FileServerAPI

View File

@ -2,7 +2,7 @@ package org.session.libsignal.service.loki.api.utilities
import okhttp3.* import okhttp3.*
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import java.security.SecureRandom import java.security.SecureRandom
import java.security.cert.X509Certificate import java.security.cert.X509Certificate
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit

View File

@ -3,7 +3,7 @@ package org.session.libsignal.service.loki.api.utilities
import okhttp3.MultipartBody import okhttp3.MultipartBody
import okhttp3.Request import okhttp3.Request
import okio.Buffer import okio.Buffer
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import java.io.IOException import java.io.IOException
import java.util.* import java.util.*

View File

@ -4,7 +4,7 @@ import com.google.protobuf.ByteString
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.utilities.Hex import org.session.libsignal.utilities.Hex
import org.session.libsignal.service.internal.push.SignalServiceProtos import org.session.libsignal.service.internal.push.SignalServiceProtos
import org.session.libsignal.service.internal.util.JsonUtil import org.session.libsignal.utilities.JsonUtil
import org.session.libsignal.service.loki.utilities.toHexString import org.session.libsignal.service.loki.utilities.toHexString
public class ClosedGroupSenderKey(public val chainKey: ByteArray, public val keyIndex: Int, public val publicKey: ByteArray) { public class ClosedGroupSenderKey(public val chainKey: ByteArray, public val keyIndex: Int, public val publicKey: ByteArray) {

View File

@ -2,7 +2,7 @@ package org.session.libsignal.service.loki.protocol.shelved.multidevice
import org.whispersystems.curve25519.Curve25519 import org.whispersystems.curve25519.Curve25519
import org.session.libsignal.libsignal.logging.Log import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.utilities.Hex import org.session.libsignal.utilities.Hex
import org.session.libsignal.service.loki.utilities.removing05PrefixIfNeeded import org.session.libsignal.service.loki.utilities.removing05PrefixIfNeeded
import java.util.* import java.util.*

View File

@ -6,7 +6,7 @@ import org.session.libsignal.libsignal.logging.Log
import org.session.libsignal.service.api.messages.SignalServiceAttachment import org.session.libsignal.service.api.messages.SignalServiceAttachment
import org.session.libsignal.service.api.push.exceptions.NonSuccessfulResponseCodeException import org.session.libsignal.service.api.push.exceptions.NonSuccessfulResponseCodeException
import org.session.libsignal.service.api.push.exceptions.PushNetworkException import org.session.libsignal.service.api.push.exceptions.PushNetworkException
import org.session.libsignal.service.internal.util.Base64 import org.session.libsignal.utilities.Base64
import org.session.libsignal.service.loki.api.fileserver.FileServerAPI import org.session.libsignal.service.loki.api.fileserver.FileServerAPI
import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI import org.session.libsignal.service.loki.api.onionrequests.OnionRequestAPI
import java.io.* import java.io.*

View File

@ -1,4 +1,4 @@
package org.session.libsession.utilities; package org.session.libsignal.utilities;
/** /**
* <p>Encodes and decodes to and from Base64 notation.</p> * <p>Encodes and decodes to and from Base64 notation.</p>

View File

@ -1,17 +1,31 @@
package org.session.libsession.utilities; package org.session.libsignal.utilities;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import org.session.libsignal.libsignal.IdentityKey;
import org.session.libsignal.libsignal.InvalidKeyException;
import org.session.libsignal.libsignal.logging.Log;
import org.session.libsignal.utilities.Base64;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.Reader; import java.io.Reader;
public class JsonUtils { public class JsonUtil {
private static final String TAG = org.session.libsignal.utilities.JsonUtil.class.getSimpleName();
private static final ObjectMapper objectMapper = new ObjectMapper(); private static final ObjectMapper objectMapper = new ObjectMapper();
@ -37,10 +51,43 @@ public class JsonUtils {
return objectMapper.readValue(serialized, clazz); return objectMapper.readValue(serialized, clazz);
} }
public static String toJson(Object object) throws IOException { public static JsonNode fromJson(String serialized) throws IOException {
return objectMapper.readTree(serialized);
}
public static String toJsonThrows(Object object) throws IOException {
return objectMapper.writeValueAsString(object); return objectMapper.writeValueAsString(object);
} }
public static String toJson(Object object) {
try {
return objectMapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
Log.w(TAG, e);
return "";
}
}
public static class IdentityKeySerializer extends JsonSerializer<IdentityKey> {
@Override
public void serialize(IdentityKey value, JsonGenerator gen, SerializerProvider serializers)
throws IOException
{
gen.writeString(Base64.encodeBytesWithoutPadding(value.serialize()));
}
}
public static class IdentityKeyDeserializer extends JsonDeserializer<IdentityKey> {
@Override
public IdentityKey deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
try {
return new IdentityKey(Base64.decodeWithoutPadding(p.getValueAsString()), 0);
} catch (InvalidKeyException e) {
throw new IOException(e);
}
}
}
public static ObjectMapper getMapper() { public static ObjectMapper getMapper() {
return objectMapper; return objectMapper;
} }