Skip to content

Commit

Permalink
Merge pull request #353 from mikepenz/remove-factory
Browse files Browse the repository at this point in the history
[V3] Remove view holder factory
  • Loading branch information
mikepenz authored Mar 31, 2017
2 parents 34b4d8d + a0880dc commit b07ef34
Show file tree
Hide file tree
Showing 20 changed files with 51 additions and 359 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

import com.mikepenz.fastadapter.app.R;
import com.mikepenz.fastadapter.items.GenericAbstractItem;
import com.mikepenz.fastadapter.utils.ViewHolderFactory;
import com.mikepenz.iconics.view.IconicsImageView;

import java.util.List;
Expand All @@ -18,8 +17,6 @@
* Created by mikepenz on 28.12.15.
*/
public class GenericIconItem extends GenericAbstractItem<IconModel, GenericIconItem, GenericIconItem.ViewHolder> {
//the static ViewHolderFactory which will be used to generate the ViewHolder for this Item
private static final ViewHolderFactory<? extends ViewHolder> FACTORY = new ItemFactory();

public GenericIconItem(IconModel icon) {
super(icon);
Expand Down Expand Up @@ -66,25 +63,9 @@ public void unbindView(ViewHolder holder) {
holder.name.setText(null);
}

/**
* our ItemFactory implementation which creates the ViewHolder for our adapter.
* It is highly recommended to implement a ViewHolderFactory as it is 0-1ms faster for ViewHolder creation,
* and it is also many many times more efficient if you define custom listeners on views within your item.
*/
protected static class ItemFactory implements ViewHolderFactory<ViewHolder> {
public ViewHolder create(View v) {
return new ViewHolder(v);
}
}

/**
* return our ViewHolderFactory implementation here
*
* @return
*/
@Override
public ViewHolderFactory<? extends ViewHolder> getFactory() {
return FACTORY;
public ViewHolder getViewHolder(View v) {
return new ViewHolder(v);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import com.mikepenz.fastadapter.app.R;
import com.mikepenz.fastadapter.items.AbstractItem;
import com.mikepenz.fastadapter.listeners.ClickEventHook;
import com.mikepenz.fastadapter.utils.ViewHolderFactory;
import com.mikepenz.materialdrawer.holder.StringHolder;

import java.util.List;
Expand All @@ -23,8 +22,6 @@
* Created by mikepenz on 28.12.15.
*/
public class CheckBoxSampleItem extends AbstractItem<CheckBoxSampleItem, CheckBoxSampleItem.ViewHolder> {
//the static ViewHolderFactory which will be used to generate the ViewHolder for this Item
private static final ViewHolderFactory<? extends ViewHolder> FACTORY = new ItemFactory();

public String header;
public StringHolder name;
Expand Down Expand Up @@ -99,28 +96,11 @@ public void unbindView(ViewHolder holder) {
holder.description.setText(null);
}

/**
* our ItemFactory implementation which creates the ViewHolder for our adapter.
* It is highly recommended to implement a ViewHolderFactory as it is 0-1ms faster for ViewHolder creation,
* and it is also many many times more efficient if you define custom listeners on views within your item.
*/
protected static class ItemFactory implements ViewHolderFactory<ViewHolder> {
public ViewHolder create(View v) {
return new ViewHolder(v);
}
}

/**
* return our ViewHolderFactory implementation here
*
* @return
*/
@Override
public ViewHolderFactory<? extends ViewHolder> getFactory() {
return FACTORY;
public ViewHolder getViewHolder(View v) {
return new ViewHolder(v);
}


/**
* our ViewHolder
*/
Expand Down
23 changes: 2 additions & 21 deletions app/src/main/java/com/mikepenz/fastadapter/app/items/IconItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import com.mikepenz.fastadapter.ISubItem;
import com.mikepenz.fastadapter.app.R;
import com.mikepenz.fastadapter.items.AbstractItem;
import com.mikepenz.fastadapter.utils.ViewHolderFactory;
import com.mikepenz.iconics.typeface.IIcon;
import com.mikepenz.iconics.view.IconicsImageView;

Expand All @@ -22,8 +21,6 @@
* Created by mikepenz on 28.12.15.
*/
public class IconItem<T extends IItem & IExpandable> extends AbstractItem<IconItem<T>, IconItem.ViewHolder> implements ISubItem<IconItem, T> {
//the static ViewHolderFactory which will be used to generate the ViewHolder for this Item
private static final ViewHolderFactory<? extends ViewHolder> FACTORY = new ItemFactory();

public IIcon mIcon;
private T mParent;
Expand Down Expand Up @@ -90,25 +87,9 @@ public void unbindView(ViewHolder holder) {
holder.image.setImageDrawable(null);
}

/**
* our ItemFactory implementation which creates the ViewHolder for our adapter.
* It is highly recommended to implement a ViewHolderFactory as it is 0-1ms faster for ViewHolder creation,
* and it is also many many times more efficient if you define custom listeners on views within your item.
*/
protected static class ItemFactory implements ViewHolderFactory<ViewHolder> {
public ViewHolder create(View v) {
return new ViewHolder(v);
}
}

/**
* return our ViewHolderFactory implementation here
*
* @return
*/
@Override
public ViewHolderFactory<? extends ViewHolder> getFactory() {
return FACTORY;
public ViewHolder getViewHolder(View v) {
return new ViewHolder(v);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
import com.mikepenz.fastadapter.helpers.ClickListenerHelper;
import com.mikepenz.fastadapter.items.AbstractItem;
import com.mikepenz.fastadapter.listeners.ClickEventHook;
import com.mikepenz.fastadapter.utils.ViewHolderFactory;
import com.mikepenz.iconics.view.IconicsImageView;

import java.util.List;
Expand All @@ -32,8 +31,6 @@
* Created by mikepenz on 28.12.15.
*/
public class ImageItem extends AbstractItem<ImageItem, ImageItem.ViewHolder> {
//the static ViewHolderFactory which will be used to generate the ViewHolder for this Item
private static final ViewHolderFactory<? extends ViewHolder> FACTORY = new ItemFactory();

public String mImageUrl;
public String mName;
Expand Down Expand Up @@ -112,15 +109,9 @@ public void unbindView(ViewHolder holder) {
holder.imageView.setImageDrawable(null);
}

/**
* our ItemFactory implementation which creates the ViewHolder for our adapter.
* It is highly recommended to implement a ViewHolderFactory as it is 0-1ms faster for ViewHolder creation,
* and it is also many many times more efficient if you define custom listeners on views within your item.
*/
protected static class ItemFactory implements ViewHolderFactory<ViewHolder> {
public ViewHolder create(View v) {
return new ViewHolder(v);
}
@Override
public ViewHolder getViewHolder(View v) {
return new ViewHolder(v);
}

/**
Expand Down Expand Up @@ -163,16 +154,6 @@ public static void viewPropertyStartCompat(ViewPropertyAnimator animator) {
}
}

/**
* return our ViewHolderFactory implementation here
*
* @return
*/
@Override
public ViewHolderFactory<? extends ViewHolder> getFactory() {
return FACTORY;
}

/**
* our ViewHolder
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ public void unbindView(ViewHolder holder) {
holder.text.setText(null);
}

@Override
public ViewHolder getViewHolder(View v) {
return new ViewHolder(v);
}

@Override
public int getType() {
return R.id.fastadapter_letter_item_id;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@
import android.widget.RadioButton;
import android.widget.TextView;

import com.mikepenz.fastadapter.app.R;
import com.mikepenz.fastadapter.FastAdapter;
import com.mikepenz.fastadapter.app.R;
import com.mikepenz.fastadapter.items.AbstractItem;
import com.mikepenz.fastadapter.listeners.ClickEventHook;
import com.mikepenz.fastadapter.utils.ViewHolderFactory;
import com.mikepenz.materialdrawer.holder.StringHolder;

import java.util.List;
Expand All @@ -24,8 +23,6 @@
* Created by mikepenz on 28.12.15.
*/
public class RadioButtonSampleItem extends AbstractItem<RadioButtonSampleItem, RadioButtonSampleItem.ViewHolder> {
//the static ViewHolderFactory which will be used to generate the ViewHolder for this Item
private static final ViewHolderFactory<? extends ViewHolder> FACTORY = new ItemFactory();

public String header;
public StringHolder name;
Expand Down Expand Up @@ -100,28 +97,11 @@ public void unbindView(ViewHolder holder) {
holder.description.setText(null);
}

/**
* our ItemFactory implementation which creates the ViewHolder for our adapter.
* It is highly recommended to implement a ViewHolderFactory as it is 0-1ms faster for ViewHolder creation,
* and it is also many many times more efficient if you define custom listeners on views within your item.
*/
protected static class ItemFactory implements ViewHolderFactory<ViewHolder> {
public ViewHolder create(View v) {
return new ViewHolder(v);
}
}

/**
* return our ViewHolderFactory implementation here
*
* @return
*/
@Override
public ViewHolderFactory<? extends ViewHolder> getFactory() {
return FACTORY;
public ViewHolder getViewHolder(View v) {
return new ViewHolder(v);
}


/**
* our ViewHolder
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@

import com.bumptech.glide.Glide;
import com.mikepenz.fastadapter.app.R;
import com.mikepenz.fastadapter.items.AbstractItem;
import com.mikepenz.fastadapter.commons.utils.FastAdapterUIUtils;
import com.mikepenz.fastadapter.utils.ViewHolderFactory;
import com.mikepenz.fastadapter.items.AbstractItem;
import com.mikepenz.materialize.util.UIUtils;

import java.util.List;
Expand All @@ -23,12 +22,10 @@
* Created by mikepenz on 28.12.15.
*/
public class SimpleImageItem extends AbstractItem<SimpleImageItem, SimpleImageItem.ViewHolder> {
//the static ViewHolderFactory which will be used to generate the ViewHolder for this Item
private static final ViewHolderFactory<? extends ViewHolder> FACTORY = new ItemFactory();

public String mImageUrl;
public String mName;
public String mDescription;
private String mImageUrl;
private String mName;
private String mDescription;

public SimpleImageItem withImage(String imageUrl) {
this.mImageUrl = imageUrl;
Expand Down Expand Up @@ -99,25 +96,9 @@ public void unbindView(ViewHolder holder) {
holder.imageDescription.setText(null);
}

/**
* our ItemFactory implementation which creates the ViewHolder for our adapter.
* It is highly recommended to implement a ViewHolderFactory as it is 0-1ms faster for ViewHolder creation,
* and it is also many many times more efficient if you define custom listeners on views within your item.
*/
protected static class ItemFactory implements ViewHolderFactory<ViewHolder> {
public ViewHolder create(View v) {
return new ViewHolder(v);
}
}

/**
* return our ViewHolderFactory implementation here
*
* @return
*/
@Override
public ViewHolderFactory<? extends ViewHolder> getFactory() {
return FACTORY;
public ViewHolder getViewHolder(View v) {
return new ViewHolder(v);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@
import com.mikepenz.fastadapter.IDraggable;
import com.mikepenz.fastadapter.IItem;
import com.mikepenz.fastadapter.app.R;
import com.mikepenz.fastadapter.items.AbstractItem;
import com.mikepenz.fastadapter.commons.utils.FastAdapterUIUtils;
import com.mikepenz.fastadapter.utils.ViewHolderFactory;
import com.mikepenz.fastadapter.items.AbstractItem;
import com.mikepenz.materialdrawer.holder.StringHolder;
import com.mikepenz.materialize.util.UIUtils;

Expand All @@ -25,8 +24,6 @@
* Created by mikepenz on 28.12.15.
*/
public class SimpleItem extends AbstractItem<SimpleItem, SimpleItem.ViewHolder> implements IDraggable<SimpleItem, IItem> {
//the static ViewHolderFactory which will be used to generate the ViewHolder for this Item
private static final ViewHolderFactory<? extends ViewHolder> FACTORY = new ItemFactory();

public String header;
public StringHolder name;
Expand Down Expand Up @@ -117,28 +114,11 @@ public void unbindView(ViewHolder holder) {
holder.description.setText(null);
}

/**
* our ItemFactory implementation which creates the ViewHolder for our adapter.
* It is highly recommended to implement a ViewHolderFactory as it is 0-1ms faster for ViewHolder creation,
* and it is also many many times more efficient if you define custom listeners on views within your item.
*/
protected static class ItemFactory implements ViewHolderFactory<ViewHolder> {
public ViewHolder create(View v) {
return new ViewHolder(v);
}
}

/**
* return our ViewHolderFactory implementation here
*
* @return
*/
@Override
public ViewHolderFactory<? extends ViewHolder> getFactory() {
return FACTORY;
public ViewHolder getViewHolder(View v) {
return new ViewHolder(v);
}


/**
* our ViewHolder
*/
Expand Down
Loading

0 comments on commit b07ef34

Please sign in to comment.