CategoryAdapter.java revision 4b82f6f516ae100ae7c88441f4372dda65f01179
1f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard/*
2f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard * Copyright (C) 2013 The Android Open Source Project
3f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard *
4f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard * Licensed under the Apache License, Version 2.0 (the "License");
5f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard * you may not use this file except in compliance with the License.
6f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard * You may obtain a copy of the License at
7f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard *
8f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard *      http://www.apache.org/licenses/LICENSE-2.0
9f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard *
10f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard * Unless required by applicable law or agreed to in writing, software
11f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard * distributed under the License is distributed on an "AS IS" BASIS,
12f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard * See the License for the specific language governing permissions and
14f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard * limitations under the License.
15f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard */
16f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
17f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroardpackage com.android.gallery3d.filtershow.category;
18f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
19f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroardimport android.content.Context;
20f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroardimport android.view.View;
21f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroardimport android.view.ViewGroup;
22f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroardimport android.widget.ArrayAdapter;
23f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroardimport android.widget.ListView;
241a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb
25860af325f2030a03c526e8551a85230d17df7b15nicolasroardimport com.android.gallery3d.R;
26860af325f2030a03c526e8551a85230d17df7b15nicolasroardimport com.android.gallery3d.filtershow.FilterShowActivity;
27f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroardimport com.android.gallery3d.filtershow.filters.FilterRepresentation;
283cb106ddd7ad0f8494ac9c7a33660831c1694295Ruben Brunkimport com.android.gallery3d.filtershow.filters.FilterTinyPlanetRepresentation;
29ce9ceff5776a9b0479c30cbeb2a9388b44df1865nicolasroardimport com.android.gallery3d.filtershow.pipeline.ImagePreset;
30f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
31f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroardpublic class CategoryAdapter extends ArrayAdapter<Action> {
32f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
33f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    private static final String LOGTAG = "CategoryAdapter";
345df43365995e2929d831302a76f08f2cd50d698dJohn Reck    private int mItemHeight;
351a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    private View mContainer;
36f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    private int mItemWidth = ListView.LayoutParams.MATCH_PARENT;
371a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    private int mSelectedPosition;
381a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    int mCategory;
39acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard    private int mOrientation;
40860af325f2030a03c526e8551a85230d17df7b15nicolasroard    private boolean mShowAddButton = false;
41860af325f2030a03c526e8551a85230d17df7b15nicolasroard    private String mAddButtonText;
42f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
43f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    public CategoryAdapter(Context context, int textViewResourceId) {
44f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        super(context, textViewResourceId);
455df43365995e2929d831302a76f08f2cd50d698dJohn Reck        mItemHeight = (int) (context.getResources().getDisplayMetrics().density * 100);
46f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
47f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
48f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    public CategoryAdapter(Context context) {
49f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        this(context, 0);
50f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
51f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
52f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    public void setItemHeight(int height) {
53f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        mItemHeight = height;
54f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
55f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
56f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    public void setItemWidth(int width) {
57f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        mItemWidth = width;
58f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
59f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
60f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    @Override
61f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    public void add(Action action) {
62f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        super.add(action);
63f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        action.setAdapter(this);
64f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
65f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
661a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    public void initializeSelection(int category) {
671a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        mCategory = category;
68ed60979e64de8837dd1e2e8b2d208e34583d853cnicolasroard        mSelectedPosition = -1;
69acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        if (category == MainPanel.LOOKS) {
70acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            mSelectedPosition = 0;
71860af325f2030a03c526e8551a85230d17df7b15nicolasroard            mAddButtonText = getContext().getString(R.string.filtershow_add_button_looks);
72acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        }
73acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        if (category == MainPanel.BORDERS) {
74acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            mSelectedPosition = 0;
75acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        }
76860af325f2030a03c526e8551a85230d17df7b15nicolasroard        if (category == MainPanel.VERSIONS) {
77860af325f2030a03c526e8551a85230d17df7b15nicolasroard            mAddButtonText = getContext().getString(R.string.filtershow_add_button_versions);
78860af325f2030a03c526e8551a85230d17df7b15nicolasroard        }
791a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    }
801a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb
81f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    @Override
82f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    public View getView(int position, View convertView, ViewGroup parent) {
83f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        if (convertView == null) {
84f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard            convertView = new CategoryView(getContext());
85f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        }
86f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        CategoryView view = (CategoryView) convertView;
87acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        view.setOrientation(mOrientation);
8855a0279ee420c649606edd7815403d3ca1820c07nicolasroard        Action action = getItem(position);
8955a0279ee420c649606edd7815403d3ca1820c07nicolasroard        view.setAction(action, this);
9055a0279ee420c649606edd7815403d3ca1820c07nicolasroard        int width = mItemWidth;
914b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard        int height = mItemHeight;
9255a0279ee420c649606edd7815403d3ca1820c07nicolasroard        if (action.getType() == Action.SPACER) {
934b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard            if (mOrientation == CategoryView.HORIZONTAL) {
944b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard                width = width / 2;
954b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard            } else {
964b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard                height = height / 2;
974b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard            }
984b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard        }
994b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard        if (action.getType() == Action.ADD_ACTION
1004b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard                && mOrientation == CategoryView.VERTICAL) {
1014b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard            height = height / 2;
10255a0279ee420c649606edd7815403d3ca1820c07nicolasroard        }
103f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        view.setLayoutParams(
1044b82f6f516ae100ae7c88441f4372dda65f01179nicolasroard                new ListView.LayoutParams(width, height));
1051a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        view.setTag(position);
106acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        view.invalidate();
107f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        return view;
108f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
109f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
1101a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    public void setSelected(View v) {
1111a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        int old = mSelectedPosition;
1121a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        mSelectedPosition = (Integer) v.getTag();
1131a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        if (old != -1) {
1141a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb            invalidateView(old);
1151a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        }
1161a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        invalidateView(mSelectedPosition);
117f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
118f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
1191a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    public boolean isSelected(View v) {
1201a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        return (Integer) v.getTag() == mSelectedPosition;
1211a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    }
1221a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb
1231a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    private void invalidateView(int position) {
1241a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        View child = null;
1251a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        if (mContainer instanceof ListView) {
1261a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb            ListView lv = (ListView) mContainer;
1271a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb            child = lv.getChildAt(position - lv.getFirstVisiblePosition());
1281a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        } else {
1291a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb            CategoryTrack ct = (CategoryTrack) mContainer;
1301a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb            child = ct.getChildAt(position);
1311a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        }
1321a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        if (child != null) {
1331a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb            child.invalidate();
1341a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        }
1351a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    }
1361a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb
1371a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb    public void setContainer(View container) {
1381a266f16edbef7cb0a770d37fcad958fc55a5862Michael Kolb        mContainer = container;
139f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
140f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
141f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    public void imageLoaded() {
142f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        notifyDataSetChanged();
143f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
144f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
145f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    public FilterRepresentation getTinyPlanet() {
146f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        for (int i = 0; i < getCount(); i++) {
147f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard            Action action = getItem(i);
148f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard            if (action.getRepresentation() != null
1493cb106ddd7ad0f8494ac9c7a33660831c1694295Ruben Brunk                    && action.getRepresentation()
1503cb106ddd7ad0f8494ac9c7a33660831c1694295Ruben Brunk                    instanceof FilterTinyPlanetRepresentation) {
151f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard                return action.getRepresentation();
152f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard            }
153f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        }
154f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        return null;
155f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
156f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard
157f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    public void removeTinyPlanet() {
158f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        for (int i = 0; i < getCount(); i++) {
159f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard            Action action = getItem(i);
160f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard            if (action.getRepresentation() != null
1613cb106ddd7ad0f8494ac9c7a33660831c1694295Ruben Brunk                    && action.getRepresentation()
1623cb106ddd7ad0f8494ac9c7a33660831c1694295Ruben Brunk                    instanceof FilterTinyPlanetRepresentation) {
163860af325f2030a03c526e8551a85230d17df7b15nicolasroard                super.remove(action);
164f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard                return;
165f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard            }
166f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard        }
167f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard    }
168acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard
169860af325f2030a03c526e8551a85230d17df7b15nicolasroard    @Override
170860af325f2030a03c526e8551a85230d17df7b15nicolasroard    public void remove(Action action) {
1710a24e52185c4e88dd52b8e072cf7cd1d04f74b0anicolasroard        if (!(mCategory == MainPanel.VERSIONS
1720a24e52185c4e88dd52b8e072cf7cd1d04f74b0anicolasroard                || mCategory == MainPanel.LOOKS)) {
173860af325f2030a03c526e8551a85230d17df7b15nicolasroard            return;
174860af325f2030a03c526e8551a85230d17df7b15nicolasroard        }
175860af325f2030a03c526e8551a85230d17df7b15nicolasroard        super.remove(action);
176860af325f2030a03c526e8551a85230d17df7b15nicolasroard        FilterShowActivity activity = (FilterShowActivity) getContext();
1770a24e52185c4e88dd52b8e072cf7cd1d04f74b0anicolasroard        if (mCategory == MainPanel.LOOKS) {
1780a24e52185c4e88dd52b8e072cf7cd1d04f74b0anicolasroard            activity.removeLook(action);
1790a24e52185c4e88dd52b8e072cf7cd1d04f74b0anicolasroard        } else if (mCategory == MainPanel.VERSIONS) {
1800a24e52185c4e88dd52b8e072cf7cd1d04f74b0anicolasroard            activity.removeVersion(action);
1810a24e52185c4e88dd52b8e072cf7cd1d04f74b0anicolasroard        }
182860af325f2030a03c526e8551a85230d17df7b15nicolasroard    }
183860af325f2030a03c526e8551a85230d17df7b15nicolasroard
184acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard    public void setOrientation(int orientation) {
185acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        mOrientation = orientation;
186acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard    }
187acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard
188acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard    public void reflectImagePreset(ImagePreset preset) {
189fa474a198019851ecc3824a1dfbac94cd1928efcnicolasroard        if (preset == null) {
190fa474a198019851ecc3824a1dfbac94cd1928efcnicolasroard            return;
191fa474a198019851ecc3824a1dfbac94cd1928efcnicolasroard        }
192acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        int selected = 0; // if nothing found, select "none" (first element)
193acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        FilterRepresentation rep = null;
194acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        if (mCategory == MainPanel.LOOKS) {
195acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            int pos = preset.getPositionForType(FilterRepresentation.TYPE_FX);
196acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            if (pos != -1) {
197acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard                rep = preset.getFilterRepresentation(pos);
198acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            }
199acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        } else if (mCategory == MainPanel.BORDERS) {
200acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            int pos = preset.getPositionForType(FilterRepresentation.TYPE_BORDER);
201acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            if (pos != -1) {
202acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard                rep = preset.getFilterRepresentation(pos);
203acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            }
204acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        }
205acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        if (rep != null) {
206acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            for (int i = 0; i < getCount(); i++) {
20755a0279ee420c649606edd7815403d3ca1820c07nicolasroard                FilterRepresentation itemRep = getItem(i).getRepresentation();
20855a0279ee420c649606edd7815403d3ca1820c07nicolasroard                if (itemRep == null) {
20955a0279ee420c649606edd7815403d3ca1820c07nicolasroard                    continue;
21055a0279ee420c649606edd7815403d3ca1820c07nicolasroard                }
211acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard                if (rep.getName().equalsIgnoreCase(
21255a0279ee420c649606edd7815403d3ca1820c07nicolasroard                        itemRep.getName())) {
213acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard                    selected = i;
214860dfcfa96936adf716ab89fb41ed18994fbbd71nicolasroard                    break;
215acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard                }
216acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            }
217acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        }
218acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        if (mSelectedPosition != selected) {
219acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            mSelectedPosition = selected;
220acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard            this.notifyDataSetChanged();
221acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard        }
222acc00f8fed8960b079448db8f05c3fbac8642ca4nicolasroard    }
223860af325f2030a03c526e8551a85230d17df7b15nicolasroard
224860af325f2030a03c526e8551a85230d17df7b15nicolasroard    public boolean showAddButton() {
225860af325f2030a03c526e8551a85230d17df7b15nicolasroard        return mShowAddButton;
226860af325f2030a03c526e8551a85230d17df7b15nicolasroard    }
227860af325f2030a03c526e8551a85230d17df7b15nicolasroard
228860af325f2030a03c526e8551a85230d17df7b15nicolasroard    public void setShowAddButton(boolean showAddButton) {
229860af325f2030a03c526e8551a85230d17df7b15nicolasroard        mShowAddButton = showAddButton;
230860af325f2030a03c526e8551a85230d17df7b15nicolasroard    }
231860af325f2030a03c526e8551a85230d17df7b15nicolasroard
232860af325f2030a03c526e8551a85230d17df7b15nicolasroard    public String getAddButtonText() {
233860af325f2030a03c526e8551a85230d17df7b15nicolasroard        return mAddButtonText;
234860af325f2030a03c526e8551a85230d17df7b15nicolasroard    }
235f5eedf1635eba7edfa7d41fd4e991cced978c4b2nicolasroard}
236