Android Open Source - StreamHub-Android-Reviews-App Review List Adapter






From Project

Back to project page StreamHub-Android-Reviews-App.

License

The source code is released under:

MIT License

If you think the Android project StreamHub-Android-Reviews-App listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package livefyre.adapters;
//w w w  .  ja v a  2 s .  co m
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RatingBar;
import android.widget.TextView;

import com.livefyre.R;

import java.util.List;

import livefyre.ImagesCache.DownloadImageTask;
import livefyre.ImagesCache.ImagesCache;
import livefyre.LFSAppConstants;
import livefyre.LFUtils;
import livefyre.models.ContentBean;
import livefyre.models.Vote;


@SuppressLint("SimpleDateFormat")
public class ReviewListAdapter extends BaseAdapter {

  private List<ContentBean> ContentCollection;
  private LayoutInflater inflater;
  Context context;
  ImagesCache cache = ImagesCache.getInstance();

  public ReviewListAdapter(Context context,
      List<ContentBean> ContentCollection) {
    this.ContentCollection = ContentCollection;
    this.inflater = LayoutInflater.from(context);
    this.context = context;
  }

  public void updateContentResult(List<ContentBean> ContentCollection) {
    this.ContentCollection = ContentCollection;
    notifyDataSetChanged();
  }

  @Override
  public int getCount() {
    return ContentCollection.size();
  }

  @Override
  public Object getItem(int position) {
    return ContentCollection.get(position);
  }

  @Override
  public long getItemId(int position) {
    return position;
  }

  private class ViewHolder {
    ImageView reviewerImage;
    RatingBar reviewRatingBar;
    TextView reviewerid;
    TextView isMod;
    TextView reviewedDate;
    TextView reviewTitle;
    TextView reviewBody;
    TextView helpful;
    TextView replies;
    ImageView reviewImage;
    LinearLayout reviewCount;

  }

