blob: 0ef8cc650fdd2c37eccd7c1c2ce276678e1467f8 [file] [log] [blame]
package org.wordpress.android.models;
import org.json.JSONException;
import org.json.JSONObject;
import org.wordpress.android.WordPress;
public class Theme {
public static final String ID = "id";
public static final String AUTHOR = "author";
public static final String SCREENSHOT = "screenshot";
public static final String AUTHOR_URI = "author_uri";
public static final String DEMO_URI = "demo_uri";
public static final String NAME = "name";
public static final String STYLESHEET = "stylesheet";
public static final String PRICE = "price";
public static final String BLOG_ID = "blogId";
public static final String IS_CURRENT = "isCurrent";
public static final String PREVIEW_URL = "preview_url";
public static final String COST = "cost";
public static final String DISPLAY = "display";
private String mId;
private String mAuthor;
private String mScreenshot;
private String mAuthorURI;
private String mDemoURI;
private String mName;
private String mStylesheet;
private String mPrice;
private String mBlogId;
private boolean mIsCurrent;
public static Theme fromJSONV1_1(JSONObject object) throws JSONException {
if (object == null) {
return null;
} else {
String id = object.getString(ID);
String author = "";
String screenshot = object.getString(SCREENSHOT);
String authorURI = "";
String demoURI = object.getString(PREVIEW_URL);
String name = object.getString(NAME);
String stylesheet = "";
String price;
try {
JSONObject cost = object.getJSONObject(COST);
price = cost.getString(DISPLAY);
} catch (JSONException e) {
price = "";
}
String blogId = String.valueOf(WordPress.getCurrentBlog().getRemoteBlogId());
return new Theme(id, author, screenshot, authorURI, demoURI, name, stylesheet, price, blogId, false);
}
}
public static Theme fromJSONV1_2(JSONObject object) throws JSONException {
if (object == null) {
return null;
} else {
String id = object.getString(ID);
String author = object.getString(AUTHOR);
String screenshot = object.getString(SCREENSHOT);
String authorURI = object.getString(AUTHOR_URI);
String demoURI = object.getString(DEMO_URI);
String name = object.getString(NAME);
String stylesheet = object.getString(STYLESHEET);
String price;
try {
price = object.getString(PRICE);
} catch (JSONException e) {
price = "";
}
String blogId = String.valueOf(WordPress.getCurrentBlog().getRemoteBlogId());
return new Theme(id, author, screenshot, authorURI, demoURI, name, stylesheet, price, blogId, false);
}
}
public Theme(String id, String author, String screenshot, String authorURI, String demoURI, String name, String stylesheet, String price, String blogId, boolean isCurrent) {
setId(id);
setAuthor(author);
setScreenshot(screenshot);
setAuthorURI(authorURI);
setDemoURI(demoURI);
setName(name);
setStylesheet(stylesheet);
setPrice(price);
setBlogId(blogId);
setIsCurrent(isCurrent);
}
public void setId(String id) {
mId = id;
}
public String getId() {
return mId;
}
public void setAuthor(String author) {
mAuthor = author;
}
public String getAuthor() {
return mAuthor;
}
public String getScreenshot() {
return mScreenshot;
}
public void setScreenshot(String mScreenshot) {
this.mScreenshot = mScreenshot;
}
public String getAuthorURI() {
return mAuthorURI;
}
public void setAuthorURI(String mAuthorURI) {
this.mAuthorURI = mAuthorURI;
}
public String getDemoURI() {
return mDemoURI;
}
public void setDemoURI(String mDemoURI) {
this.mDemoURI = mDemoURI;
}
public String getName() {
return mName;
}
public void setName(String mName) {
this.mName = mName;
}
public String getStylesheet() {
return mStylesheet;
}
public void setStylesheet(String mStylesheet) {
this.mStylesheet = mStylesheet;
}
public String getPrice() {
return mPrice;
}
public void setPrice(String mPrice) {
this.mPrice = mPrice;
}
public String getBlogId() {
return mBlogId;
}
public void setBlogId(String blogId) {
mBlogId = blogId;
}
public boolean getIsCurrent() {
return mIsCurrent;
}
public void setIsCurrent(boolean isCurrent) {
mIsCurrent = isCurrent;
}
public boolean isPremium() {
return !mPrice.equals("");
}
public void save() {
WordPress.wpDB.saveTheme(this);
}
}