public static Result onUiAsync(Action action) {
        if (Looper.myLooper() == Looper.getMainLooper()) {
            action.call();
            return new ActionAsyncTask(action, true);
        }
        ActionAsyncTask task = new ActionAsyncTask(action);
        getUiPoster().async(task);
        return task;
    }
public static Result onUiAsync ( Action action ) { if ( Looper . myLooper ( ) == Looper . getMainLooper ( ) ) { action . call ( ) ; return new ActionAsyncTask ( action , true ) ; } ActionAsyncTask task = new ActionAsyncTask ( action ) ; getUiPoster ( ) . async ( task ) ; return task ; }
Asynchronously
The current thread asynchronous run relative to the main thread,
not blocking the current thread

@param action Action Interface