package com.lateensoft.pathfinder.toolkit.views.picker; import android.os.Parcel; import android.os.Parcelable; import com.google.common.collect.Lists; import com.lateensoft.pathfinder.toolkit.model.IdNamePair; import org.jetbrains.annotations.Nullable; import java.util.List; /** * @author tsiemens */ public class SelectablePair extends IdNamePair { private boolean isSelected; public static List<SelectablePair> createSelectableObjects(List<IdNamePair> objects, @Nullable List<IdNamePair> selectedObjects) { List<SelectablePair> selectablePairs = Lists.newArrayListWithCapacity(objects.size()); for (IdNamePair object : objects) { SelectablePair pair = new SelectablePair(object); if (selectedObjects != null && selectedObjects.contains(object)) { pair.setSelected(true); } selectablePairs.add(pair); } return selectablePairs; } public SelectablePair(IdNamePair pair) { super(pair); isSelected = false; } public SelectablePair(Parcel in) { super(in); boolean[] selected = new boolean[1]; in.readBooleanArray(selected); isSelected = selected[0]; } @Override public void writeToParcel(Parcel out, int flags) { super.writeToParcel(out, flags); boolean[] selected = new boolean[1]; selected[0] = isSelected; out.writeBooleanArray(selected); } public void setSelected(boolean selected) { isSelected = selected; } public boolean isSelected() { return isSelected; } @Override public int describeContents() { return 0; } public static final Parcelable.Creator<SelectablePair> CREATOR = new Parcelable.Creator<SelectablePair>() { public SelectablePair createFromParcel(Parcel in) { return new SelectablePair(in); } public SelectablePair[] newArray(int size) { return new SelectablePair[size]; } }; }