/******************************************************************************* * Copyright (c) 2011 Michel DAVID mimah35-at-gmail.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. ******************************************************************************/ package fr.gotorennes.domain; import fr.gotorennes.util.AsciiUtils; import android.graphics.Color; import android.os.Parcel; import android.os.Parcelable; public class RelayPark extends Localisable implements Comparable<RelayPark> { private static int GREEN = Color.parseColor("#58BB01"); private static int ORANGE = Color.parseColor("#F5A900"); private static int RED = Color.parseColor("#DB0000"); public String name; public int state; public int available; public int capacity; public RelayPark() { super(); } public RelayPark(Parcel in) { super(in); name = in.readString(); state = in.readInt(); available = in.readInt(); capacity = in.readInt(); } private String toString = null; @Override public String toString() { if(toString == null) { toString = name + " " + AsciiUtils.convertNonAscii(name); } return toString; } public int getColor() { return available > 50 ? GREEN : available < 20 ? RED : ORANGE; } @Override public boolean equals(Object o) { RelayPark other = (RelayPark) o; return name != null ? name.equals(other.name) : other.name == null; } @Override public void writeToParcel(Parcel out, int flags) { super.writeToParcel(out, flags); out.writeString(name); out.writeInt(state); out.writeInt(available); out.writeInt(capacity); } public static final Parcelable.Creator<RelayPark> CREATOR = new Parcelable.Creator<RelayPark>() { public RelayPark createFromParcel(Parcel in) { return new RelayPark(in); } public RelayPark[] newArray(int size) { return new RelayPark[size]; } }; @Override public int compareTo(RelayPark another) { return name.compareTo(another.name); } }