/*
* Copyright (c) 2015. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
* Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
* Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
* Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
* Vestibulum commodo. Ut rhoncus gravida arcu.
*/
package com.shaweibo.biu.model;
import android.content.Context;
import android.os.Parcel;
import android.os.Parcelable;
import com.shaweibo.biu.Utils.SpannableStringUtils;
import com.shaweibo.biu.Utils.StatusTimeUtils;
import java.util.ArrayList;
import java.util.List;
/*
A list of comments
*/
public class CommentListModel extends BaseListModel<CommentModel, CommentListModel>
{
private List<CommentModel> comments = new ArrayList<CommentModel>();
public void spanAll(Context context) {
for (CommentModel comment : comments) {
comment.span=SpannableStringUtils.span(context,comment.text);
// if (comment.reply_comment != null) {
// comment.reply_comment.span = SpannableStringUtils.getCommentSpan(context, comment.reply_comment);
// } else if (comment.status != null) {
// comment.status.span = SpannableStringUtils.getOrigSpan(context, comment.status);
// }
}
}
public void timestampAll(Context context) {
StatusTimeUtils utils = StatusTimeUtils.instance(context);
for (CommentModel comment : getList()) {
if (comment.status != null) {
comment.status.millis = utils.parseTimeString(comment.status.created_at);
}
}
}
@Override
public int getSize() {
return comments.size();
}
@Override
public CommentModel get(int position) {
return comments.get(position);
}
@Override
public List<? extends CommentModel> getList() {
return comments;
}
@Override
public void addAll(boolean toTop, CommentListModel values) {
if (values instanceof CommentListModel && values != null && values.getSize() > 0) {
for (CommentModel msg : values.getList()) {
if (!comments.contains(msg)) {
comments.add(toTop ? values.getList().indexOf(msg) : comments.size(), msg);
}
}
total_number = values.total_number;
}
}
public void addAll(boolean toTop, boolean friendsOnly, CommentListModel values, String myUid) {
addAll(toTop, values);
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(total_number);
dest.writeLong(previous_cursor);
dest.writeLong(next_cursor);
dest.writeTypedList(comments);
}
public static final Parcelable.Creator<CommentListModel> CREATOR = new Parcelable.Creator<CommentListModel>() {
@Override
public CommentListModel createFromParcel(Parcel in) {
CommentListModel ret = new CommentListModel();
ret.total_number = in.readInt();
ret.previous_cursor = in.readLong();
ret.next_cursor = in.readLong();
in.readTypedList(ret.comments, CommentModel.CREATOR);
return ret;
}
@Override
public CommentListModel[] newArray(int size) {
return new CommentListModel[size];
}
};
}