package net.hockeyapp.android.objects;
import net.hockeyapp.android.Constants;
import java.io.File;
import java.io.FilenameFilter;
import java.io.Serializable;
/**
* <h3>Description</h3>
*
* Model for feedback attachments.
*
*/
public class FeedbackAttachment implements Serializable {
private static final long serialVersionUID = 5059651319640956830L;
private int mId;
private int mMessageId;
private String mFilename;
private String mUrl;
private String mCreatedAt;
private String mUpdatedAt;
public int getId() {
return mId;
}
public void setId(int id) {
this.mId = id;
}
public int getMessageId() {
return mMessageId;
}
public void setMessageId(int messageId) {
this.mMessageId = messageId;
}
public String getFilename() {
return mFilename;
}
public void setFilename(String filename) {
this.mFilename = filename;
}
public String getUrl() {
return mUrl;
}
public void setUrl(String url) {
this.mUrl = url;
}
public String getCreatedAt() {
return mCreatedAt;
}
public void setCreatedAt(String createdAt) {
this.mCreatedAt = createdAt;
}
public String getUpdatedAt() {
return mUpdatedAt;
}
public void setUpdatedAt(String updatedAt) {
this.mUpdatedAt = updatedAt;
}
/**
* Returns the attachment's filename that identifies it in the cache.
*
* @return the filename in the cache.
*/
public String getCacheId() {
return "" + mMessageId + mId;
}
/**
* Checks if attachment has already been downloaded.
*
* @return true if available, false if not.
*/
public boolean isAvailableInCache() {
File folder = Constants.getHockeyAppStorageDir();
if (folder.exists() && folder.isDirectory()) {
File[] match = folder.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
return filename.equals(getCacheId());
}
});
return match != null && match.length == 1;
} else return false;
}
@Override
public String toString() {
return "\n" + FeedbackAttachment.class.getSimpleName()
+ "\n" + "id " + mId
+ "\n" + "message id " + mMessageId
+ "\n" + "filename " + mFilename
+ "\n" + "url " + mUrl
+ "\n" + "createdAt " + mCreatedAt
+ "\n" + "updatedAt " + mUpdatedAt
;
}
}