package com.cocosw.undobar;
import android.os.Parcel;
import android.os.Parcelable;
import android.view.animation.Animation;
public class UndoBarStyle implements Parcelable {
public static final int DEFAULT_DURATION = 5000;
int iconRes;
int titleRes;
int bgRes;
long duration = DEFAULT_DURATION;
Animation inAnimation;
Animation outAnimation;
/**
* UndoBar Style
*
* @param icon icon for the button right side
* @param title title for the button right side
*/
public UndoBarStyle(final int icon, final int title) {
iconRes = icon;
titleRes = title;
}
/**
* UndoBar Style
*
* @param icon icon for the button right side
* @param title title for the button right side
* @param duration duration the undobar will stay in screen
*/
public UndoBarStyle(final int icon, final int title, final long duration) {
this(icon, title);
this.duration = duration;
}
/**
* UndoBar Style
*
* @param icon icon for the button right side
* @param title title for the button right side
* @param duration duration the undobar will stay in screen
* @param bg background image for undobar
*/
public UndoBarStyle(final int icon, final int title, final int bg,
final long duration) {
this(icon, title, duration);
bgRes = bg;
}
/**
* Set Animation for current style
*
* @param inAnimation animation for fade in
* @param outAnimation animation for fade out
* @return UndoBar
*/
public UndoBarStyle setAnim(Animation inAnimation, Animation outAnimation) {
this.inAnimation = inAnimation;
this.outAnimation = outAnimation;
return this;
}
@Override
public String toString() {
return "UndoBarStyle{" +
"iconRes=" + iconRes +
", titleRes=" + titleRes +
", bgRes=" + bgRes +
", duration=" + duration +
", inAnimation=" + inAnimation +
", outAnimation=" + outAnimation +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null) return false;
UndoBarStyle that = (UndoBarStyle) o;
return bgRes == that.bgRes &&
duration == that.duration &&
iconRes == that.iconRes &&
titleRes == that.titleRes;
}
/*
* Parcelable-related methods.
*/
public UndoBarStyle(Parcel source) {
iconRes = source.readInt();
titleRes = source.readInt();
bgRes = source.readInt();
duration = source.readLong();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(iconRes);
dest.writeInt(titleRes);
dest.writeInt(bgRes);
dest.writeLong(duration);
}
@Override
public int describeContents() {
return 0;
}
public static final Parcelable.Creator<UndoBarStyle> CREATOR = new Parcelable.Creator<UndoBarStyle>() {
public UndoBarStyle createFromParcel(Parcel source) {
return new UndoBarStyle(source);
}
public UndoBarStyle[] newArray(int size) {
return new UndoBarStyle[size];
}
};
}