/*
* This code is in the public domain.
*/
package org.geometerplus.android.fbreader.libraryService;
import android.os.Parcel;
import android.os.Parcelable;
import org.geometerplus.zlibrary.text.view.ZLTextFixedPosition;
import org.geometerplus.zlibrary.text.view.ZLTextPosition;
public final class PositionWithTimestamp implements Parcelable {
public final int ParagraphIndex;
public final int ElementIndex;
public final int CharIndex;
public final long Timestamp;
public PositionWithTimestamp(ZLTextPosition pos) {
this(
pos.getParagraphIndex(),
pos.getElementIndex(),
pos.getCharIndex(),
(pos instanceof ZLTextFixedPosition.WithTimestamp)
? ((ZLTextFixedPosition.WithTimestamp)pos).Timestamp : -1
);
}
private PositionWithTimestamp(int paragraphIndex, int elementIndex, int charIndex, long stamp) {
ParagraphIndex = paragraphIndex;
ElementIndex = elementIndex;
CharIndex = charIndex;
Timestamp = stamp;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeInt(ParagraphIndex);
parcel.writeInt(ElementIndex);
parcel.writeInt(CharIndex);
parcel.writeLong(Timestamp);
}
@Override
public int describeContents() {
return 0;
}
public static final Parcelable.Creator<PositionWithTimestamp> CREATOR =
new Parcelable.Creator<PositionWithTimestamp>() {
public PositionWithTimestamp createFromParcel(Parcel parcel) {
return new PositionWithTimestamp(parcel.readInt(), parcel.readInt(), parcel.readInt(), parcel.readLong());
}
public PositionWithTimestamp[] newArray(int size) {
return new PositionWithTimestamp[size];
}
};
}