package de.bsd.zwitscher;
import java.io.Serializable;
import android.os.Parcel;
import android.os.Parcelable;
import android.view.View;
import twitter4j.Status;
import twitter4j.StatusUpdate;
/**
* A request that is given to the {@link UpdateStatusService}
*
* @author Heiko W. Rupp
*/
public class UpdateRequest implements Parcelable, Serializable {
UpdateType updateType;
String message;
public long id;
public StatusUpdate statusUpdate;
public Status status;
String picturePath;
transient View view; // Don't serialize
public String url; // for external apps
public String extUser; // for external apps
public String extPassword; // for external apps
public long userId;
boolean someBool;
public UpdateRequest(UpdateType updateType) {
this.updateType = updateType;
}
public UpdateRequest(Parcel parcel) {
updateType = UpdateType.valueOf(parcel.readString());
message = parcel.readString();
id = parcel.readLong();
statusUpdate = (StatusUpdate) parcel.readValue(ClassLoader.getSystemClassLoader());
status = (Status) parcel.readValue(ClassLoader.getSystemClassLoader());
picturePath = parcel.readString();
url = parcel.readString();
extUser = parcel.readString();
extPassword = parcel.readString();
userId = parcel.readLong();
someBool = parcel.readInt()==1;
}
public UpdateType getUpdateType() {
return updateType;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(updateType.name());
dest.writeString(message);
dest.writeLong(id);
dest.writeValue(statusUpdate);
dest.writeValue(status);
dest.writeString(picturePath);
dest.writeString(url);
dest.writeString(extUser);
dest.writeString(extPassword);
dest.writeLong(userId);
dest.writeInt(someBool ? 1: 0);
}
@Override
public int describeContents() {
return 0; // Autogenerated
}
public static Creator<UpdateRequest> CREATOR = new Creator<UpdateRequest>() {
@Override
public UpdateRequest createFromParcel(Parcel source) {
return new UpdateRequest(source);
}
@Override
public UpdateRequest[] newArray(int size) {
return new UpdateRequest[size];
}
};
}