Search in sources :

Example 6 with ReaderBlog

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();
    }
}
Also used : ReaderBlog(org.wordpress.android.models.ReaderBlog) SQLiteDatabase(android.database.sqlite.SQLiteDatabase)

Example 7 with ReaderBlog

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);
    }
}
Also used : ReaderBlog(org.wordpress.android.models.ReaderBlog) ReaderRecommendedBlog(org.wordpress.android.models.ReaderRecommendedBlog)

Example 8 with ReaderBlog

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;
                    }
                }
            });
        }
    }
}
Also used : ReaderBlog(org.wordpress.android.models.ReaderBlog) ReaderRecommendedBlog(org.wordpress.android.models.ReaderRecommendedBlog) WPNetworkImageView(org.wordpress.android.widgets.WPNetworkImageView) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) View(android.view.View)

Example 9 with ReaderBlog

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);
        }
    }
}
Also used : ReaderBlog(org.wordpress.android.models.ReaderBlog) ReaderActions(org.wordpress.android.ui.reader.actions.ReaderActions)

Aggregations

ReaderBlog (org.wordpress.android.models.ReaderBlog)9 ReaderRecommendedBlog (org.wordpress.android.models.ReaderRecommendedBlog)2 UpdateBlogInfoListener (org.wordpress.android.ui.reader.actions.ReaderActions.UpdateBlogInfoListener)2 Cursor (android.database.Cursor)1 SQLiteDatabase (android.database.sqlite.SQLiteDatabase)1 RecyclerView (android.support.v7.widget.RecyclerView)1 View (android.view.View)1 TextView (android.widget.TextView)1 ReaderBlogList (org.wordpress.android.models.ReaderBlogList)1 ReaderActions (org.wordpress.android.ui.reader.actions.ReaderActions)1 WPNetworkImageView (org.wordpress.android.widgets.WPNetworkImageView)1