package im.actor.core.js.entity; import com.google.gwt.core.client.JavaScriptObject; import java.io.IOException; import im.actor.core.entity.Sticker; import im.actor.core.js.JsMessenger; import im.actor.runtime.crypto.Base64Utils; public class JsSticker extends JavaScriptObject { public static JsSticker create(Sticker sticker) { String content = Base64Utils.toBase64(sticker.toByteArray()); String url = JsMessenger.getInstance().getFileUrl(sticker.getImage256()); return create(sticker.getId(), url, content); } public static native JsSticker create(int id, String url, String content)/*-{ return { id: id, url: url, content: content }; }-*/; protected JsSticker() { } public final native int getId()/*-{ return this.id; }-*/; public final native String getUrl()/*-{ return this.url; }-*/; public final Sticker getSticker() { try { return new Sticker(Base64Utils.fromBase64(getContent())); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } } protected final native String getContent()/*-{ return this.content; }-*/; }