Search in sources :

Example 1 with UpdateBlogInfoListener

use of org.wordpress.android.ui.reader.actions.ReaderActions.UpdateBlogInfoListener in project WordPress-Android by wordpress-mobile.

the class ReaderBlogActions method followFeedById.

public static boolean followFeedById(final long feedId, final boolean isAskingToFollow, final ActionListener actionListener) {
    ReaderBlog blogInfo = ReaderBlogTable.getFeedInfo(feedId);
    if (blogInfo != null) {
        return internalFollowFeed(blogInfo.feedId, blogInfo.getFeedUrl(), isAskingToFollow, actionListener);
    }
    updateFeedInfo(feedId, null, new UpdateBlogInfoListener() {

        @Override
        public void onResult(ReaderBlog blogInfo) {
            if (blogInfo != null) {
                internalFollowFeed(blogInfo.feedId, blogInfo.getFeedUrl(), isAskingToFollow, actionListener);
            } else {
                ReaderActions.callActionListener(actionListener, false);
            }
        }
    });
    return true;
}
Also used : ReaderBlog(org.wordpress.android.models.ReaderBlog) UpdateBlogInfoListener(org.wordpress.android.ui.reader.actions.ReaderActions.UpdateBlogInfoListener)

Example 2 with UpdateBlogInfoListener

use of org.wordpress.android.ui.reader.actions.ReaderActions.UpdateBlogInfoListener in project WordPress-Android by wordpress-mobile.

the class ReaderBlogActions method followFeedByUrl.

public static void followFeedByUrl(final String feedUrl, final ActionListener actionListener) {
    if (TextUtils.isEmpty(feedUrl)) {
        ReaderActions.callActionListener(actionListener, false);
        return;
    }
    // use existing blog info if we can
    ReaderBlog blogInfo = ReaderBlogTable.getFeedInfo(ReaderBlogTable.getFeedIdFromUrl(feedUrl));
    if (blogInfo != null) {
        internalFollowFeed(blogInfo.feedId, blogInfo.getFeedUrl(), true, actionListener);
        return;
    }
    // otherwise, look it up via the endpoint
    updateFeedInfo(0, feedUrl, new UpdateBlogInfoListener() {

        @Override
        public void onResult(ReaderBlog blogInfo) {
            // note we attempt to follow even when the look up fails (blogInfo = null) because that
            // endpoint doesn't perform feed discovery, whereas the endpoint to follow a feed does
            long feedIdToFollow = blogInfo != null ? blogInfo.feedId : 0;
            String feedUrlToFollow = (blogInfo != null && blogInfo.hasFeedUrl()) ? blogInfo.getFeedUrl() : feedUrl;
            internalFollowFeed(feedIdToFollow, feedUrlToFollow, true, actionListener);
        }
    });
}
Also used : ReaderBlog(org.wordpress.android.models.ReaderBlog) UpdateBlogInfoListener(org.wordpress.android.ui.reader.actions.ReaderActions.UpdateBlogInfoListener)

Aggregations

ReaderBlog (org.wordpress.android.models.ReaderBlog)2 UpdateBlogInfoListener (org.wordpress.android.ui.reader.actions.ReaderActions.UpdateBlogInfoListener)2