use of org.wordpress.android.models.ReaderBlog in project WordPress-Android by wordpress-mobile.
the class ReaderBlogTable method setFollowedBlogs.
/*
* set followed blogs from the read/following/mine endpoint
*/
public static void setFollowedBlogs(ReaderBlogList followedBlogs) {
SQLiteDatabase db = ReaderDatabase.getWritableDb();
db.beginTransaction();
try {
// first set all existing blogs to not followed
db.execSQL("UPDATE tbl_blog_info SET is_following=0");
// then insert passed ones
if (followedBlogs != null) {
for (ReaderBlog blog : followedBlogs) {
addOrUpdateBlog(blog);
}
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
}
use of org.wordpress.android.models.ReaderBlog in project WordPress-Android by wordpress-mobile.
the class ReaderBlogFragment method onBlogClicked.
@Override
public void onBlogClicked(Object item) {
long blogId;
long feedId;
if (item instanceof ReaderRecommendedBlog) {
ReaderRecommendedBlog blog = (ReaderRecommendedBlog) item;
blogId = blog.blogId;
feedId = 0;
} else if (item instanceof ReaderBlog) {
ReaderBlog blog = (ReaderBlog) item;
blogId = blog.blogId;
feedId = blog.feedId;
} else {
return;
}
if (feedId != 0) {
ReaderActivityLauncher.showReaderFeedPreview(getActivity(), feedId);
} else if (blogId != 0) {
ReaderActivityLauncher.showReaderBlogPreview(getActivity(), blogId);
}
}
use of org.wordpress.android.models.ReaderBlog in project WordPress-Android by wordpress-mobile.
the class ReaderBlogAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (holder instanceof BlogViewHolder) {
final BlogViewHolder blogHolder = (BlogViewHolder) holder;
switch(getBlogType()) {
case RECOMMENDED:
final ReaderRecommendedBlog blog = mRecommendedBlogs.get(position);
blogHolder.txtTitle.setText(blog.getTitle());
blogHolder.txtDescription.setText(blog.getReason());
blogHolder.txtUrl.setText(UrlUtils.getHost(blog.getBlogUrl()));
blogHolder.imgBlog.setImageUrl(blog.getImageUrl(), WPNetworkImageView.ImageType.BLAVATAR);
break;
case FOLLOWED:
final ReaderBlog blogInfo = mFollowedBlogs.get(position);
if (blogInfo.hasName()) {
blogHolder.txtTitle.setText(blogInfo.getName());
} else {
blogHolder.txtTitle.setText(R.string.reader_untitled_post);
}
if (blogInfo.hasUrl()) {
blogHolder.txtUrl.setText(UrlUtils.getHost(blogInfo.getUrl()));
} else if (blogInfo.hasFeedUrl()) {
blogHolder.txtUrl.setText(UrlUtils.getHost(blogInfo.getFeedUrl()));
} else {
blogHolder.txtUrl.setText("");
}
blogHolder.imgBlog.setImageUrl(blogInfo.getImageUrl(), WPNetworkImageView.ImageType.BLAVATAR);
break;
}
if (mClickListener != null) {
blogHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int clickedPosition = blogHolder.getAdapterPosition();
switch(getBlogType()) {
case RECOMMENDED:
mClickListener.onBlogClicked(mRecommendedBlogs.get(clickedPosition));
break;
case FOLLOWED:
mClickListener.onBlogClicked(mFollowedBlogs.get(clickedPosition));
break;
}
}
});
}
}
}
use of org.wordpress.android.models.ReaderBlog in project WordPress-Android by wordpress-mobile.
the class ReaderSiteHeaderView method loadBlogInfo.
public void loadBlogInfo(long blogId, long feedId) {
mBlogId = blogId;
mFeedId = feedId;
// first get info from local db
final ReaderBlog localBlogInfo;
if (mBlogId != 0) {
localBlogInfo = ReaderBlogTable.getBlogInfo(mBlogId);
} else if (mFeedId != 0) {
localBlogInfo = ReaderBlogTable.getFeedInfo(mFeedId);
} else {
ToastUtils.showToast(getContext(), R.string.reader_toast_err_get_blog_info);
return;
}
if (localBlogInfo != null) {
showBlogInfo(localBlogInfo);
}
// then get from server if doesn't exist locally or is time to update it
if (localBlogInfo == null || ReaderBlogTable.isTimeToUpdateBlogInfo(localBlogInfo)) {
ReaderActions.UpdateBlogInfoListener listener = new ReaderActions.UpdateBlogInfoListener() {
@Override
public void onResult(ReaderBlog serverBlogInfo) {
showBlogInfo(serverBlogInfo);
}
};
if (mFeedId != 0) {
ReaderBlogActions.updateFeedInfo(mFeedId, null, listener);
} else {
ReaderBlogActions.updateBlogInfo(mBlogId, null, listener);
}
}
}
Aggregations