  public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null)
      // convertView = getConvertView(getItemViewType(position));
      convertView = getConvertView();

    ViewHolder holder = (ViewHolder) convertView.getTag();
    updateView(position, holder);

    convertView.setId(position);

    return convertView;
  }

  @SuppressLint("InflateParams")
  private View getConvertView() {
    ViewHolder holder = new ViewHolder();
    View view = null;

    view = inflater.inflate(R.layout.review_cell, null);
    holder.reviewCount = (LinearLayout) view.findViewById(R.id.reviewCount);
    holder.reviewerid = (TextView) view.findViewById(R.id.reviewerid);
    holder.isMod = (TextView) view.findViewById(R.id.isMod);
    holder.reviewedDate = (TextView) view.findViewById(R.id.reviewedDate);
    holder.reviewTitle = (TextView) view.findViewById(R.id.reviewTitle);

    holder.reviewBody = (TextView) view.findViewById(R.id.reviewBody);

    holder.reviewerImage = (ImageView) view
        .findViewById(R.id.reviewerImage);

    holder.reviewImage = (ImageView) view.findViewById(R.id.reviewImage);

    holder.reviewRatingBar = (RatingBar) view
        .findViewById(R.id.reviewRatingBar);

    holder.helpful = (TextView) view.findViewById(R.id.helpful);
    holder.replies = (TextView) view.findViewById(R.id.replies);
    view.setTag(holder);
    return view;
  }

  private void updateView(int position, final ViewHolder holder) {

    try {
      final ContentBean content = (ContentBean) ContentCollection
          .get(position);
      holder.reviewerid.setText(content.getAuthor().getDisplayName());
      holder.reviewCount.setVisibility(View.VISIBLE);

      if (content.getVote() != null) {

        if (content.getVisibilityCount() == 0
            && content.getVote().size() == 0) {

          holder.reviewCount.setVisibility(View.GONE);

        }
      } else if (content.getVisibilityCount() == 0) {
        holder.reviewCount.setVisibility(View.GONE);

      }

      if (content.getIsModerator() != null) {
        if (content.getIsModerator().equals("true")) {
          holder.isMod.setText("Moderator");
          holder.isMod.setVisibility(View.VISIBLE);
          holder.isMod.setTextColor(Color.parseColor("#0F98EC"));
          holder.reviewerid.setMaxWidth(330);
        } else {
          holder.isMod.setVisibility(View.GONE);
        }
      } else {
        holder.isMod.setVisibility(View.GONE);
      }

      if (content.getIsFeatured() != null) {
        if (content.getIsFeatured()) {
          holder.isMod.setText("Feature");
          holder.isMod.setTextColor(Color.parseColor("#FEB33B"));
          holder.isMod.setVisibility(View.VISIBLE);
          holder.reviewerid.setMaxWidth(330);

        }
      }

      holder.reviewedDate.setText(LFUtils.getFormatedDate(
                    content.getCreatedAt(), LFSAppConstants.SHART));
      holder.reviewTitle.setText(content.getTitle());

      holder.reviewBody.setText(LFUtils.trimTrailingWhitespace(Html
          .fromHtml(content.getBodyHtml())),
          TextView.BufferType.SPANNABLE);
      holder.reviewRatingBar.setRating(Float.parseFloat(content
          .getRating()) / 20);

      if (content.getAuthor().getAvatar().length() > 0) {
        Bitmap bm = cache.getImageFromWarehouse(content.getAuthor()
            .getAvatar());

        if (bm != null) {
          holder.reviewerImage.setImageBitmap(bm);
        } else {
          holder.reviewerImage.setImageBitmap(null);
          DownloadImageTask imgTask = new DownloadImageTask(this);
          imgTask.execute(content.getAuthor().getAvatar());

        }
      } else {
        holder.reviewerImage
            .setImageResource(R.drawable.profile_default);
      }
      DownloadImageTask.getRoundedShape(holder.reviewerImage);

      if (content.getOembedUrl() != null) {
        if (content.getOembedUrl().length() > 0) {

          holder.reviewImage.setVisibility(View.VISIBLE);

          Bitmap bitmap = cache.getImageFromWarehouse(content
              .getOembedUrl());

          if (bitmap != null) {
            holder.reviewImage.setImageBitmap(bitmap);
          } else {
            holder.reviewImage.setImageBitmap(null);
            DownloadImageTask imgTask = new DownloadImageTask(this);
            // `Adapter` call first Constructor.
            imgTask.execute(content.getOembedUrl());
          }

        } else {
          holder.reviewImage.setVisibility(View.GONE);
        }
      } else {
        holder.reviewImage.setVisibility(View.GONE);
      }

      if (content.getVote() != null) {
        if (content.getVote().size() > 0)
          holder.helpful.setText(foundHelpfull(content.getVote()));
        else
          holder.helpful.setVisibility(View.GONE);
      } else
        holder.helpful.setVisibility(View.GONE);

      if (content.getVisibilityCount() > 0) {
        holder.replies.setVisibility(View.VISIBLE);
        if (content.getVisibilityCount() == 1)
          holder.replies.setText(content.getVisibilityCount()
              + " Reply");
        else
          holder.replies.setText(content.getVisibilityCount()
              + " Replies");
      } else
        holder.replies.setVisibility(View.GONE);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  String foundHelpfull(List<Vote> v) {
    int count = 0;
    for (int i = 0; i < v.size(); i++) {
      if (v.get(i).getValue().equals("1"))
        count++;
    }
    return count + " of " + v.size() + " found helpful";
  }

}




Java Source Code List

com.filepicker.sdk.AuthActivity.java
com.filepicker.sdk.AuthError.java
com.filepicker.sdk.BuildConfig.java
com.filepicker.sdk.BuildConfig.java
com.filepicker.sdk.CacheElement.java
com.filepicker.sdk.DataCache.java
com.filepicker.sdk.FPFile.java
com.filepicker.sdk.FPService.java
com.filepicker.sdk.FilePickerAPI.java
com.filepicker.sdk.FilePicker.java
com.filepicker.sdk.FixedSizeList.java
com.filepicker.sdk.Folder.java
com.filepicker.sdk.Inode.java
com.filepicker.sdk.NonThumbnailGridBlockView.java
com.filepicker.sdk.Service.java
com.filepicker.sdk.ThumbnailView.java
livefyre.AppSingleton.java
livefyre.BaseActivity.java
livefyre.DeviceNotConnectedException.java
livefyre.DownloadAllImagesTask.java
livefyre.LFSAppConstants.java
livefyre.LFSConfig.java
livefyre.LFUtils.java
livefyre.LivefyreApplication.java
livefyre.NotifyingScrollView.java
livefyre.ImagesCache.DownloadImageTask.java
livefyre.ImagesCache.ImagesCache.java
livefyre.activities.Edit.java
livefyre.activities.LivefyreSplash.java
livefyre.activities.NewReview.java
livefyre.activities.Reply.java
livefyre.activities.ReviewInDetail.java
livefyre.activities.ReviewsActivity.java
livefyre.adapters.ReviewInDetailAdapter.java
livefyre.adapters.ReviewListAdapter.java
livefyre.fadingactionbar.FadingActionBarHelperBase.java
livefyre.fadingactionbar.FadingActionBarHelper.java
livefyre.fadingactionbar.ListViewActivity.java
livefyre.fadingactionbar.ObservableScrollView.java
livefyre.fadingactionbar.ObservableScrollable.java
livefyre.fadingactionbar.ObservableWebViewWithHeader.java
livefyre.fadingactionbar.OnScrollChangedCallback.java
livefyre.fadingactionbar.RootLayout.java
livefyre.fadingactionbar.Utils.java
livefyre.models.AuthorsBean.java
livefyre.models.ContentBean.java
livefyre.models.ContentTypeEnum.java
livefyre.models.OembedBean.java
livefyre.models.ReviewStatus.java
livefyre.models.Vote.java
livefyre.parsers.AdminClintParser.java
livefyre.parsers.ContentParser.java
livefyre.parsers.ContentUpdateListener.java
livefyre.streamhub.AdminClient.java
livefyre.streamhub.BootstrapClient.java
livefyre.streamhub.BuildConfig.java
livefyre.streamhub.BuildConfig.java
livefyre.streamhub.Config.java
livefyre.streamhub.Helpers.java
livefyre.streamhub.HttpClient.java
livefyre.streamhub.LFSActions.java
livefyre.streamhub.LFSConstants.java
livefyre.streamhub.LFSFlag.java
livefyre.streamhub.StreamClient.java
livefyre.streamhub.WriteClient.java