package com.maxiee.heartbeat.data; import android.content.Context; import com.maxiee.heartbeat.model.Event; import java.util.ArrayList; /** * Created by maxiee on 15/11/10. */ abstract class BaseEventManager { protected Context mContext; protected ArrayList<Event> mEventList; public BaseEventManager(Context context) { mContext = context; } abstract void reload(); public ArrayList<Event> getEvents() { return mEventList; } public void addEvent(Event event) { for (int i=0; i<mEventList.size(); i++) { Event e = mEventList.get(i); if (event.getTimestamp() > e.getTimestamp()) { mEventList.add(i, event); return; } } mEventList.add(event); } public void deleteEvent(long key) { int indexEvent = findFromList(key, mEventList); if (indexEvent >= 0) mEventList.remove(indexEvent); } public void updateEvent(Event e) { int indexEvent = findFromList(e.getId(), mEventList); mEventList.remove(indexEvent); addEvent(e); } public boolean isEmpty() { return mEventList.isEmpty(); } public int size() { return mEventList.size(); } private static int findFromList(long key, ArrayList<Event> list) { for (int i=0; i<list.size(); i++) { if (list.get(i).getId() == key) { return i; } } return -1; } }