package com.rogoapp; import java.util.ArrayList; import java.util.List; /* * To use BuddyList, you must create a BuddyList object. * To create a BuddyList object, you must have a CacheClient object. * So if you don't have a CacheClient object, your code should look something like this: * * CacheClient cache = new CacheClient(this); * BuddyList buddyList = new BuddyList(cache); * * Note that constructing a CacheClient requires passing in the current Activity. * So the above code will only work inside an Activity. */ public class BuddyList { public String BUDDY_LIST_FILE = "buddies"; public String BUDDY_DELIMITER = "\n"; public String BUDDY_INFO_DELIMITER = "$"; CacheClient cache; public BuddyList(CacheClient cache) { this.cache = cache; } public List<Friend> getList() { String listWholeString = cache.loadFile(BUDDY_LIST_FILE); String[] listStrings = listWholeString.split(BUDDY_DELIMITER); List<Friend> list = new ArrayList<Friend>(listStrings.length); for (String buddy: listStrings) { String[] buddyParts = buddy.split(BUDDY_INFO_DELIMITER); if (buddyParts.length >= 2) list.add(new Friend(buddyParts[0], buddyParts[1])); } return list; } public void addBuddy(Friend friend) { cache.addToFile(BUDDY_LIST_FILE, friend.getUsername() + BUDDY_INFO_DELIMITER + friend.getFirstName() + BUDDY_DELIMITER); } public boolean removeBuddy(Friend friend) { return cache.deleteLineFromFile(BUDDY_LIST_FILE, friend.getUsername() + BUDDY_INFO_DELIMITER + friend.getFirstName()); } }