package com.wangdaye.mysplash.common.utils.manager; import com.wangdaye.mysplash.common.data.entity.unsplash.Collection; import java.util.ArrayList; import java.util.List; /** * User collections manager. * * A manager class that is used to manage collections cache for user. * * */ public class UserCollectionsManager { private List<Collection> collectionList; // if set true, it means all of the user's collections have been loaded. Next time, if a view // needs to show user's collections, it doesn't need to request them again but can read the // cache data here. private boolean loadFinish; UserCollectionsManager() { collectionList = new ArrayList<>(); loadFinish = false; } public List<Collection> getCollectionList() { return collectionList; } public void addCollections(List<Collection> list) { for (int i = 0; i < list.size(); i ++) { collectionList.add(list.get(i)); } } public void addCollectionToFirst(Collection c) { collectionList.add(0, c); } public void updateCollection(Collection collection) { for (int i = 0; i < collectionList.size(); i ++) { if (collection.id == collectionList.get(i).id) { collectionList.set(i, collection); return; } } } public void deleteCollection(Collection collection) { for (int i = 0; i < collectionList.size(); i ++) { if (collection.id == collectionList.get(i).id) { collectionList.remove(i); return; } } } public void clearCollections() { collectionList.clear(); setLoadFinish(false); } public boolean isLoadFinish() { return loadFinish; } public void setLoadFinish(boolean finish) { loadFinish = finish; } }