session-android/app/src/main/java/org/thoughtcrime/securesms/jobmanager/impl/JsonDataSerializer.java

35 lines
933 B
Java

package org.thoughtcrime.securesms.jobmanager.impl;
import androidx.annotation.NonNull;
import org.session.libsession.messaging.utilities.Data;
import org.session.libsignal.utilities.logging.Log;
import org.session.libsignal.utilities.JsonUtil;
import java.io.IOException;
public class JsonDataSerializer implements Data.Serializer {
private static final String TAG = Log.tag(JsonDataSerializer.class);
@Override
public @NonNull String serialize(@NonNull Data data) {
try {
return JsonUtil.toJsonThrows(data);
} catch (IOException e) {
Log.e(TAG, "Failed to serialize to JSON.", e);
throw new AssertionError(e);
}
}
@Override
public @NonNull Data deserialize(@NonNull String serialized) {
try {
return JsonUtil.fromJson(serialized, Data.class);
} catch (IOException e) {
Log.e(TAG, "Failed to deserialize JSON.", e);
throw new AssertionError(e);
}
}
}