Android Open Source - AsymmetricGridView Row Info






From Project

Back to project page AsymmetricGridView.

License

The source code is released under:

MIT License

If you think the Android project AsymmetricGridView listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.felipecsl.asymmetricgridview.library.widget;
//from  ww  w.  j  av  a2 s.  co  m
import android.os.Parcel;
import android.os.Parcelable;

import com.felipecsl.asymmetricgridview.library.model.AsymmetricItem;

import java.util.ArrayList;
import java.util.List;

class RowInfo<T extends AsymmetricItem> implements Parcelable {

    private final List<T> items;
    private final int rowHeight;
    private final float spaceLeft;

    public RowInfo(final int rowHeight,
                   final List<T> items,
                   final float spaceLeft) {

        this.rowHeight = rowHeight;
        this.items = items;
        this.spaceLeft = spaceLeft;
    }

    @SuppressWarnings("unchecked")
    public RowInfo(final Parcel in) {
        rowHeight = in.readInt();
        spaceLeft = in.readFloat();
        int totalItems = in.readInt();

        items = new ArrayList<>();
        final ClassLoader classLoader = AsymmetricItem.class.getClassLoader();

        for (int i = 0; i < totalItems; i++) {
            items.add((T) in.readParcelable(classLoader));
        }
    }

    public List<T> getItems() {
        return items;
    }

    public int getRowHeight() {
        return rowHeight;
    }

    public float getSpaceLeft() {
        return spaceLeft;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(final Parcel dest, final int flags) {
        dest.writeInt(rowHeight);
        dest.writeFloat(spaceLeft);
        dest.writeInt(items.size());

        for (int i = 0; i < items.size(); i++)
            dest.writeParcelable(items.get(i), 0);
    }

    /* Parcelable interface implementation */
    public static final Parcelable.Creator<RowInfo> CREATOR = new Parcelable.Creator<RowInfo>() {

        @Override
        public RowInfo createFromParcel(final Parcel in) {
            return new RowInfo<AsymmetricItem>(in);
        }

        @Override
        public RowInfo[] newArray(final int size) {
            return new RowInfo[size];
        }
    };
}




Java Source Code List

com.felipecsl.asymmetricgridview.app.MainActivity.java
com.felipecsl.asymmetricgridview.app.model.DemoItem.java
com.felipecsl.asymmetricgridview.app.widget.DefaultListAdapter.java
com.felipecsl.asymmetricgridview.app.widget.ListAdapterWrapper.java
com.felipecsl.asymmetricgridview.library.AsymmetricGridViewAdapterContract.java
com.felipecsl.asymmetricgridview.library.AsyncTaskCompat.java
com.felipecsl.asymmetricgridview.library.Utils.java
com.felipecsl.asymmetricgridview.library.model.AsymmetricItem.java
com.felipecsl.asymmetricgridview.library.widget.AnimatorProxy.java
com.felipecsl.asymmetricgridview.library.widget.AsymmetricGridViewAdapter.java
com.felipecsl.asymmetricgridview.library.widget.AsymmetricGridView.java
com.felipecsl.asymmetricgridview.library.widget.IcsColorDrawable.java
com.felipecsl.asymmetricgridview.library.widget.IcsLinearLayout.java
com.felipecsl.asymmetricgridview.library.widget.LinearLayoutPoolObjectFactory.java
com.felipecsl.asymmetricgridview.library.widget.NineLinearLayout.java
com.felipecsl.asymmetricgridview.library.widget.PoolObjectFactory.java
com.felipecsl.asymmetricgridview.library.widget.RowInfo.java
com.felipecsl.asymmetricgridview.library.widget.ViewPool.java