Search in sources :

Example 1 with UsedByApp

use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.

the class JsFacade method init.

@UsedByApp
public void init(JsConfig config) {
    provider = (JsFileSystemProvider) Storage.getFileSystemRuntime();
    String clientName = IdentityUtils.getClientName();
    String uniqueId = IdentityUtils.getUniqueId();
    ConfigurationBuilder configuration = new ConfigurationBuilder();
    configuration.setApiConfiguration(new ApiConfiguration(APP_NAME, APP_ID, APP_KEY, clientName, uniqueId));
    configuration.setPhoneBookProvider(new JsPhoneBookProvider());
    configuration.setNotificationProvider(new JsNotificationsProvider());
    configuration.setCallsProvider(new JsCallsProvider());
    // Setting locale
    String locale = LocaleInfo.getCurrentLocale().getLocaleName();
    if (locale.equals("default")) {
        Log.d(TAG, "Default locale found");
        configuration.addPreferredLanguage("en");
    } else {
        Log.d(TAG, "Locale found:" + locale);
        configuration.addPreferredLanguage(locale.toLowerCase());
    }
    // Setting timezone
    int offset = new Date().getTimezoneOffset();
    String timeZone = TimeZone.createTimeZone(offset).getID();
    Log.d(TAG, "TimeZone found:" + timeZone + " for delta " + offset);
    configuration.setTimeZone(timeZone);
    // LocaleInfo.getCurrentLocale().getLocaleName()
    // Is Web application
    configuration.setPlatformType(PlatformType.WEB);
    // Device Category
    // Only Desktop is supported for JS library
    configuration.setDeviceCategory(DeviceCategory.DESKTOP);
    // Adding endpoints
    for (String endpoint : config.getEndpoints()) {
        configuration.addEndpoint(endpoint);
    }
    if (config.getLogHandler() != null) {
        final JsLogCallback callback = config.getLogHandler();
        JsLogProvider.setLogCallback(new JsLogProvider.LogCallback() {

            @Override
            public void log(String tag, String level, String message) {
                callback.log(tag, level, message);
            }
        });
    }
    messenger = new JsMessenger(configuration.build());
    Log.d(TAG, "JsMessenger created");
}
Also used : JsNotificationsProvider(im.actor.core.js.providers.JsNotificationsProvider) JsCallsProvider(im.actor.core.js.providers.JsCallsProvider) Date(java.util.Date) JsPhoneBookProvider(im.actor.core.js.providers.JsPhoneBookProvider) JsLogProvider(im.actor.runtime.js.JsLogProvider) UsedByApp(im.actor.core.js.annotations.UsedByApp)

Example 2 with UsedByApp

use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.

the class JsFacade method doCall.

// Calls
@UsedByApp
public JsPromise doCall(final int uid) {
    return JsPromise.create(new JsPromiseExecutor() {

        @Override
        public void execute() {
            messenger.doCall(uid).start(new CommandCallback<Long>() {

                @Override
                public void onResult(Long res) {
                    Log.d(TAG, "doCall:result");
                    resolve();
                }

                @Override
                public void onError(Exception e) {
                    Log.d(TAG, "doCall:error");
                    reject(e.getMessage());
                }
            });
        }
    });
}
Also used : JsPromiseExecutor(im.actor.runtime.js.utils.JsPromiseExecutor) CommandCallback(im.actor.core.viewmodel.CommandCallback) RpcException(im.actor.core.network.RpcException) UsedByApp(im.actor.core.js.annotations.UsedByApp)

Example 3 with UsedByApp

use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.

the class JsFacade method findAllPhotos.

