Moved Media and Contributions to be Parcelable

This commit is contained in:
YuviPanda 2013-02-21 21:04:45 +05:30
parent 9476ec6484
commit de39502292
2 changed files with 54 additions and 5 deletions

View file

@ -1,12 +1,14 @@
package org.wikimedia.commons;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
import org.wikimedia.commons.contributions.Contribution;
import java.io.Serializable;
import java.util.Date;
public class Media implements Serializable {
public class Media implements Parcelable {
protected Media() {
}
@ -70,4 +72,30 @@ public class Media implements Serializable {
this.dateUploaded = dateUploaded;
this.creator = creator;
}
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeParcelable(localUri, flags);
parcel.writeString(imageUrl);
parcel.writeString(filename);
parcel.writeString(description);
parcel.writeLong(dataLength);
parcel.writeSerializable(dateCreated);
parcel.writeSerializable(dateUploaded);
parcel.writeString(creator);
}
public Media(Parcel in) {
localUri = (Uri)in.readParcelable(Uri.class.getClassLoader());
imageUrl = in.readString();
filename = in.readString();
description = in.readString();
dataLength = in.readLong();
dateCreated = (Date) in.readSerializable();
dateUploaded = (Date) in.readSerializable();
creator = in.readString();
}
}

View file

@ -8,6 +8,7 @@ import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.*;
import android.os.Parcel;
import android.os.RemoteException;
import android.text.TextUtils;
import org.wikimedia.commons.CommonsApplication;
@ -29,9 +30,33 @@ public class Contribution extends Media {
private ContentProviderClient client;
private Uri contentUri;
private String source;
private String editSummary;
private Date timestamp;
private int state;
private long transferred;
public EventLog.LogBuilder event;
@Override
public void writeToParcel(Parcel parcel, int flags) {
super.writeToParcel(parcel, flags);
parcel.writeParcelable(contentUri, flags);
parcel.writeString(source);
parcel.writeSerializable(timestamp);
parcel.writeInt(state);
parcel.writeLong(transferred);
}
public Contribution(Parcel in) {
super(in);
contentUri = (Uri)in.readParcelable(Uri.class.getClassLoader());
source = in.readString();
timestamp = (Date) in.readSerializable();
state = in.readInt();
transferred = in.readLong();
}
public long getTransferred() {
return transferred;
}
@ -40,7 +65,6 @@ public class Contribution extends Media {
this.transferred = transferred;
}
private long transferred;
public String getEditSummary() {
return editSummary != null ? editSummary : CommonsApplication.DEFAULT_EDIT_SUMMARY;
@ -49,14 +73,11 @@ public class Contribution extends Media {
public Uri getContentUri() {
return contentUri;
}
private String editSummary;
public Date getTimestamp() {
return timestamp;
}
private Date timestamp;
private int state;
public Contribution(Uri localUri, String remoteUri, String filename, String description, long dataLength, Date dateCreated, Date dateUploaded, String creator, String editSummary) {
super(localUri, remoteUri, filename, description, dataLength, dateCreated, dateUploaded, creator);