use of org.wordpress.android.models.ReaderRecommendedBlog in project WordPress-Android by wordpress-mobile.
the class ReaderBlogTable method getRecommendedBlogs.
public static ReaderRecommendBlogList getRecommendedBlogs() {
String sql = " SELECT * FROM tbl_recommended_blogs ORDER BY title";
Cursor c = ReaderDatabase.getReadableDb().rawQuery(sql, null);
try {
ReaderRecommendBlogList blogs = new ReaderRecommendBlogList();
if (c.moveToFirst()) {
do {
ReaderRecommendedBlog blog = new ReaderRecommendedBlog();
blog.blogId = c.getLong(c.getColumnIndex("blog_id"));
blog.followRecoId = c.getLong(c.getColumnIndex("follow_reco_id"));
blog.score = c.getInt(c.getColumnIndex("score"));
blog.setTitle(c.getString(c.getColumnIndex("title")));
blog.setBlogUrl(c.getString(c.getColumnIndex("blog_url")));
blog.setImageUrl(c.getString(c.getColumnIndex("image_url")));
blog.setReason(c.getString(c.getColumnIndex("reason")));
blogs.add(blog);
} while (c.moveToNext());
}
return blogs;
} finally {
SqlUtils.closeCursor(c);
}
}
use of org.wordpress.android.models.ReaderRecommendedBlog 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.ReaderRecommendedBlog 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.ReaderRecommendedBlog in project WordPress-Android by wordpress-mobile.
the class ReaderBlogTable method setRecommendedBlogs.
public static void setRecommendedBlogs(ReaderRecommendBlogList blogs) {
SQLiteDatabase db = ReaderDatabase.getWritableDb();
SQLiteStatement stmt = db.compileStatement("INSERT INTO tbl_recommended_blogs" + " (blog_id, follow_reco_id, score, title, blog_url, image_url, reason)" + " VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7)");
db.beginTransaction();
try {
try {
// first delete all recommended blogs
SqlUtils.deleteAllRowsInTable(db, "tbl_recommended_blogs");
// then insert the passed ones
if (blogs != null && blogs.size() > 0) {
for (ReaderRecommendedBlog blog : blogs) {
stmt.bindLong(1, blog.blogId);
stmt.bindLong(2, blog.followRecoId);
stmt.bindLong(3, blog.score);
stmt.bindString(4, blog.getTitle());
stmt.bindString(5, blog.getBlogUrl());
stmt.bindString(6, blog.getImageUrl());
stmt.bindString(7, blog.getReason());
stmt.execute();
}
}
db.setTransactionSuccessful();
} catch (SQLException e) {
AppLog.e(AppLog.T.READER, e);
}
} finally {
SqlUtils.closeStatement(stmt);
db.endTransaction();
}
}
Aggregations