package com.quran.labs.androidquran.service.util;
import android.os.Parcel;
import android.os.Parcelable;
import com.quran.labs.androidquran.data.SuraAyah;
public class RepeatInfo implements Parcelable {
private int repeatCount;
private int currentAyah;
private int currentSura;
private int currentPlayCount;
RepeatInfo(int repeatCount) {
this.repeatCount = repeatCount;
}
private RepeatInfo(Parcel in) {
this.repeatCount = in.readInt();
this.currentAyah = in.readInt();
this.currentSura = in.readInt();
this.currentPlayCount = in.readInt();
}
void setCurrentVerse(int sura, int ayah) {
if (sura != currentSura || ayah != currentAyah) {
currentSura = sura;
currentAyah = ayah;
currentPlayCount = 0;
}
}
public int getRepeatCount() {
return repeatCount;
}
void setRepeatCount(int repeatCount) {
this.repeatCount = repeatCount;
}
boolean shouldRepeat() {
return repeatCount == -1 || (currentPlayCount < repeatCount);
}
void incrementRepeat() {
currentPlayCount++;
}
SuraAyah getCurrentAyah() {
return new SuraAyah(currentSura, currentAyah);
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.repeatCount);
dest.writeInt(this.currentAyah);
dest.writeInt(this.currentSura);
dest.writeInt(this.currentPlayCount);
}
public static final Parcelable.Creator<RepeatInfo> CREATOR
= new Parcelable.Creator<RepeatInfo>() {
public RepeatInfo createFromParcel(Parcel source) {
return new RepeatInfo(source);
}
public RepeatInfo[] newArray(int size) {
return new RepeatInfo[size];
}
};
}