diff --git a/README.md b/README.md index 79e983677..b0fe57ae5 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ Beside being blazing fast, minimizing the code you need to write, it is also rea ##A quick overview: - Click / Long-Click listeners - Selection / Multi-Selection +- Collapsable items - Write less code, get better results - Headers - Footers @@ -25,7 +26,7 @@ Beside being blazing fast, minimizing the code you need to write, it is also rea #Include in your project ##Using Maven ```javascript -compile('com.mikepenz:fastadapter:0.5.6@aar') { +compile('com.mikepenz:fastadapter:0.6.0@aar') { transitive = true } ``` diff --git a/app/build.gradle b/app/build.gradle index 6d7dce869..b97e7d388 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { defaultConfig { minSdkVersion 11 targetSdkVersion 23 - versionCode 56 - versionName '0.5.6' + versionCode 60 + versionName '0.6.0' applicationVariants.all { variant -> variant.outputs.each { output -> @@ -52,7 +52,7 @@ dependencies { //used to generate the drawer on the left //https://github.com/mikepenz/MaterialDrawer - compile('com.mikepenz:materialdrawer:5.0.0.fastAdapter.b5-SNAPSHOT@aar') { + compile('com.mikepenz:materialdrawer:4.6.3@aar') { transitive = true exclude module: "fastadapter" } diff --git a/app/src/main/java/com/mikepenz/fastadapter/app/CollapsibleSampleActivity.java b/app/src/main/java/com/mikepenz/fastadapter/app/CollapsibleSampleActivity.java index 5301292a8..c4feed2c4 100755 --- a/app/src/main/java/com/mikepenz/fastadapter/app/CollapsibleSampleActivity.java +++ b/app/src/main/java/com/mikepenz/fastadapter/app/CollapsibleSampleActivity.java @@ -51,7 +51,7 @@ protected void onCreate(Bundle savedInstanceState) { public boolean onClick(View v, IAdapter adapter, IItem item, int position) { if (item instanceof SampleItem) { if (((SampleItem) item).getSubItems() != null) { - fastAdapter.toggleCollapsible(position); + fastAdapter.toggleExpandable(position); return true; } } diff --git a/app/src/main/java/com/mikepenz/fastadapter/app/IconGridActivity.java b/app/src/main/java/com/mikepenz/fastadapter/app/IconGridActivity.java index a6b91794f..490629392 100755 --- a/app/src/main/java/com/mikepenz/fastadapter/app/IconGridActivity.java +++ b/app/src/main/java/com/mikepenz/fastadapter/app/IconGridActivity.java @@ -54,7 +54,7 @@ protected void onCreate(Bundle savedInstanceState) { .withSavedInstance(savedInstanceState) .withShowDrawerOnFirstLaunch(true) .addDrawerItems( - new PrimaryDrawerItem().withName(R.string.sample_simple).withSelectable(false).withIdentifier(6).withIcon(MaterialDesignIconic.Icon.gmi_wallpaper), + new PrimaryDrawerItem().withName(R.string.sample_simple).withSelectable(false).withIdentifier(6).withIcon(MaterialDesignIconic.Icon.gmi_format_align_justify), new PrimaryDrawerItem().withName(R.string.sample_image_list).withSelectable(false).withIdentifier(5).withIcon(MaterialDesignIconic.Icon.gmi_wallpaper), new PrimaryDrawerItem().withName(R.string.sample_multi_select).withSelectable(false).withIdentifier(1).withIcon(MaterialDesignIconic.Icon.gmi_select_all), new PrimaryDrawerItem().withName(R.string.sample_collapsible).withSelectable(false).withIdentifier(2).withIcon(MaterialDesignIconic.Icon.gmi_check_all), @@ -104,7 +104,7 @@ public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { public boolean onClick(View v, IAdapter adapter, IItem item, int position) { if (item instanceof SampleItem) { if (((SampleItem) item).getSubItems() != null) { - fastAdapter.toggleCollapsible(position); + fastAdapter.toggleExpandable(position); return true; } } diff --git a/app/src/main/java/com/mikepenz/fastadapter/app/items/SampleItem.java b/app/src/main/java/com/mikepenz/fastadapter/app/items/SampleItem.java index f12f7c27e..da9895eee 100644 --- a/app/src/main/java/com/mikepenz/fastadapter/app/items/SampleItem.java +++ b/app/src/main/java/com/mikepenz/fastadapter/app/items/SampleItem.java @@ -7,7 +7,7 @@ import android.view.View; import android.widget.TextView; -import com.mikepenz.fastadapter.ICollapsible; +import com.mikepenz.fastadapter.IExpandable; import com.mikepenz.fastadapter.IItem; import com.mikepenz.fastadapter.app.R; import com.mikepenz.fastadapter.items.AbstractItem; @@ -24,14 +24,14 @@ /** * Created by mikepenz on 28.12.15. */ -public class SampleItem extends AbstractItem implements ICollapsible { +public class SampleItem extends AbstractItem implements IExpandable { public String header; public StringHolder name; public StringHolder description; private List mSubItems; - private boolean mCollapsed = true; + private boolean mExpanded = false; public SampleItem withHeader(String header) { this.header = header; @@ -59,13 +59,13 @@ public SampleItem withDescription(@StringRes int descriptionRes) { } @Override - public boolean isCollapsed() { - return mCollapsed; + public boolean isExpanded() { + return mExpanded; } @Override - public SampleItem withCollapsed(boolean collapsed) { - mCollapsed = collapsed; + public SampleItem withIsExpanded(boolean expaned) { + mExpanded = expaned; return this; } diff --git a/gradle.properties b/gradle.properties index 5e71c9d80..7d8e9e9e0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,8 +19,8 @@ org.gradle.daemon=true org.gradle.parallel=true # Maven stuff -VERSION_NAME=0.5.6 -VERSION_CODE=56 +VERSION_NAME=0.6.0 +VERSION_CODE=60 GROUP=com.mikepenz POM_DESCRIPTION=FastAdapter Library diff --git a/library/build.gradle b/library/build.gradle index a650e3ded..e54cb5893 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -8,8 +8,8 @@ android { defaultConfig { minSdkVersion 10 targetSdkVersion 23 - versionCode 56 - versionName '0.5.6' + versionCode 60 + versionName '0.6.0' } buildTypes { release { diff --git a/library/src/main/java/com/mikepenz/fastadapter/FastAdapter.java b/library/src/main/java/com/mikepenz/fastadapter/FastAdapter.java index 63f6c86ee..3cc7476c1 100644 --- a/library/src/main/java/com/mikepenz/fastadapter/FastAdapter.java +++ b/library/src/main/java/com/mikepenz/fastadapter/FastAdapter.java @@ -11,6 +11,7 @@ import com.mikepenz.fastadapter.utils.AdapterUtil; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -23,7 +24,7 @@ */ public class FastAdapter extends RecyclerView.Adapter { protected static final String BUNDLE_SELECTIONS = "bundle_selections"; - protected static final String BUNDLE_COLLAPSIBLE = "bundle_collapsible"; + protected static final String BUNDLE_EXPANDED = "bundle_expanded"; // we remember all adapters private ArrayMap mAdapters = new ArrayMap<>(); @@ -37,8 +38,8 @@ public class FastAdapter extends RecyclerView.Adapter mSelections = new TreeSet<>(); - // we need to remember all opened collapse items to recreate them after orientation change - private SparseIntArray mCollapsibleOpened = new SparseIntArray(); + // we need to remember all expanded items to recreate them after orientation change + private SparseIntArray mExpanded = new SparseIntArray(); // the listeners which can be hooked on an item private OnClickListener mOnClickListener; @@ -132,10 +133,10 @@ public FastAdapter withSavedInstanceState(Bundle savedInstanceState, String pref deselect(); //first restore opened collasable items, as otherwise may not all selections could be restored - int[] collapsibles = savedInstanceState.getIntArray(BUNDLE_COLLAPSIBLE + prefix); - if (collapsibles != null) { - for (Integer collapsible : collapsibles) { - open(collapsible); + int[] expandedItems = savedInstanceState.getIntArray(BUNDLE_EXPANDED + prefix); + if (expandedItems != null) { + for (Integer expandedItem : expandedItems) { + expand(expandedItem); } } @@ -448,7 +449,7 @@ public Bundle saveInstanceState(Bundle savedInstanceState, String prefix) { savedInstanceState.putIntArray(BUNDLE_SELECTIONS + prefix, selections); //remember the collapsed states - savedInstanceState.putIntArray(BUNDLE_COLLAPSIBLE + prefix, getOpenedCollapsibleItems()); + savedInstanceState.putIntArray(BUNDLE_EXPANDED + prefix, getExpandedItems()); } return savedInstanceState; } @@ -466,6 +467,17 @@ public Set getSelections() { return mSelections; } + /** + * @return a set with the items which are currently selected + */ + public Set getSelectedItems() { + Set items = new HashSet<>(); + for (Integer position : getSelections()) { + items.add(getItem(position)); + } + return items; + } + /** * toggles the selection of the item at the given position * @@ -489,19 +501,26 @@ private void handleSelection(Item item, int position) { return; } - if (!mMultiSelect) { - Iterator entries = mSelections.iterator(); - while (entries.hasNext()) { - Integer pos = entries.next(); - if (pos != position) { - deselect(pos, entries); - } - } - } - if (mSelections.contains(position)) { + if (!mMultiSelect) { + deselect(); + } deselect(position); } else { + if (!mMultiSelect) { + deselect(); + } + select(position); + } + } + + /** + * selects all items at the positions in the iteratable + * + * @param positions the global positions to select + */ + public void select(Iterable positions) { + for (Integer position : positions) { select(position); } } @@ -534,6 +553,18 @@ public void select(int position, boolean fireEvent) { } } + /** + * deselects all items at the positions in the iteratable + * + * @param positions the global positions to deselect + */ + public void deselect(Iterable positions) { + Iterator entries = positions.iterator(); + while (entries.hasNext()) { + deselect(entries.next(), entries); + } + } + /** * deselects an item and removes it's position in the selections list * @@ -569,10 +600,7 @@ private void deselect(int position, Iterator entries) { * deselects all selections */ public void deselect() { - Iterator entries = mSelections.iterator(); - while (entries.hasNext()) { - deselect(entries.next(), entries); - } + deselect(mSelections); } /** @@ -601,32 +629,32 @@ public List deleteAllSelectedItems() { //------------------------- //------------------------- - //Collapse stuff + //Expandable stuff //------------------------- //------------------------- /** - * @return a set with the global positions of all opened collapsible items + * @return a set with the global positions of all expanded items */ - public int[] getOpenedCollapsibleItems() { - int[] collapsibleItems = new int[mCollapsibleOpened.size()]; - int length = mCollapsibleOpened.size(); + public int[] getExpandedItems() { + int[] expandedItems = new int[mExpanded.size()]; + int length = mExpanded.size(); for (int i = 0; i < length; i++) { - collapsibleItems[i] = mCollapsibleOpened.keyAt(i); + expandedItems[i] = mExpanded.keyAt(i); } - return collapsibleItems; + return expandedItems; } /** - * toggles the collapse state of the given collapsible item at the given position + * toggles the expanded state of the given expandable item at the given position * * @param position the global position */ - public void toggleCollapsible(int position) { - if (mCollapsibleOpened.indexOfKey(position) >= 0) { + public void toggleExpandable(int position) { + if (mExpanded.indexOfKey(position) >= 0) { collapse(position); } else { - open(position); + expand(position); } } @@ -637,19 +665,19 @@ public void toggleCollapsible(int position) { */ public void collapse(int position) { Item item = getItem(position); - if (item != null && item instanceof ICollapsible) { - ICollapsible collapsible = (ICollapsible) item; + if (item != null && item instanceof IExpandable) { + IExpandable expandable = (IExpandable) item; //as we now know the item we will collapse we can collapse all subitems //if this item is not already callapsed and has sub items we go on - if (!collapsible.isCollapsed() && collapsible.getSubItems() != null && collapsible.getSubItems().size() > 0) { + if (expandable.isExpanded() && expandable.getSubItems() != null && expandable.getSubItems().size() > 0) { //first we find out how many items were added in total - int totalAddedItems = collapsible.getSubItems().size(); + int totalAddedItems = expandable.getSubItems().size(); - int length = mCollapsibleOpened.size(); + int length = mExpanded.size(); for (int i = 0; i < length; i++) { - if (mCollapsibleOpened.keyAt(i) > position && mCollapsibleOpened.keyAt(i) <= position + totalAddedItems) { - totalAddedItems = totalAddedItems + mCollapsibleOpened.get(mCollapsibleOpened.keyAt(i)); + if (mExpanded.keyAt(i) > position && mExpanded.keyAt(i) <= position + totalAddedItems) { + totalAddedItems = totalAddedItems + mExpanded.get(mExpanded.keyAt(i)); } } @@ -662,68 +690,68 @@ public void collapse(int position) { //now we start to collapse them for (int i = length - 1; i >= 0; i--) { - if (mCollapsibleOpened.keyAt(i) > position && mCollapsibleOpened.keyAt(i) <= position + totalAddedItems) { + if (mExpanded.keyAt(i) > position && mExpanded.keyAt(i) <= position + totalAddedItems) { //we collapsed those items now we remove update the added items - totalAddedItems = totalAddedItems - mCollapsibleOpened.get(mCollapsibleOpened.keyAt(i)); + totalAddedItems = totalAddedItems - mExpanded.get(mExpanded.keyAt(i)); //we collapse the item - internalCollapse(mCollapsibleOpened.keyAt(i)); + internalCollapse(mExpanded.keyAt(i)); } } //we collapse our root element - internalCollapse(collapsible, position); + internalCollapse(expandable, position); } } } private void internalCollapse(int position) { Item item = getItem(position); - if (item != null && item instanceof ICollapsible) { - ICollapsible collapsible = (ICollapsible) item; + if (item != null && item instanceof IExpandable) { + IExpandable expandable = (IExpandable) item; //if this item is not already callapsed and has sub items we go on - if (!collapsible.isCollapsed() && collapsible.getSubItems() != null && collapsible.getSubItems().size() > 0) { - internalCollapse(collapsible, position); + if (expandable.isExpanded() && expandable.getSubItems() != null && expandable.getSubItems().size() > 0) { + internalCollapse(expandable, position); } } } - private void internalCollapse(ICollapsible collapsible, int position) { + private void internalCollapse(IExpandable expandable, int position) { IAdapter adapter = getAdapter(position); if (adapter != null && adapter instanceof IItemAdapter) { - ((IItemAdapter) adapter).removeItemRange(position + 1, collapsible.getSubItems().size()); + ((IItemAdapter) adapter).removeItemRange(position + 1, expandable.getSubItems().size()); } //remember that this item is now collapsed again - collapsible.withCollapsed(true); + expandable.withIsExpanded(false); //remove the information that this item was opened - int indexOfKey = mCollapsibleOpened.indexOfKey(position); + int indexOfKey = mExpanded.indexOfKey(position); if (indexOfKey >= 0) { - mCollapsibleOpened.removeAt(indexOfKey); + mExpanded.removeAt(indexOfKey); } } /** - * opens the collapsible item at the given position + * opens the expandable item at the given position * * @param position the global position */ - public void open(int position) { + public void expand(int position) { Item item = getItem(position); - if (item != null && item instanceof ICollapsible) { - ICollapsible collapsible = (ICollapsible) item; + if (item != null && item instanceof IExpandable) { + IExpandable expandable = (IExpandable) item; //if this item is not already callapsed and has sub items we go on - if (collapsible.isCollapsed() && collapsible.getSubItems() != null && collapsible.getSubItems().size() > 0) { + if (!expandable.isExpanded() && expandable.getSubItems() != null && expandable.getSubItems().size() > 0) { IAdapter adapter = getAdapter(position); if (adapter != null && adapter instanceof IItemAdapter) { - ((IItemAdapter) adapter).add(position + 1, collapsible.getSubItems()); + ((IItemAdapter) adapter).add(position + 1, expandable.getSubItems()); } //remember that this item is now opened (not collapsed) - collapsible.withCollapsed(false); - //store it in the list of opened collapsible items - mCollapsibleOpened.put(position, collapsible.getSubItems() != null ? collapsible.getSubItems().size() : 0); + expandable.withIsExpanded(true); + //store it in the list of opened expandable items + mExpanded.put(position, expandable.getSubItems() != null ? expandable.getSubItems().size() : 0); } } } @@ -740,9 +768,9 @@ public void open(int position) { * @param position the global position */ public void notifyAdapterItemInserted(int position) { - //we have to update all current stored selection and collapsed states in our map + //we have to update all current stored selection and expandable states in our map mSelections = AdapterUtil.adjustPosition(mSelections, position, Integer.MAX_VALUE, 1); - mCollapsibleOpened = AdapterUtil.adjustPosition(mCollapsibleOpened, position, Integer.MAX_VALUE, 1); + mExpanded = AdapterUtil.adjustPosition(mExpanded, position, Integer.MAX_VALUE, 1); notifyItemInserted(position); } @@ -753,9 +781,9 @@ public void notifyAdapterItemInserted(int position) { * @param itemCount */ public void notifyAdapterItemRangeInserted(int position, int itemCount) { - //we have to update all current stored selection and collapsed states in our map + //we have to update all current stored selection and expandable states in our map mSelections = AdapterUtil.adjustPosition(mSelections, position, Integer.MAX_VALUE, itemCount); - mCollapsibleOpened = AdapterUtil.adjustPosition(mCollapsibleOpened, position, Integer.MAX_VALUE, itemCount); + mExpanded = AdapterUtil.adjustPosition(mExpanded, position, Integer.MAX_VALUE, itemCount); notifyItemRangeInserted(position, itemCount); } @@ -765,9 +793,9 @@ public void notifyAdapterItemRangeInserted(int position, int itemCount) { * @param position the global position */ public void notifyAdapterItemRemoved(int position) { - //we have to update all current stored selection and collapsed states in our map + //we have to update all current stored selection and expandable states in our map mSelections = AdapterUtil.adjustPosition(mSelections, position, Integer.MAX_VALUE, -1); - mCollapsibleOpened = AdapterUtil.adjustPosition(mCollapsibleOpened, position, Integer.MAX_VALUE, -1); + mExpanded = AdapterUtil.adjustPosition(mExpanded, position, Integer.MAX_VALUE, -1); notifyItemRemoved(position); } @@ -778,9 +806,9 @@ public void notifyAdapterItemRemoved(int position) { * @param itemCount */ public void notifyAdapterItemRangeRemoved(int position, int itemCount) { - //we have to update all current stored selection and collapsed states in our map + //we have to update all current stored selection and expandable states in our map mSelections = AdapterUtil.adjustPosition(mSelections, position, Integer.MAX_VALUE, itemCount * (-1)); - mCollapsibleOpened = AdapterUtil.adjustPosition(mCollapsibleOpened, position, Integer.MAX_VALUE, itemCount * (-1)); + mExpanded = AdapterUtil.adjustPosition(mExpanded, position, Integer.MAX_VALUE, itemCount * (-1)); notifyItemRangeRemoved(position, itemCount); } @@ -796,13 +824,13 @@ public void notifyAdapterItemMoved(int fromPosition, int toPosition) { mSelections.add(toPosition); } - //we have to update all current stored selection and collapsed states in our map + //we have to update all current stored selection and expandable states in our map if (fromPosition < toPosition) { mSelections = AdapterUtil.adjustPosition(mSelections, fromPosition, toPosition, -1); - mCollapsibleOpened = AdapterUtil.adjustPosition(mCollapsibleOpened, fromPosition, toPosition, -1); + mExpanded = AdapterUtil.adjustPosition(mExpanded, fromPosition, toPosition, -1); } else { mSelections = AdapterUtil.adjustPosition(mSelections, toPosition, fromPosition, 1); - mCollapsibleOpened = AdapterUtil.adjustPosition(mCollapsibleOpened, toPosition, fromPosition, 1); + mExpanded = AdapterUtil.adjustPosition(mExpanded, toPosition, fromPosition, 1); } notifyItemMoved(fromPosition, toPosition); diff --git a/library/src/main/java/com/mikepenz/fastadapter/ICollapsible.java b/library/src/main/java/com/mikepenz/fastadapter/IExpandable.java similarity index 51% rename from library/src/main/java/com/mikepenz/fastadapter/ICollapsible.java rename to library/src/main/java/com/mikepenz/fastadapter/IExpandable.java index 910ac202a..e01a17c92 100644 --- a/library/src/main/java/com/mikepenz/fastadapter/ICollapsible.java +++ b/library/src/main/java/com/mikepenz/fastadapter/IExpandable.java @@ -5,24 +5,24 @@ /** * Created by mikepenz on 30.12.15. */ -public interface ICollapsible { +public interface IExpandable { /** - * @return true if collapsed (closed) + * @return true if expanded (opened) */ - boolean isCollapsed(); + boolean isExpanded(); /** - * use this method to set if the Collapsible item is currently collapsed (closed) + * use this method to set if the Expandable item is currently expanded * - * @param collapsed true if collapsed (closed) + * @param collapsed true if expanded (opened) * @return this */ - T withCollapsed(boolean collapsed); + T withIsExpanded(boolean collapsed); /** * use this method to set the subItems of this item * - * @param subItems the subItems for this Collapsible Item + * @param subItems the subItems for this Expandable Item * @return this */ T withSubItems(List subItems); diff --git a/library/src/main/java/com/mikepenz/fastadapter/IItemAdapter.java b/library/src/main/java/com/mikepenz/fastadapter/IItemAdapter.java index 487345e89..5ae1085b4 100644 --- a/library/src/main/java/com/mikepenz/fastadapter/IItemAdapter.java +++ b/library/src/main/java/com/mikepenz/fastadapter/IItemAdapter.java @@ -14,7 +14,7 @@ public interface IItemAdapter extends IAdapter { * @param subItems the subItems for this collapsible item * @return the item type of the collapsible */ - T setSubItems(ICollapsible collapsible, List subItems); + T setSubItems(IExpandable collapsible, List subItems); /** * set a new list of items for this adapter diff --git a/library/src/main/java/com/mikepenz/fastadapter/adapters/ItemAdapter.java b/library/src/main/java/com/mikepenz/fastadapter/adapters/ItemAdapter.java index 6588188d8..b9938d5a4 100644 --- a/library/src/main/java/com/mikepenz/fastadapter/adapters/ItemAdapter.java +++ b/library/src/main/java/com/mikepenz/fastadapter/adapters/ItemAdapter.java @@ -3,7 +3,7 @@ import android.widget.Filter; import com.mikepenz.fastadapter.AbstractAdapter; -import com.mikepenz.fastadapter.ICollapsible; +import com.mikepenz.fastadapter.IExpandable; import com.mikepenz.fastadapter.IItem; import com.mikepenz.fastadapter.IItemAdapter; import com.mikepenz.fastadapter.utils.IdDistributor; @@ -137,7 +137,7 @@ public Item getAdapterItem(int position) { * @param subItems the subItems for this collapsible item * @return the item type of the collapsible */ - public T setSubItems(ICollapsible collapsible, List subItems) { + public T setSubItems(IExpandable collapsible, List subItems) { if (mUseIdDistributor) { IdDistributor.checkIds(subItems); } diff --git a/library/src/main/java/com/mikepenz/fastadapter/helpers/ActionModeHelper.java b/library/src/main/java/com/mikepenz/fastadapter/helpers/ActionModeHelper.java index 7de7da382..ca0f576ad 100644 --- a/library/src/main/java/com/mikepenz/fastadapter/helpers/ActionModeHelper.java +++ b/library/src/main/java/com/mikepenz/fastadapter/helpers/ActionModeHelper.java @@ -8,7 +8,7 @@ import android.view.MenuItem; import com.mikepenz.fastadapter.FastAdapter; -import com.mikepenz.fastadapter.ICollapsible; +import com.mikepenz.fastadapter.IExpandable; import com.mikepenz.fastadapter.IItem; /** @@ -50,9 +50,9 @@ public ActionMode getActionMode() { * @return null if nothing was done, or a boolean to inform if the event was consumed */ public Boolean onClick(IItem item, int position) { - if (item instanceof ICollapsible) { - if (((ICollapsible) item).getSubItems() != null) { - mFastAdapter.toggleCollapsible(position); + if (item instanceof IExpandable) { + if (((IExpandable) item).getSubItems() != null) { + mFastAdapter.toggleExpandable(position); //if we are in CAB mode and there are no selections afterwards we end the CAB mode if (mActionMode != null && mFastAdapter.getSelections().size() == 0) { diff --git a/library/src/main/res/values/library_fastadapter_strings.xml b/library/src/main/res/values/library_fastadapter_strings.xml index 95c2dcb62..b5e934907 100755 --- a/library/src/main/res/values/library_fastadapter_strings.xml +++ b/library/src/main/res/values/library_fastadapter_strings.xml @@ -10,7 +10,7 @@ FastAdapter, the bullet proof, fast and easy to use adapter library, which minimizes developing time to a fraction... ]]> - 0.5.6 + 0.6.0 https://github.com/mikepenz/FastAdapter apache_2_0 true