package bg.mentormate.academy.radarapp.adapters;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import com.parse.ParseQuery;
import com.parse.ParseQueryAdapter;
import bg.mentormate.academy.radarapp.Constants;
import bg.mentormate.academy.radarapp.data.LocalDb;
import bg.mentormate.academy.radarapp.models.Room;
import bg.mentormate.academy.radarapp.views.RoomItem;
/**
* Created by tl on 10.02.15.
*/
public class RoomQueryAdapter extends ParseQueryAdapter<Room> {
private static final int LIMIT = 50;
public RoomQueryAdapter(final Context context, final String searchQuery) {
super(context, new QueryFactory<Room>() {
@Override
public ParseQuery<Room> create() {
ParseQuery<Room> query = new ParseQuery<>(Constants.ROOM_TABLE);
if (searchQuery != null) {
query.whereContains(Constants.ROOM_COL_NAME, searchQuery);
}
query.whereNotEqualTo(Constants.ROOM_COL_CREATED_BY,
LocalDb.getInstance().getCurrentUser())
.orderByDescending(Constants.PARSE_COL_CREATED_AT)
.setLimit(LIMIT);
return query;
}
});
}
@Override
public View getItemView(Room room, View v, ViewGroup parent) {
if (v == null) {
v = new RoomItem(getContext());
}
((RoomItem) v).setData(LocalDb.getInstance().getCurrentUser(), room);
return v;
}
}