summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/view/SubscriptionViewItem.java
blob: 08d1006f10d7ad2b0bb477805385dc6ab7186d9a (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
76
77
78
package de.danoeh.antennapod.view;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.squareup.picasso.Callback;
import com.squareup.picasso.Picasso;

import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.Feed;
import de.danoeh.antennapod.utils.TimeUtils;

/**
 * Custom view for handling feed item.
 */
public class SubscriptionViewItem extends RelativeLayout {

    private ImageView mImageView;
    private TextView mTextTime;
    private TextView mUnreadCountText;
    private TextView mFeedTitle;
    private Context mContext;

    public SubscriptionViewItem(Context context) {
        super(context);
        init(context);
    }

    public SubscriptionViewItem(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context);
    }

    public SubscriptionViewItem(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init(context);
    }

    @Override
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, widthMeasureSpec);
    }

    private void init(Context context) {
        mContext = context;
        LayoutInflater mLayoutInflater =
                (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View view = mLayoutInflater.inflate(R.layout.subscription_view, this);
        mTextTime = (TextView) view.findViewById(R.id.txtvTime);
        mFeedTitle = (TextView) view.findViewById(R.id.txtvTitle);
        mImageView = (ImageView) view.findViewById(R.id.imgvCover);
        mUnreadCountText = (TextView) view.findViewById(R.id.unread_count_text);
    }

    public void setFeed(final Feed feed, int unreadCount) {
        mFeedTitle.setVisibility(VISIBLE);
        mFeedTitle.setText(feed.getTitle());

        Picasso.with(mContext).load(feed.getImageUri()).centerCrop().fit().into(mImageView, new Callback() {
            @Override
            public void onSuccess() {
                mFeedTitle.setVisibility(GONE);
            }

            @Override
            public void onError() {
            }
        });
        mUnreadCountText.setText(unreadCount + "");
        mTextTime.setText(TimeUtils.getTimeAgo(feed.getLastUpdate().getTime(), mContext));
    }

}