package im.actor.core.modules.encryption.entity; import java.io.IOException; import java.util.ArrayList; import java.util.List; import im.actor.core.entity.encryption.PeerSession; import im.actor.runtime.bser.BserObject; import im.actor.runtime.bser.BserValues; import im.actor.runtime.bser.BserWriter; public class UserSessions extends BserObject { private int uid; private ArrayList<PeerSession> sessionDescriptors; public UserSessions(int uid, ArrayList<PeerSession> sessionDescriptors) { this.uid = uid; this.sessionDescriptors = sessionDescriptors; } public int getUid() { return uid; } public ArrayList<PeerSession> getSessionDescriptors() { return sessionDescriptors; } @Override public void parse(BserValues values) throws IOException { uid = values.getInt(1); sessionDescriptors = new ArrayList<>(); List<byte[]> desc = values.getRepeatedBytes(2); for (byte[] b : desc) { sessionDescriptors.add(new PeerSession(b)); } } @Override public void serialize(BserWriter writer) throws IOException { writer.writeInt(1, uid); writer.writeRepeatedObj(2, sessionDescriptors); } }