Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package at.vorarlberg.card360.adapter;
- import android.support.v4.app.Fragment;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.util.ArrayList;
- import at.vorarlberg.card360.R;
- import at.vorarlberg.card360.fragments.MyQuestsFragment;
- import at.vorarlberg.card360.fragments.MyRewardsFragment;
- import at.vorarlberg.card360.models.Quest;
- import at.vorarlberg.card360.models.QuestLabelDate;
- import at.vorarlberg.card360.models.QuestMyQuest;
- import at.vorarlberg.card360.models.QuestMyQuestLabel;
- import at.vorarlberg.card360.models.Reward;
- import at.vorarlberg.card360.models.RewardReceived;
- import at.vorarlberg.card360.models.RewardResolvedLabel;
- import at.vorarlberg.card360.util.CustomTextViewBloggerSansBold;
- import at.vorarlberg.card360.util.CustomTextViewRegular;
- /**
- * Created by kamil.poznakowski on 2017-08-11.
- */
- public class MyRewardsAndMyQuestsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
- private static final int TYPE_REWARD_RECEIVED = 0;
- private static final int TYPE_REWARD_LABEL = 1;
- private static final int TYPE_REWARD_RESOLVED = 2;
- private static final int TYPE_QUEST_LABEL_DATE = 6;
- private static final int TYPE_QUEST = 3;
- private static final int TYPE_QUEST_LABEL = 4;
- private static final int TYPE_QUEST_LIST_ITEM = 5;
- private static final int REWARD_TYPE_APPLY = 1;
- private ArrayList<Reward> rewardsList = new ArrayList<>();
- private ArrayList<Quest> questsList = new ArrayList<>();
- private Fragment fragment;
- private DateChangeCallback dateCallback;
- public interface DateChangeCallback {
- void changeMonthDown();
- void changeMonthUp();
- }
- public static class ViewHolderRewardReceived extends RecyclerView.ViewHolder {
- TextView tvReceivedLabel;
- TextView tvReceivedTitle;
- TextView tvReceivedRewardMessage;
- TextView tvReceivedRewardExpiryDate;
- TextView tvReceivedRewardExpiryHour;
- Button btnWatch;
- public ViewHolderRewardReceived(View itemView) {
- super(itemView);
- tvReceivedLabel = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_received_label);
- tvReceivedTitle = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_received_title);
- tvReceivedRewardMessage = (CustomTextViewRegular) itemView.findViewById(R.id.tv_received_reward_message);
- tvReceivedRewardExpiryDate = (CustomTextViewRegular) itemView.findViewById(R.id.tv_received_reward_expiry_date);
- tvReceivedRewardExpiryHour = (CustomTextViewRegular) itemView.findViewById(R.id.tv_received_reward_expiry_hour);
- btnWatch = (Button) itemView.findViewById(R.id.btn_watch);
- }
- }
- public static class ViewHolderTyprRewardsLabel extends RecyclerView.ViewHolder {
- TextView tvResolvedrewardsLabel;
- public ViewHolderTyprRewardsLabel(View itemView) {
- super(itemView);
- tvResolvedrewardsLabel = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_resolved_rewards_label);
- }
- }
- public static class ViewHolderRewardsResolved extends RecyclerView.ViewHolder {
- ImageView ivBadgeGreyRewards;
- TextView tvPointsOnBagde;
- TextView tvReceivedItemTitle;
- TextView tvReceivedResolvedRewardMessage;
- public ViewHolderRewardsResolved(View itemView) {
- super(itemView);
- ivBadgeGreyRewards = (ImageView) itemView.findViewById(R.id.iv_badge_resolved_reward);
- tvPointsOnBagde = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_points_on_bagde);
- tvReceivedItemTitle = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_received_item_title);
- tvReceivedResolvedRewardMessage = (CustomTextViewRegular) itemView.findViewById(R.id.tv_received_resolved_reward_message);
- }
- }
- public static class ViewHolder6QuestLabelDate extends RecyclerView.ViewHolder {
- ImageButton ibArrowLeft;
- ImageButton ibArrowRight;
- TextView tvDateLabel;
- Fragment fragment;
- DateChangeCallback dateCallback;
- public ViewHolder6QuestLabelDate(View itemView, final Fragment fragment, final DateChangeCallback dateCallback) {
- super(itemView);
- this.fragment = fragment;
- this.dateCallback = dateCallback;
- ibArrowLeft = (ImageButton) itemView.findViewById(R.id.ib_arrow_left);
- ibArrowRight = (ImageButton) itemView.findViewById(R.id.ib_arrow_right);
- tvDateLabel = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_date_label);
- ibArrowLeft.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Toast.makeText(fragment.getContext(), "Left", Toast.LENGTH_SHORT).show();
- dateCallback.changeMonthDown();
- }
- });
- ibArrowRight.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Toast.makeText(fragment.getContext(), "Right", Toast.LENGTH_SHORT).show();
- dateCallback.changeMonthUp();
- }
- });
- }
- }
- public static class ViewHolderQuest extends RecyclerView.ViewHolder {
- TextView tvMyQuestItemLabel;
- TextView tvMyQuestItemTitle;
- TextView tvMyQuestMessageDate;
- TextView tvMyQuestItemDescription;
- public ViewHolderQuest(View itemView) {
- super(itemView);
- tvMyQuestItemLabel = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_my_quest_item_label);
- tvMyQuestItemTitle = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_my_quest_item_title);
- tvMyQuestMessageDate = (CustomTextViewRegular) itemView.findViewById(R.id.tv_my_quest_message_date);
- tvMyQuestItemDescription = (CustomTextViewRegular) itemView.findViewById(R.id.tv_my_quest_item_description);
- }
- }
- public static class ViewHolderQuestLabel extends RecyclerView.ViewHolder {
- TextView tvResolvedQuestsLabel;
- public ViewHolderQuestLabel(View itemView) {
- super(itemView);
- tvResolvedQuestsLabel = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_resolved_rewards_label);
- }
- }
- public static class ViewHolderQuestListItem extends RecyclerView.ViewHolder {
- ImageView ivBadgeGreyQuests;
- TextView tvMyQuestReceivedTitle;
- TextView tvMyQuestRewardMessage;
- TextView tvPointsMyQuestItem;
- public ViewHolderQuestListItem(View itemView) {
- super(itemView);
- ivBadgeGreyQuests = (ImageView) itemView.findViewById(R.id.iv_badge_grey_quests);
- tvPointsMyQuestItem = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_points_my_quest_item);
- tvMyQuestReceivedTitle = (CustomTextViewBloggerSansBold) itemView.findViewById(R.id.tv_my_quest_received_title);
- tvMyQuestRewardMessage = (CustomTextViewRegular) itemView.findViewById(R.id.tv_my_quest_reward_message);
- }
- }
- public MyRewardsAndMyQuestsAdapter(MyRewardsFragment fragment, ArrayList<Reward> rewardsList) {
- this.fragment = fragment;
- this.rewardsList = rewardsList;
- }
- public MyRewardsAndMyQuestsAdapter(MyQuestsFragment fragment, ArrayList<Quest> questsList) {
- this.fragment = fragment;
- this.questsList = questsList;
- }
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View view;
- switch (viewType) {
- case TYPE_REWARD_RECEIVED:
- view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_received_reward, parent, false);
- return new ViewHolderRewardReceived(view);
- case TYPE_REWARD_LABEL:
- view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_rewards_resolved_label, parent, false);
- return new ViewHolderTyprRewardsLabel(view);
- case TYPE_REWARD_RESOLVED:
- view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_resolved_reward, parent, false);
- return new ViewHolderRewardsResolved(view);
- case TYPE_QUEST_LABEL_DATE:
- view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_my_quest_date_label, parent, false);
- return new ViewHolder6QuestLabelDate(view, fragment, dateCallback);
- case TYPE_QUEST:
- view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_my_quest, parent, false);
- return new ViewHolderQuest(view);
- case TYPE_QUEST_LABEL:
- view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_my_quests_label, parent, false);
- return new ViewHolderQuestLabel(view);
- default:
- view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_my_quest_reward, parent, false);
- return new ViewHolderQuestListItem(view);
- }
- }
- @Override
- public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
- int type = getItemViewType(position);
- switch (type) {
- case TYPE_REWARD_RECEIVED:
- bindViewViewHolderRewardReceived(holder, position);
- case TYPE_REWARD_LABEL:
- bindViewHolderTyprRewardsLabel(holder, position);
- case TYPE_REWARD_RESOLVED:
- bindViewHolderRewardsResolved(holder, position);
- case TYPE_QUEST_LABEL_DATE:
- bindViewHolder6QuestLabelDate(holder, position);
- case TYPE_QUEST:
- bindViewHolderQuest(holder, position);
- case TYPE_QUEST_LABEL:
- bindViewHolderQuestLabel(holder, position);
- case TYPE_QUEST_LIST_ITEM:
- bindViewHolderQuestListItem(holder, position);
- }
- /*
- if (type == TYPE_REWARD_RECEIVED) {
- bindViewViewHolderRewardReceived(holder, position);
- } else if (type == TYPE_REWARD_LABEL) {
- bindViewHolderTyprRewardsLabel(holder, position);
- } else if (type == TYPE_REWARD_RESOLVED) {
- bindViewHolderRewardsResolved(holder, position);
- } else if (type == TYPE_QUEST_LABEL_DATE) {
- bindViewHolder6QuestLabelDate(holder, position);
- } else if (type == TYPE_QUEST) {
- bindViewHolderQuest(holder, position);
- } else if (type == TYPE_QUEST_LABEL) {
- bindViewHolderQuestLabel(holder, position);
- } else if (type == TYPE_QUEST_LIST_ITEM) {
- bindViewHolderQuestListItem(holder, position);
- }*/
- }
- @Override
- public int getItemCount() {
- if (fragment instanceof MyQuestsFragment) {
- return questsList.size();
- } else {
- return rewardsList.size();
- }
- }
- @Override
- public int getItemViewType(int position) {
- int type = TYPE_REWARD_RECEIVED;
- if (fragment instanceof MyRewardsFragment) {
- if (rewardsList.get(position) instanceof RewardReceived) {
- type = TYPE_REWARD_RECEIVED;
- } else if ((rewardsList.get(position) instanceof RewardResolvedLabel)) {
- type = TYPE_REWARD_LABEL;
- } else {
- type = TYPE_REWARD_RESOLVED;
- }
- } else if (fragment instanceof MyQuestsFragment) {
- if (questsList.get(position) instanceof QuestLabelDate) {
- type = TYPE_QUEST_LABEL_DATE;
- } else if (questsList.get(position) instanceof QuestMyQuest) {
- type = TYPE_QUEST;
- } else if (questsList.get(position) instanceof QuestMyQuestLabel) {
- type = TYPE_QUEST_LABEL;
- } else {
- type = TYPE_QUEST_LIST_ITEM;
- }
- }
- return type;
- }
- public void setDateCallback(DateChangeCallback dateCallback) {
- this.dateCallback = dateCallback;
- }
- private void bindViewViewHolderRewardReceived(final RecyclerView.ViewHolder holder, int position) {
- RewardReceived reward = (RewardReceived) rewardsList.get(position);
- ViewHolderRewardReceived viewHolderRewardReceived = (ViewHolderRewardReceived) holder;
- viewHolderRewardReceived.tvReceivedLabel.setText(reward.getTitle());
- viewHolderRewardReceived.tvReceivedTitle.setText(reward.getDescription());
- viewHolderRewardReceived.tvReceivedRewardMessage.setText(reward.getDescription());
- viewHolderRewardReceived.tvReceivedRewardExpiryDate.setText(reward.getExpirationDate());
- viewHolderRewardReceived.tvReceivedRewardExpiryHour.setText(reward.getExpirationDate());
- if (reward.getType() == REWARD_TYPE_APPLY) {
- viewHolderRewardReceived.tvReceivedLabel.setTextColor(fragment.getResources().getColor(R.color.blue_for_buttons_and_text));
- viewHolderRewardReceived.btnWatch.setBackgroundResource(R.color.blue_for_buttons_and_text);
- }
- }
- private void bindViewHolderTyprRewardsLabel(final RecyclerView.ViewHolder holder, int position) {
- ViewHolderTyprRewardsLabel viewHolderTyprRewardsLabel = (ViewHolderTyprRewardsLabel) holder;
- }
- private void bindViewHolderRewardsResolved(final RecyclerView.ViewHolder holder, int position) {
- Reward reward = rewardsList.get(position);
- ViewHolderRewardsResolved viewHolderRewardsResolved = (ViewHolderRewardsResolved) holder;
- viewHolderRewardsResolved.tvPointsOnBagde.setText(String.valueOf(reward.getPointsReq()));
- viewHolderRewardsResolved.tvReceivedItemTitle.setText(reward.getTitle());
- viewHolderRewardsResolved.tvReceivedResolvedRewardMessage.setText(reward.getDescription());
- }
- private void bindViewHolder6QuestLabelDate(final RecyclerView.ViewHolder holder, int position) {
- ViewHolder6QuestLabelDate viewHolderDate = (ViewHolder6QuestLabelDate) holder;
- }
- private void bindViewHolderQuest(final RecyclerView.ViewHolder holder, int position) {
- ViewHolderQuest viewHolderQuest = (ViewHolderQuest) holder;
- Quest quest = questsList.get(position);
- viewHolderQuest.tvMyQuestItemDescription.setText(quest.getEndDate());
- viewHolderQuest.tvMyQuestItemLabel.setText(String.valueOf(quest.getNrPoints()));
- viewHolderQuest.tvMyQuestItemTitle.setText(quest.getTitle());
- viewHolderQuest.tvMyQuestMessageDate.setText(quest.getPlace());
- }
- private void bindViewHolderQuestLabel(final RecyclerView.ViewHolder holder, int position) {
- ViewHolderQuestLabel viewHolderQuestLabel = (ViewHolderQuestLabel) holder;
- }
- private void bindViewHolderQuestListItem(final RecyclerView.ViewHolder holder, int position) {
- ViewHolderQuestListItem viewHolderQuestListItem = (ViewHolderQuestListItem) holder;
- Quest quest = questsList.get(position);
- viewHolderQuestListItem.tvPointsMyQuestItem.setText(String.valueOf(quest.getNrPoints()));
- viewHolderQuestListItem.tvMyQuestReceivedTitle.setText(quest.getTitle());
- viewHolderQuestListItem.tvMyQuestRewardMessage.setText(quest.getEndDate());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement