2020-07-01 17:08:28 +00:00
|
|
|
package awais.instagrabber.models;
|
|
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
|
|
import awais.instagrabber.models.enums.MediaItemType;
|
|
|
|
import awais.instagrabber.utils.Utils;
|
|
|
|
|
|
|
|
public abstract class BasePostModel implements Serializable {
|
|
|
|
protected String postId;
|
|
|
|
protected String displayUrl;
|
|
|
|
protected String shortCode;
|
|
|
|
protected CharSequence postCaption;
|
|
|
|
protected MediaItemType itemType;
|
|
|
|
protected boolean isSelected;
|
|
|
|
protected boolean isDownloaded;
|
|
|
|
protected long timestamp;
|
|
|
|
protected int position;
|
2020-07-23 16:00:09 +00:00
|
|
|
boolean liked, bookmarked;
|
2020-07-26 22:23:24 +00:00
|
|
|
long likes;
|
2020-07-23 16:00:09 +00:00
|
|
|
|
|
|
|
public boolean getLike() {
|
|
|
|
return liked;
|
|
|
|
}
|
2020-07-26 22:23:24 +00:00
|
|
|
public long getLikes() {
|
|
|
|
return likes;
|
|
|
|
}
|
2020-07-23 16:00:09 +00:00
|
|
|
public boolean getBookmark() {
|
|
|
|
return bookmarked;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean setLike(final boolean like) {
|
2020-07-24 18:33:10 +00:00
|
|
|
liked = like; return liked;
|
2020-07-23 16:00:09 +00:00
|
|
|
}
|
2020-07-26 22:23:24 +00:00
|
|
|
|
|
|
|
// setManualLike means user liked from InstaGrabber
|
|
|
|
public boolean setManualLike(final boolean like) {
|
|
|
|
liked = like;
|
|
|
|
likes = (like) ? (likes + 1) : (likes - 1);
|
|
|
|
return liked;
|
|
|
|
}
|
|
|
|
|
2020-07-23 16:00:09 +00:00
|
|
|
public boolean setBookmark(final boolean bookmark) {
|
2020-07-24 18:33:10 +00:00
|
|
|
bookmarked = bookmark; return bookmarked;
|
2020-07-23 16:00:09 +00:00
|
|
|
}
|
2020-07-01 17:08:28 +00:00
|
|
|
|
|
|
|
public MediaItemType getItemType() {
|
|
|
|
return itemType;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final String getPostId() {
|
|
|
|
return postId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final String getDisplayUrl() {
|
|
|
|
return displayUrl;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final CharSequence getPostCaption() {
|
|
|
|
return postCaption;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final String getShortCode() {
|
|
|
|
return shortCode;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final long getTimestamp() {
|
|
|
|
return timestamp;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getPosition() {
|
|
|
|
return this.position;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isSelected() {
|
|
|
|
return isSelected;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isDownloaded() {
|
|
|
|
return isDownloaded;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setItemType(final MediaItemType itemType) {
|
|
|
|
this.itemType = itemType;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setPostId(final String postId) {
|
|
|
|
this.postId = postId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setPosition(final int position) {
|
|
|
|
this.position = position;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setSelected(final boolean selected) {
|
|
|
|
this.isSelected = selected;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setDownloaded(final boolean downloaded) {
|
|
|
|
isDownloaded = downloaded;
|
|
|
|
}
|
|
|
|
|
|
|
|
@NonNull
|
|
|
|
public final String getPostDate() {
|
|
|
|
return Utils.datetimeParser.format(new Date(timestamp * 1000L));
|
|
|
|
}
|
|
|
|
}
|