package hk.hku.cs.srli.factfinder; import android.content.Context; import android.widget.BaseAdapter; import hk.hku.cs.srli.factfinder.DataSet.DataItem; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; public class Order { private final List<DataItem> mItems; private WeakReference<BaseAdapter> mAdapter; public Order(Context context) { mItems = new ArrayList<DataItem>(); mAdapter = null; } public List<DataItem> getItemList() { return mItems; } public void setAdapter(BaseAdapter adapter) { this.mAdapter = new WeakReference<BaseAdapter>(adapter); } public void add(DataItem item) { mItems.add(item); notifyAdapter(); } public int getSum() { int sum = 0; for (DataItem item : mItems) { sum += item.price; } return sum; } public void reset() { clear(); mAdapter = null; } public void clear() { mItems.clear(); notifyAdapter(); } public void submit() { // because there is nowhere to submit order, just clear it. clear(); } private void notifyAdapter() { if (mAdapter != null && mAdapter.get() != null) mAdapter.get().notifyDataSetChanged(); } }