Refactor FileItem

- No longer Parcelable
- Add private constructor for the two public constructors
This commit is contained in:
Aditya-Sood 2019-08-12 17:34:24 +05:30
parent 72ccd4f7e3
commit 4b260e15ed

View File

@ -16,7 +16,7 @@ import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.Fil
*
* Defines a file-item to represent the files being transferred.
*/
public class FileItem implements Parcelable {
public class FileItem {
@Retention(RetentionPolicy.SOURCE)
@IntDef({ TO_BE_SENT, SENDING, SENT, ERROR })
@ -32,48 +32,19 @@ public class FileItem implements Parcelable {
private int fileStatus;
public FileItem(@NonNull Uri fileUri) { // For sender devices
this.fileUri = fileUri;
this.fileName = WifiDirectManager.getFileName(fileUri);
this.fileStatus = TO_BE_SENT;
this(fileUri, WifiDirectManager.getFileName(fileUri));
}
public FileItem(@NonNull String fileName) { // For receiver devices
this.fileUri = null;
this(null, fileName);
}
private FileItem(Uri fileUri, String fileName) {
this.fileUri = fileUri;
this.fileName = fileName;
this.fileStatus = TO_BE_SENT;
}
// For making FileItem a Parcelable
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeString(fileName);
dest.writeInt(fileStatus);
}
public static final Parcelable.Creator<FileItem> CREATOR
= new Parcelable.Creator<FileItem>() {
@Override
public FileItem createFromParcel(Parcel source) {
return (new FileItem(source));
}
@Override
public FileItem[] newArray(int size) {
return new FileItem[size];
}
};
public FileItem(@NonNull Parcel parcel) {
this.fileName = parcel.readString();
this.fileStatus = parcel.readInt();
}
// Helper methods
public void setFileStatus(@FileStatus int fileStatus) {
this.fileStatus = fileStatus;
@ -87,8 +58,7 @@ public class FileItem implements Parcelable {
return fileName;
}
@FileStatus
public int getFileStatus() {
public @FileStatus int getFileStatus() {
return fileStatus;
}
}