aboutsummaryrefslogtreecommitdiff
path: root/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderCommentsPostHeaderView.java
blob: cefb3c285243ae48a33cfaebba09410a7887dd8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package org.wordpress.android.ui.reader.views;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import android.widget.TextView;

import org.wordpress.android.R;
import org.wordpress.android.WordPress;
import org.wordpress.android.models.ReaderPost;
import org.wordpress.android.ui.reader.utils.ReaderUtils;
import org.wordpress.android.util.DateTimeUtils;
import org.wordpress.android.util.GravatarUtils;
import org.wordpress.android.widgets.WPNetworkImageView;

/**
 * topmost view in reader comment adapter - show info about the post
 */
public class ReaderCommentsPostHeaderView extends LinearLayout {

    public ReaderCommentsPostHeaderView(Context context) {
        super(context);
        initView(context);
    }

    public ReaderCommentsPostHeaderView(Context context, AttributeSet attrs) {
        super(context, attrs);
        initView(context);
    }

    public ReaderCommentsPostHeaderView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initView(context);
    }

    private void initView(Context context) {
        inflate(context, R.layout.reader_comments_post_header_view, this);
    }

    public void setPost(final ReaderPost post) {
        if (post == null) return;

        TextView txtTitle = (TextView) findViewById(R.id.text_post_title);
        TextView txtBlogName = (TextView) findViewById(R.id.text_blog_name);
        TextView txtDateline = (TextView) findViewById(R.id.text_post_dateline);
        WPNetworkImageView imgAvatar = (WPNetworkImageView) findViewById(R.id.image_post_avatar);

        txtTitle.setText(post.getTitle());
        if (post.hasBlogName()) {
            txtBlogName.setText(post.getBlogName());
        } else {
            txtBlogName.setText(R.string.reader_untitled_post);
        }

        java.util.Date dtPost = DateTimeUtils.dateFromIso8601(post.getDate());
        String dateLine = DateTimeUtils.javaDateToTimeSpan(dtPost, WordPress.getContext());
        if (post.isCommentsOpen || post.numReplies > 0) {
            dateLine += "  \u2022  " + ReaderUtils.getShortCommentLabelText(getContext(), post.numReplies);
        }
        if (post.canLikePost() || post.numLikes > 0) {
            dateLine += "  \u2022  " + ReaderUtils.getShortLikeLabelText(getContext(), post.numLikes);
        }
        txtDateline.setText(dateLine);

        int avatarSz = getResources().getDimensionPixelSize(R.dimen.avatar_sz_extra_small);
        String avatarUrl;
        if (post.hasBlogUrl()) {
            avatarUrl = GravatarUtils.blavatarFromUrl(post.getBlogUrl(), avatarSz);
            imgAvatar.setImageUrl(avatarUrl, WPNetworkImageView.ImageType.BLAVATAR);
        } else {
            avatarUrl = post.getPostAvatarForDisplay(avatarSz);
            imgAvatar.setImageUrl(avatarUrl, WPNetworkImageView.ImageType.AVATAR);
        }
    }
}