// Path: core/src/main/java/com/joaquimley/core/data/model/CharacterMarvel.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class CharacterMarvel implements Parcelable {
// 
//     @JsonProperty(value = "id")
//     private long mId;
//     @JsonProperty(value = "name")
//     private String mName;
//     @JsonProperty(value = "description")
//     private String mDescription;
//     @JsonProperty(value = "thumbnail")
//     private Image mThumbnail;
//     @JsonProperty(value = "comics")
//     private CharacterComicWrapper mComics;
//     @JsonProperty(value = "series")
//     private CharacterComicWrapper mSeries;
//     @JsonProperty(value = "stories")
//     private CharacterComicWrapper mStories;
//     @JsonProperty(value = "events")
//     private CharacterComicWrapper mEvents;
//     @JsonProperty(value = "urls")
//     private List<Url> mUrls;
// 
//     public CharacterMarvel() {
//     }
// 
//     /**
//      * START of custom methods
//      */
// 
//     public String getImageUrl() {
//         return mThumbnail.buildCompleteImagePath();
//     }
// 
//     @Override
//     public String toString() {
//         return mName;
//     }
// 
//     /**
//      * END of custom methods
//      */
// 
//     public long getId() {
//         return mId;
//     }
// 
//     public void setId(long id) {
//         mId = id;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// 
//     public void setName(String name) {
//         mName = name;
//     }
// 
//     public String getDescription() {
//         return mDescription;
//     }
// 
//     public void setDescription(String description) {
//         mDescription = description;
//     }
// 
//     public Image getThumbnail() {
//         return mThumbnail;
//     }
// 
//     public void setThumbnail(Image thumbnail) {
//         mThumbnail = thumbnail;
//     }
// 
//     public CharacterComicWrapper getComics() {
//         return mComics;
//     }
// 
//     public void setComics(CharacterComicWrapper comics) {
//         mComics = comics;
//     }
// 
//     public CharacterComicWrapper getSeries() {
//         return mSeries;
//     }
// 
//     public void setSeries(CharacterComicWrapper series) {
//         mSeries = series;
//     }
// 
//     public CharacterComicWrapper getStories() {
//         return mStories;
//     }
// 
//     public void setStories(CharacterComicWrapper stories) {
//         mStories = stories;
//     }
// 
//     public CharacterComicWrapper getEvents() {
//         return mEvents;
//     }
// 
//     public void setEvents(CharacterComicWrapper events) {
//         mEvents = events;
//     }
// 
//     public List<Url> getUrls() {
//         return mUrls;
//     }
// 
//     public void setUrls(List<Url> urls) {
//         mUrls = urls;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (!(o instanceof CharacterMarvel)) return false;
//         CharacterMarvel that = (CharacterMarvel) o;
//         return mId == that.mId;
//     }
// 
//     @Override
//     public int hashCode() {
//         return (int) (mId ^ (mId >>> 32));
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeLong(mId);
//         dest.writeString(mName);
//         dest.writeString(mDescription);
//         dest.writeParcelable(mThumbnail, flags);
//         dest.writeList(mUrls);
//     }
// 
//     protected CharacterMarvel(Parcel in) {
//         mId = in.readLong();
//         mName = in.readString();
//         mDescription = in.readString();
//         mThumbnail = in.readParcelable(Image.class.getClassLoader());
//         mUrls = new ArrayList<>();
//         in.readList(mUrls, Url.class.getClassLoader());
//     }
// 
//     public static final Parcelable.Creator<CharacterMarvel> CREATOR = new Parcelable.Creator<CharacterMarvel>() {
//         @Override
//         public CharacterMarvel createFromParcel(Parcel source) {
//             return new CharacterMarvel(source);
//         }
// 
//         @Override
//         public CharacterMarvel[] newArray(int size) {
//             return new CharacterMarvel[size];
//         }
//     };
// }


import android.content.Context;
import android.support.wearable.view.GridPagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.joaquimley.avenging.R;
import com.joaquimley.core.data.model.CharacterMarvel;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
import java.util.List;
        characterViewHolder.bind(mCharacterList.get(i));
        view.setTag(characterViewHolder);
        viewGroup.addView(view);
        return characterViewHolder.listItem;
    }

    @Override
    public void destroyItem(ViewGroup viewGroup, int i, int i1, Object o) {
        viewGroup.removeView((View) o);
    }

    @Override
    public boolean isViewFromObject(View view, Object o) {
        return view.equals(o);
    }

    public void setListener(InteractionListener listener) {
        mListInteractionListener = listener;
    }

    public void addItems(List<CharacterMarvel> characterList) {
        mCharacterList.addAll(characterList);
        notifyDataSetChanged();
    }

    public void removeAll() {
        mCharacterList.clear();
        notifyDataSetChanged();
    }

