package com.pennapps.labs.pennmobile.classes;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class LaundryHall implements Parcelable{
private String name;
private ArrayList<LaundryRoom> laundries;
public LaundryHall(String name, LaundryRoom laundryRoom) {
this.name = name;
laundries = new ArrayList<>();
laundries.add(laundryRoom);
}
protected LaundryHall(Parcel in) {
name = in.readString();
laundries = in.createTypedArrayList(LaundryRoom.CREATOR);
}
public static final Creator<LaundryHall> CREATOR = new Creator<LaundryHall>() {
@Override
public LaundryHall createFromParcel(Parcel in) {
return new LaundryHall(in);
}
@Override
public LaundryHall[] newArray(int size) {
return new LaundryHall[size];
}
};
public static List<LaundryHall> getLaundryHall(List<LaundryRoom> laundries) {
LinkedList<LaundryHall> halls = new LinkedList<>();
for (LaundryRoom l : laundries) {
LaundryHall h = null;
if (!halls.isEmpty()) {
h = halls.getLast();
}
String name = l.name;
if (l.name.contains("-")) {
name = l.name.substring(0, l.name.indexOf('-'));
}
if (h != null && h.getName().equals(name)) {
h.getIds().add(l);
} else {
h = new LaundryHall(name, l);
halls.add(h);
}
}
return halls;
}
public List<LaundryRoom> getIds() {
return laundries;
}
public String getName() {
return name;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeTypedList(laundries);
}
}