use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.
the class JsFacade method joinGroupViaLink.
@UsedByApp
public JsPromise joinGroupViaLink(final String url) {
return JsPromise.create(new JsPromiseExecutor() {
@Override
public void execute() {
//noinspection ConstantConditions
messenger.joinGroupViaToken(url).start(new CommandCallback<Integer>() {
@Override
public void onResult(Integer res) {
Log.d(TAG, "joinGroupViaLink:result");
resolve(JsPeer.create(Peer.group(res)));
}
@Override
public void onError(Exception e) {
Log.d(TAG, "joinGroupViaLink:error");
reject(e.getMessage());
}
});
}
});
}
use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.
the class JsFacade method findUsers.
@UsedByApp
public JsPromise findUsers(final String query) {
return JsPromise.create(new JsPromiseExecutor() {
@Override
public void execute() {
messenger.findUsers(query).start(new CommandCallback<UserVM[]>() {
@Override
public void onResult(UserVM[] users) {
Log.d(TAG, "findUsers:result");
JsArray<JsUser> jsUsers = JsArray.createArray().cast();
for (UserVM user : users) {
jsUsers.push(messenger.getJsUser(user.getId()).get());
}
resolve(jsUsers);
}
@Override
public void onError(Exception e) {
Log.d(TAG, "findUsers:error");
reject(e.getMessage());
}
});
}
});
}
use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.
the class JsFacade method handleLinkClick.
@UsedByApp
public void handleLinkClick(Event event) {
Element target = Element.as(event.getEventTarget());
String href = target.getAttribute("href");
if (href.startsWith("send:")) {
String msg = href.substring("send:".length());
msg = URL.decode(msg);
if (lastVisiblePeer != null) {
messenger.sendMessage(lastVisiblePeer, msg);
event.preventDefault();
}
} else {
if (JsElectronApp.isElectron()) {
JsElectronApp.openUrlExternal(href);
event.preventDefault();
}
}
}
use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.
the class JsFacade method archiveChat.
@UsedByApp
public JsPromise archiveChat(final JsPeer peer) {
return JsPromise.create(new JsPromiseExecutor() {
@Override
public void execute() {
messenger.archiveChat(peer.convert()).start(new CommandCallback<Void>() {
@Override
public void onResult(Void res) {
Log.d(TAG, "archiveChat:result");
resolve();
}
@Override
public void onError(Exception e) {
Log.d(TAG, "archiveChat:error");
reject(e.getMessage());
}
});
}
});
}
use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.
the class JsFacade method terminateSession.
@UsedByApp
public JsPromise terminateSession(final int id) {
return JsPromise.create(new JsPromiseExecutor() {
@Override
public void execute() {
messenger.terminateSession(id).start(new CommandCallback<Void>() {
@Override
public void onResult(Void res) {
resolve();
}
@Override
public void onError(Exception e) {
Log.e(TAG, e);
reject(e.getMessage());
}
});
}
});
}
Aggregations