package de.thedevstack.android.logcat.adapters; import android.content.Context; import android.widget.ArrayAdapter; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; /** * Created by tzur on 20.11.2015. */ public class LogCatArrayAdapter extends ArrayAdapter { private ArrayList logcatItems = new ArrayList<>(); /** * Constructor * * @param context The current context. * @param resource The resource ID for a layout file containing a TextView to use when */ public LogCatArrayAdapter(Context context, int resource) { super(context, resource); } /** * Constructor * * @param context The current context. * @param resource The resource ID for a layout file containing a layout to use when * instantiating views. * @param textViewResourceId The id of the TextView within the layout resource to be populated */ public LogCatArrayAdapter(Context context, int resource, int textViewResourceId) { super(context, resource, textViewResourceId); } /** * Constructor * * @param context The current context. * @param resource The resource ID for a layout file containing a TextView to use when * instantiating views. * @param objects The objects to represent in the ListView. */ public LogCatArrayAdapter(Context context, int resource, String[] objects) { super(context, resource, objects); } /** * Constructor * * @param context The current context. * @param resource The resource ID for a layout file containing a layout to use when * instantiating views. * @param textViewResourceId The id of the TextView within the layout resource to be populated * @param objects The objects to represent in the ListView. */ public LogCatArrayAdapter(Context context, int resource, int textViewResourceId, String[] objects) { super(context, resource, textViewResourceId, objects); } /** * Constructor * * @param context The current context. * @param resource The resource ID for a layout file containing a TextView to use when * instantiating views. * @param objects The objects to represent in the ListView. */ public LogCatArrayAdapter(Context context, int resource, List objects) { super(context, resource, objects); } /** * Constructor * * @param context The current context. * @param resource The resource ID for a layout file containing a layout to use when * instantiating views. * @param textViewResourceId The id of the TextView within the layout resource to be populated * @param objects The objects to represent in the ListView. */ public LogCatArrayAdapter(Context context, int resource, int textViewResourceId, List objects) { super(context, resource, textViewResourceId, objects); } @Override public void add(String object) { super.add(object); logcatItems.add(object); } @Override public void addAll(Collection collection) { super.addAll(collection); logcatItems.addAll(collection); } @Override public void addAll(String... items) { super.addAll(items); Collections.addAll(logcatItems, items); } @Override public void clear() { super.clear(); logcatItems.clear(); } @Override public void remove(String object) { super.remove(object); logcatItems.remove(object); } /** * Returns an unmodifiable copy of the log cat entries. * @return UnmodifiableList of logcat entries. */ public List getItems() { return Collections.unmodifiableList(this.logcatItems); } }