// Path: core/src/main/java/com/joaquimley/core/data/model/CharacterMarvel.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class CharacterMarvel implements Parcelable {
// 
//     @JsonProperty(value = "id")
//     private long mId;
//     @JsonProperty(value = "name")
//     private String mName;
//     @JsonProperty(value = "description")
//     private String mDescription;
//     @JsonProperty(value = "thumbnail")
//     private Image mThumbnail;
//     @JsonProperty(value = "comics")
//     private CharacterComicWrapper mComics;
//     @JsonProperty(value = "series")
//     private CharacterComicWrapper mSeries;
//     @JsonProperty(value = "stories")
//     private CharacterComicWrapper mStories;
//     @JsonProperty(value = "events")
//     private CharacterComicWrapper mEvents;
//     @JsonProperty(value = "urls")
//     private List<Url> mUrls;
// 
//     public CharacterMarvel() {
//     }
// 
//     /**
//      * START of custom methods
//      */
// 
//     public String getImageUrl() {
//         return mThumbnail.buildCompleteImagePath();
//     }
// 
//     @Override
//     public String toString() {
//         return mName;
//     }
// 
//     /**
//      * END of custom methods
//      */
// 
//     public long getId() {
//         return mId;
//     }
// 
//     public void setId(long id) {
//         mId = id;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// 
//     public void setName(String name) {
//         mName = name;
//     }
// 
//     public String getDescription() {
//         return mDescription;
//     }
// 
//     public void setDescription(String description) {
//         mDescription = description;
//     }
// 
//     public Image getThumbnail() {
//         return mThumbnail;
//     }
// 
//     public void setThumbnail(Image thumbnail) {
//         mThumbnail = thumbnail;
//     }
// 
//     public CharacterComicWrapper getComics() {
//         return mComics;
//     }
// 
//     public void setComics(CharacterComicWrapper comics) {
//         mComics = comics;
//     }
// 
//     public CharacterComicWrapper getSeries() {
//         return mSeries;
//     }
// 
//     public void setSeries(CharacterComicWrapper series) {
//         mSeries = series;
//     }
// 
//     public CharacterComicWrapper getStories() {
//         return mStories;
//     }
// 
//     public void setStories(CharacterComicWrapper stories) {
//         mStories = stories;
//     }
// 
//     public CharacterComicWrapper getEvents() {
//         return mEvents;
//     }
// 
//     public void setEvents(CharacterComicWrapper events) {
//         mEvents = events;
//     }
// 
//     public List<Url> getUrls() {
//         return mUrls;
//     }
// 
//     public void setUrls(List<Url> urls) {
//         mUrls = urls;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (!(o instanceof CharacterMarvel)) return false;
//         CharacterMarvel that = (CharacterMarvel) o;
//         return mId == that.mId;
//     }
// 
//     @Override
//     public int hashCode() {
//         return (int) (mId ^ (mId >>> 32));
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeLong(mId);
//         dest.writeString(mName);
//         dest.writeString(mDescription);
//         dest.writeParcelable(mThumbnail, flags);
//         dest.writeList(mUrls);
//     }
// 
//     protected CharacterMarvel(Parcel in) {
//         mId = in.readLong();
//         mName = in.readString();
//         mDescription = in.readString();
//         mThumbnail = in.readParcelable(Image.class.getClassLoader());
//         mUrls = new ArrayList<>();
//         in.readList(mUrls, Url.class.getClassLoader());
//     }
// 
//     public static final Parcelable.Creator<CharacterMarvel> CREATOR = new Parcelable.Creator<CharacterMarvel>() {
//         @Override
//         public CharacterMarvel createFromParcel(Parcel source) {
//             return new CharacterMarvel(source);
//         }
// 
//         @Override
//         public CharacterMarvel[] newArray(int size) {
//             return new CharacterMarvel[size];
//         }
//     };
// }


// Path: wear/src/main/java/com/joaquimley/avenging/ui/list/ListAdapter.java
import android.content.Context;
import android.support.wearable.view.GridPagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.joaquimley.avenging.R;
import com.joaquimley.core.data.model.CharacterMarvel;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
import java.util.List;

        characterViewHolder.bind(mCharacterList.get(i));
        view.setTag(characterViewHolder);
        viewGroup.addView(view);
        return characterViewHolder.listItem;
    }

    @Override
    public void destroyItem(ViewGroup viewGroup, int i, int i1, Object o) {
        viewGroup.removeView((View) o);
    }

    @Override
    public boolean isViewFromObject(View view, Object o) {
        return view.equals(o);
    }

    public void setListener(InteractionListener listener) {
        mListInteractionListener = listener;
    }

    public void addItems(List<CharacterMarvel> characterList) {
        mCharacterList.addAll(characterList);
        notifyDataSetChanged();
    }

    public void removeAll() {
        mCharacterList.clear();
        notifyDataSetChanged();
    }

    private class CharacterViewHolder {