@UsedByApp
public JsPromise findAllPhotos(final JsPeer peer) {
    return JsPromise.create(new JsPromiseExecutor() {

        @Override
        public void execute() {
            messenger.findAllPhotos(peer.convert()).start(new CommandCallback<List<MessageSearchEntity>>() {

                @Override
                public void onResult(List<MessageSearchEntity> res) {
                    resolve(convertSearchRes(res));
                }

                @Override
                public void onError(Exception e) {
                    Log.d(TAG, "findAllText:error");
                    reject(e.getMessage());
                }
            });
        }
    });
}
Also used : JsPromiseExecutor(im.actor.runtime.js.utils.JsPromiseExecutor) MessageSearchEntity(im.actor.core.entity.MessageSearchEntity) List(java.util.List) ArrayList(java.util.ArrayList) CommandCallback(im.actor.core.viewmodel.CommandCallback) RpcException(im.actor.core.network.RpcException) UsedByApp(im.actor.core.js.annotations.UsedByApp)

Example 4 with UsedByApp

use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.

the class JsFacade method findAllText.

@UsedByApp
public JsPromise findAllText(final JsPeer peer, final String query) {
    return JsPromise.create(new JsPromiseExecutor() {

        @Override
        public void execute() {
            messenger.findTextMessages(peer.convert(), query).start(new CommandCallback<List<MessageSearchEntity>>() {

                @Override
                public void onResult(List<MessageSearchEntity> res) {
                    resolve(convertSearchRes(res));
                }

                @Override
                public void onError(Exception e) {
                    Log.d(TAG, "findAllText:error");
                    reject(e.getMessage());
                }
            });
        }
    });
}
Also used : JsPromiseExecutor(im.actor.runtime.js.utils.JsPromiseExecutor) MessageSearchEntity(im.actor.core.entity.MessageSearchEntity) List(java.util.List) ArrayList(java.util.ArrayList) CommandCallback(im.actor.core.viewmodel.CommandCallback) RpcException(im.actor.core.network.RpcException) UsedByApp(im.actor.core.js.annotations.UsedByApp)

Example 5 with UsedByApp

use of im.actor.core.js.annotations.UsedByApp in project actor-platform by actorapp.

the class JsFacade method deleteChat.

@UsedByApp
public JsPromise deleteChat(final JsPeer peer) {
    return JsPromise.create(new JsPromiseExecutor() {

        @Override
        public void execute() {
            messenger.deleteChat(peer.convert()).start(new CommandCallback<Void>() {

                @Override
                public void onResult(Void res) {
                    Log.d(TAG, "deleteChat:result");
                    resolve();
                }

                @Override
                public void onError(Exception e) {
                    Log.d(TAG, "deleteChat:error");
                    reject(e.getMessage());
                }
            });
        }
    });
}
Also used : JsPromiseExecutor(im.actor.runtime.js.utils.JsPromiseExecutor) CommandCallback(im.actor.core.viewmodel.CommandCallback) Void(im.actor.runtime.actors.messages.Void) RpcException(im.actor.core.network.RpcException) UsedByApp(im.actor.core.js.annotations.UsedByApp)

Aggregations

UsedByApp (im.actor.core.js.annotations.UsedByApp)32 RpcException (im.actor.core.network.RpcException)29 JsPromiseExecutor (im.actor.runtime.js.utils.JsPromiseExecutor)29 CommandCallback (im.actor.core.viewmodel.CommandCallback)28 Void (im.actor.runtime.actors.messages.Void)9 ArrayList (java.util.ArrayList)5 List (java.util.List)5 MessageSearchEntity (im.actor.core.entity.MessageSearchEntity)4 Element (com.google.gwt.dom.client.Element)1 ApiAuthSession (im.actor.core.api.ApiAuthSession)1 ApiDialog (im.actor.core.api.ApiDialog)1 ResponseLoadArchived (im.actor.core.api.rpc.ResponseLoadArchived)1 MentionFilterResult (im.actor.core.entity.MentionFilterResult)1 JsCallsProvider (im.actor.core.js.providers.JsCallsProvider)1 JsNotificationsProvider (im.actor.core.js.providers.JsNotificationsProvider)1 JsPhoneBookProvider (im.actor.core.js.providers.JsPhoneBookProvider)1 RpcCallback (im.actor.core.network.RpcCallback)1 UserVM (im.actor.core.viewmodel.UserVM)1 JsLogProvider (im.actor.runtime.js.JsLogProvider)1 Date (java.util.Date)1