package com.cellasoft.univrapp.model;
import android.net.Uri;
import android.provider.BaseColumns;
import com.cellasoft.univrapp.manager.ContentManager;
import com.cellasoft.univrapp.provider.Provider;
import java.util.List;
public class Image implements ActionSupport {
public static final byte MAX_RETRIES = 3;
public static final byte IMAGE_STATUS_PENDING = -1;
public static final byte IMAGE_STATUS_QUEUED = 0;
public static final byte IMAGE_STATUS_DOWNLOADING = 1;
public static final byte IMAGE_STATUS_DOWNLOADED = 2;
public static final byte IMAGE_STATUS_FAILED = 3;
public static final byte IMAGE_STATUS_DELETED = 4;
public int id;
public String url;
public byte status;
public byte retries = 0;
public long updateTime = 0;
public Image(String url, byte status) {
this(0, url, status);
}
public Image(int id, String url, byte status) {
this.id = id;
this.url = url;
this.status = status;
}
public void increaseRetries() {
this.retries += 1;
}
@Override
public boolean save() {
return ContentManager.saveImage(this);
}
@Override
public void delete() {
ContentManager.deleteImage(this);
}
@Override
public boolean exist() {
return ContentManager.existImage(this);
}
public static final class Images implements BaseColumns {
public static final Uri CONTENT_URI = Uri.parse("content://"
+ Provider.AUTHORITY + "/images");
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.cellasoft.univrapp.provider.images";
public static final String ID = "ID";
public static final String URL = "URL";
public static final String STATUS = "STATUS";
public static final String RETRIES = "RETRIES";
public static final String UPDATE_TIME = "UPDATE_TIME";
public static final String COUNT = "COUNT(*)";
private Images() {
}
public static final Uri limit(int limit) {
return Uri.parse("content://" + Provider.AUTHORITY + "/images/"
+ limit);
}
public static List<Image> loadAllQueuedImages() {
return ContentManager.loadAllQueuedImages();
}
}
}