package com.shaweibo.biu.model;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.ArrayList;
import java.util.List;
/**
List of weibo user
From timelines
credits to: qii, PeterCxy
author: shaw
**/
public class UserListModel extends BaseListModel<UserModel, UserListModel> {
private List<UserModel> users = new ArrayList<UserModel>();
@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(users);
}
public static final Parcelable.Creator<UserListModel> CREATOR =
new Parcelable.Creator<UserListModel>() {
public UserListModel createFromParcel(Parcel in) {
UserListModel userListModel= new UserListModel();
userListModel.total_number = in.readInt();
userListModel.previous_cursor =in.readLong();
userListModel.next_cursor =in.readLong();
userListModel.users = new ArrayList<UserModel>();
in.readTypedList(userListModel.users, UserModel.CREATOR);
return userListModel;
}
public UserListModel[] newArray(int size) {
return new UserListModel[size];
}
};
@Override
public int getSize() {
return users.size();
}
@Override
public UserModel get(int position) {
return users.get(position);
}
@Override
public List<? extends UserModel> getList() {
return users;
}
@Override
public void addAll(boolean toTop, UserListModel values) {
if (values instanceof UserListModel && values != null && values.getSize() > 0) {
for (UserModel user : values.getList()) {
if (!users.contains(user)) {
users.add(toTop ? values.getList().indexOf(user) : users.size(), user);
}
}
total_number = values.total_number;
}
}
}