Handling Updates

Some required information delivery implemented through updates in asynchronous manner. Please refer to API documentation to see a list of available updates.

To handle specific update in specific class, implement UpdatesHandler interface:

class AuthListenerAdapter(private val listener: AuthListener) : SessionListener, UpdatesHandler

and implement methods for require Update type:

    // see require type in update base class 
    void handleUpdates(AccountUpdates updates);
    void handleUpdates(UserUpdates updates);
    void handleUpdates(TransientUpdates updates);

Then add class created as updateListener to stateHandler:

stateHandler.addListener(authListenerAdapter)

On update received it will be processed in all listeners:

    override fun handleUpdates(updates: AccountUpdates) {
        for (update in updates.updates) {
            if (update is TLAccountUpdateJoinOrganization) {
                // some action on join
            } else if (update is TLAccountUpdateLeaveOrganization) {
                // some action on leave
            }
        }
    }

Last updated