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;
}
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);
}
});
}
Aggregations