From 09212abe11d2ffba772cac46578e92c6607f8f69 Mon Sep 17 00:00:00 2001 From: Aagam Shah Date: Tue, 18 Jul 2017 00:12:57 +0530 Subject: [PATCH] Add initial changes for v2 API support #72 --- .../org/wordcamp/android/BaseActivity.java | 14 +- .../android/WordCampDetailActivity.java | 19 +- .../android/adapters/SessionsListAdapter.java | 7 +- .../android/adapters/WCListAdapter.java | 7 +- .../wordcamp/android/db/DBCommunicator.java | 81 +-- .../android/networking/WPAPIClient.java | 30 +- .../wordcamp/android/objects/WordCampDB.java | 33 +- .../android/objects/wordcamp/Author.java | 252 --------- .../android/objects/wordcamp/Links.java | 49 -- .../android/objects/wordcamp/Links_.java | 111 ---- .../android/objects/wordcamp/Meta.java | 30 - .../android/objects/wordcamp/Meta_.java | 30 - .../android/objects/wordcamp/PostMetum.java | 70 --- .../android/objects/wordcamp/WordCampNew.java | 521 ------------------ .../objects/wordcampv2/AvatarUrls.java | 43 ++ .../android/objects/wordcampv2/Content.java | 21 + .../android/objects/wordcampv2/Embedded.java | 33 ++ .../android/objects/wordcampv2/Meta.java | 54 ++ .../android/objects/wordcampv2/SessionV2.java | 199 +++++++ .../android/objects/wordcampv2/Speaker.java | 221 ++++++++ .../android/objects/wordcampv2/Title.java | 21 + .../android/objects/wordcampv2/WordCamp.java | 394 +++++++++++++ .../android/objects/wordcampv2/WpTerm.java | 65 +++ .../wordcamp/android/utils/WCConstants.java | 10 + .../wordcamp/android/utils/WordCampUtils.java | 33 +- .../wcdetails/SessionDetailsActivity.java | 14 +- .../wcdetails/SpeakerDetailsActivity.java | 6 +- 27 files changed, 1158 insertions(+), 1210 deletions(-) delete mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcamp/Author.java delete mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcamp/Links.java delete mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcamp/Links_.java delete mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcamp/Meta.java delete mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcamp/Meta_.java delete mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcamp/PostMetum.java delete mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcamp/WordCampNew.java create mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcampv2/AvatarUrls.java create mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcampv2/Content.java create mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcampv2/Embedded.java create mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcampv2/Meta.java create mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcampv2/SessionV2.java create mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcampv2/Speaker.java create mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcampv2/Title.java create mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcampv2/WordCamp.java create mode 100644 app/src/main/java/org/wordcamp/android/objects/wordcampv2/WpTerm.java create mode 100644 app/src/main/java/org/wordcamp/android/utils/WCConstants.java diff --git a/app/src/main/java/org/wordcamp/android/BaseActivity.java b/app/src/main/java/org/wordcamp/android/BaseActivity.java index b8e0d18..70c4ce5 100644 --- a/app/src/main/java/org/wordcamp/android/BaseActivity.java +++ b/app/src/main/java/org/wordcamp/android/BaseActivity.java @@ -26,9 +26,8 @@ import org.wordcamp.android.networking.ResponseListener; import org.wordcamp.android.networking.WPAPIClient; import org.wordcamp.android.objects.WordCampDB; -import org.wordcamp.android.objects.wordcamp.WordCampNew; +import org.wordcamp.android.objects.wordcampv2.WordCamp; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -197,19 +196,20 @@ public void onErrorResponse(VolleyError error) { public void onResponseReceived(Object o) { try { wordCampsList = new ArrayList<>(); - WordCampNew[] wordCampNews = (WordCampNew[]) o; - for (WordCampNew wordcamp : wordCampNews) { + WordCamp[] wordCamps = (WordCamp[]) o; + for (WordCamp wordCamp : wordCamps) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.getDefault()); - Date d = sdf.parse(wordcamp.getModifiedGmt()); - WordCampDB wordCampDB = new WordCampDB(wordcamp, d.toString()); + Date d = sdf.parse(wordCamp.getModifiedGmt()); + WordCampDB wordCampDB = new WordCampDB(wordCamp, d.toString()); if (!wordCampDB.getWc_start_date().isEmpty()) { wordCampsList.add(wordCampDB); } } + communicator.addAllNewWC(wordCampsList); refreshAllFragmentsData(); stopRefresh(); - } catch (ParseException e) { + } catch (Exception e) { e.printStackTrace(); stopRefresh(); } diff --git a/app/src/main/java/org/wordcamp/android/WordCampDetailActivity.java b/app/src/main/java/org/wordcamp/android/WordCampDetailActivity.java index 8a4fe9b..22540af 100644 --- a/app/src/main/java/org/wordcamp/android/WordCampDetailActivity.java +++ b/app/src/main/java/org/wordcamp/android/WordCampDetailActivity.java @@ -8,6 +8,7 @@ import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; +import android.text.Html; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; @@ -21,9 +22,9 @@ import org.wordcamp.android.networking.ResponseListener; import org.wordcamp.android.networking.WPAPIClient; import org.wordcamp.android.objects.WordCampDB; -import org.wordcamp.android.objects.speaker.Session; -import org.wordcamp.android.objects.speaker.SpeakerNew; -import org.wordcamp.android.objects.wordcamp.WordCampNew; +import org.wordcamp.android.objects.wordcampv2.SessionV2; +import org.wordcamp.android.objects.wordcampv2.Speaker; +import org.wordcamp.android.objects.wordcampv2.WordCamp; import org.wordcamp.android.wcdetails.MySessionsActivity; import org.wordcamp.android.wcdetails.SessionsFragment; import org.wordcamp.android.wcdetails.SpeakerFragment; @@ -48,7 +49,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initListener(); wcdb = (WordCampDB) getIntent().getSerializableExtra("wc"); - wcid = wcdb.getWc_id(); + wcid = (int) wcdb.getWc_id(); setContentView(R.layout.activity_wordcamp_detail); communicator = new DBCommunicator(this); communicator.start(); @@ -79,7 +80,7 @@ private void initGUI() { } private void setToolbar() { - toolbar.setTitle(wcdb.getWc_title()); + toolbar.setTitle(Html.fromHtml(wcdb.getWc_title())); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @@ -236,7 +237,7 @@ public void onErrorResponse(VolleyError error) { @Override public void onResponseReceived(Object o) { - SpeakerNew[] speakerNews = (SpeakerNew[]) o; + Speaker[] speakerNews = (Speaker[]) o; for (int i = 0; i < speakerNews.length; i++) { try { @@ -288,8 +289,8 @@ public void onErrorResponse(VolleyError error) { scheduleResponseListener = new ResponseListener() { @Override public void onResponseReceived(Object o) { - Session[] sessions = (Session[]) o; - for (Session session : sessions) { + SessionV2[] sessions = (SessionV2[]) o; + for (SessionV2 session : sessions) { communicator.addSession(session, wcid); } Toast.makeText(getApplicationContext(), getString(R.string.update_sessions_toast), Toast.LENGTH_SHORT).show(); @@ -303,7 +304,7 @@ public void onResponseReceived(Object o) { wcResponseListener = new ResponseListener() { @Override public void onResponseReceived(Object o) { - WordCampNew wordCamp = (WordCampNew) o; + WordCamp wordCamp = (WordCamp) o; WordCampDB wordCampDB = new WordCampDB(wordCamp, ""); communicator.updateWC(wordCampDB); WordCampOverview overview = getOverViewFragment(); diff --git a/app/src/main/java/org/wordcamp/android/adapters/SessionsListAdapter.java b/app/src/main/java/org/wordcamp/android/adapters/SessionsListAdapter.java index 12dd876..4d86ec1 100644 --- a/app/src/main/java/org/wordcamp/android/adapters/SessionsListAdapter.java +++ b/app/src/main/java/org/wordcamp/android/adapters/SessionsListAdapter.java @@ -27,7 +27,6 @@ public class SessionsListAdapter extends BaseAdapter implements StickyListHeader private Context ctx; private LayoutInflater inflater; private OnAddToMySessionListener listener; - private int singleLineSize, doubleLineSize; public SessionsListAdapter(Context ctx, List dbList, HashMap speakersForSession, OnAddToMySessionListener listener) { this.ctx = ctx; @@ -35,8 +34,6 @@ public SessionsListAdapter(Context ctx, List dbList, HashMap 0) - addSessionFromSpeaker(sk.getSessions(), sk.getID(), wcid); + if (sk.getEmbedded().getSessions().size() > 0) + addSessionFromSpeaker(sk.getEmbedded().getSessions(), sk.getId(), wcid); return id; } - private void addSessionFromSpeaker(List sessions, int spid, int wcid) { + private void addSessionFromSpeaker(List sessions, long spid, int wcid) { for (int i = 0; i < sessions.size(); i++) { - Session ss = sessions.get(i); - - /*HashMap map = WordCampUtils.getTimeAndTypeSession(ss); - - ContentValues contentValues = new ContentValues(); - contentValues.put("wcid", wcid); - contentValues.put("title", ss.getTitle()); - - contentValues.put("time", map.get("_wcpt_session_time")); - - contentValues.put("postid", ss.getID()); - if (ss.getTerms()!=null && ss.getTerms().getWcbTrack().size() == 1) - contentValues.put("location", ss.getTerms().getWcbTrack().get(0).getName()); - - contentValues.put("category", map.get("_wcpt_session_type")); - contentValues.put("gsonobject", gson.toJson(ss)); - - long id = db.insertWithOnConflict("session", null, contentValues, SQLiteDatabase.CONFLICT_IGNORE); - - if (id == -1) { - contentValues.remove("wcid"); - contentValues.remove("postid"); - id = db.update("session", contentValues, " wcid = ? AND postid = ?", - new String[]{String.valueOf(wcid), String.valueOf(ss.getID())}); - }*/ - mapSessionToSingleSpeaker(wcid, ss.getID(), spid); + SessionV2 ss = sessions.get(i); + mapSessionToSingleSpeaker(wcid, ss.getId(), spid); } } - private void mapSessionToSingleSpeaker(int wcid, int sid, int spid) { + private void mapSessionToSingleSpeaker(int wcid, long sid, long spid) { ContentValues values = new ContentValues(); values.put("wcid", wcid); values.put("sessionid", sid); values.put("speakerid", spid); - long id = db.insertWithOnConflict("speakersessions", null, values, SQLiteDatabase.CONFLICT_REPLACE); + db.insertWithOnConflict("speakersessions", null, values, SQLiteDatabase.CONFLICT_REPLACE); } - public long addSession(org.wordcamp.android.objects.speaker.Session ss, int wcid) { + public long addSession(SessionV2 ss, int wcid) { ContentValues contentValues = new ContentValues(); contentValues.put("wcid", wcid); - contentValues.put("title", ss.getTitle()); - HashMap map = WordCampUtils.getTimeAndTypeSession(ss); + contentValues.put("title", ss.getTitle().getRendered()); //Currently we are adding the sessions which are not getting fetched by Speakers API - contentValues.put("time", map.get("_wcpt_session_time")); + contentValues.put("time", ss.getMeta().getWcptSessionTime()); - contentValues.put("postid", ss.getID()); - if (ss.getTerms() != null && ss.getTerms().getWcbTrack().size() == 1) - contentValues.put("location", ss.getTerms().getWcbTrack().get(0).getName()); + contentValues.put("postid", ss.getId()); + if (ss.getEmbedded().getWpTerm() != null && ss.getEmbedded().getWpTerm().size() > 0 + && ss.getEmbedded().getWpTerm().get(ss.getEmbedded().getWpTerm().size()-1).size() > 0) + contentValues.put("location", ss.getEmbedded().getWpTerm().get(ss.getEmbedded().getWpTerm().size()-1).get(0).getName()); - contentValues.put("category", map.get("_wcpt_session_type")); + contentValues.put("category", ss.getMeta().getWcptSessionType()); contentValues.put("gsonobject", gson.toJson(ss)); long id = db.insertWithOnConflict("session", null, contentValues, SQLiteDatabase.CONFLICT_IGNORE); @@ -215,7 +194,7 @@ public long addSession(org.wordcamp.android.objects.speaker.Session ss, int wcid contentValues.remove("wcid"); contentValues.remove("postid"); id = db.update("session", contentValues, " wcid = ? AND postid = ?", - new String[]{String.valueOf(wcid), String.valueOf(ss.getID())}); + new String[]{String.valueOf(wcid), String.valueOf(ss.getId())}); } return id; diff --git a/app/src/main/java/org/wordcamp/android/networking/WPAPIClient.java b/app/src/main/java/org/wordcamp/android/networking/WPAPIClient.java index 4f7e1c3..2959edb 100644 --- a/app/src/main/java/org/wordcamp/android/networking/WPAPIClient.java +++ b/app/src/main/java/org/wordcamp/android/networking/WPAPIClient.java @@ -6,22 +6,22 @@ import org.wordcamp.android.BuildConfig; import org.wordcamp.android.WordCampApplication; -import org.wordcamp.android.objects.speaker.Session; -import org.wordcamp.android.objects.speaker.SpeakerNew; -import org.wordcamp.android.objects.wordcamp.WordCampNew; +import org.wordcamp.android.objects.wordcampv2.SessionV2; +import org.wordcamp.android.objects.wordcampv2.Speaker; +import org.wordcamp.android.objects.wordcampv2.WordCamp; /** * Created by aagam on 14/1/15. */ public class WPAPIClient { - private static final String QUERY_PARAM_SPEAKERS = "wp-json/posts?type=wcb_speaker&filter[posts_per_page]=100"; + private static final String QUERY_PARAM_SPEAKERS_V2 = "wp-json/wp/v2/speakers?per_page=100&_embed=true&status=publish"; - private static final String QUERY_PARAM_WORDCAMP_LIST = "wp-json/posts?type=wordcamp&filter[order]=DESC&filter[posts_per_page]=50"; + private static final String QUERY_PARAM_WORDCAMP_LIST_V2 = "wp-json/wp/v2/wordcamps?per_page=100&status=wcpt-scheduled"; - private static final String QUERY_PARAM_SCHEDULE = "wp-json/posts?type=wcb_session&filter[order]=DESC&filter[orderby]=modified&filter[posts_per_page]=100"; + private static final String QUERY_PARAM_SCHEDULE_V2 = "wp-json/wp/v2/sessions?per_page=100&_embed=true&status=publish"; - private static final String QUERY_PARAM_SINGLEWC = "wp-json/posts/"; + private static final String QUERY_PARAM_SINGLEWC_V2 = "wp-json/wp/v2/wordcamps/"; private static String normalizeWordCampUrl(String wordcampURL) { if (!wordcampURL.endsWith("/")) { @@ -32,8 +32,8 @@ private static String normalizeWordCampUrl(String wordcampURL) { public static void getAllWCs(Context context, Response.ErrorListener errorListener, ResponseListener responseListener){ - WCRequest request = new WCRequest(BuildConfig.CENTRAL_WORDCAMP_URL + QUERY_PARAM_WORDCAMP_LIST, - WordCampNew[].class, errorListener, responseListener); + WCRequest request = new WCRequest(BuildConfig.CENTRAL_WORDCAMP_URL + QUERY_PARAM_WORDCAMP_LIST_V2, + WordCamp[].class, errorListener, responseListener); request.setTag(context); WordCampApplication.requestQueue.cancelAll(context); WordCampApplication.requestQueue.add(request); @@ -42,24 +42,24 @@ public static void getAllWCs(Context context, Response.ErrorListener errorListen public static void getWordCampSpeakersVolley(String wordcampURL, Context context, Response.ErrorListener errorListener, ResponseListener responseListener){ - WCRequest request = new WCRequest(normalizeWordCampUrl(wordcampURL) + QUERY_PARAM_SPEAKERS, - SpeakerNew[].class, errorListener, responseListener); + WCRequest request = new WCRequest(normalizeWordCampUrl(wordcampURL) + QUERY_PARAM_SPEAKERS_V2, + Speaker[].class, errorListener, responseListener); request.setTag(context); WordCampApplication.requestQueue.add(request); } public static void getWordCampScheduleVolley(String wordcampURL, Context context, Response.ErrorListener errorListener, ResponseListener responseListener){ - WCRequest request = new WCRequest(normalizeWordCampUrl(wordcampURL) + QUERY_PARAM_SCHEDULE, - Session[].class, errorListener, responseListener); + WCRequest request = new WCRequest(normalizeWordCampUrl(wordcampURL) + QUERY_PARAM_SCHEDULE_V2, + SessionV2[].class, errorListener, responseListener); request.setTag(context); WordCampApplication.requestQueue.add(request); } public static void getSingleWCVolley(int wcid, Context context, Response.ErrorListener errorListener, ResponseListener responseListener){ - WCRequest request = new WCRequest(BuildConfig.CENTRAL_WORDCAMP_URL + QUERY_PARAM_SINGLEWC + wcid, - WordCampNew.class, errorListener, responseListener); + WCRequest request = new WCRequest(BuildConfig.CENTRAL_WORDCAMP_URL + QUERY_PARAM_SINGLEWC_V2 + wcid, + WordCamp.class, errorListener, responseListener); request.setTag(context); WordCampApplication.requestQueue.add(request); } diff --git a/app/src/main/java/org/wordcamp/android/objects/WordCampDB.java b/app/src/main/java/org/wordcamp/android/objects/WordCampDB.java index 3d3917e..ec0bb3b 100644 --- a/app/src/main/java/org/wordcamp/android/objects/WordCampDB.java +++ b/app/src/main/java/org/wordcamp/android/objects/WordCampDB.java @@ -2,18 +2,16 @@ import com.google.gson.Gson; -import org.wordcamp.android.objects.wordcamp.WordCampNew; -import org.wordcamp.android.utils.WordCampUtils; +import org.wordcamp.android.objects.wordcampv2.WordCamp; import java.io.Serializable; -import java.util.HashMap; /** * Created by aagam on 28/1/15. */ public class WordCampDB implements Serializable { - private int wc_id; + private long wc_id; private String wc_title; private String wc_start_date; private String wc_end_date; @@ -49,22 +47,21 @@ public WordCampDB(int wc_id, String wc_title, String wc_start_date, String wc_en this.about = about; } - public WordCampDB(WordCampNew wcs, String lastscanned) { + public WordCampDB(WordCamp wcs, String lastscanned) { gson = new Gson(); - this.wc_id = wcs.getID(); - this.wc_title = wcs.getTitle(); + this.wc_id = wcs.getId(); + this.wc_title = wcs.getTitle().getRendered(); this.last_scanned_gmt = lastscanned; this.gson_object = gson.toJson(wcs); - HashMap urlAndTwitterAndDate = WordCampUtils.getTwitterAndUrl(wcs); - this.wc_start_date = urlAndTwitterAndDate.get("Start Date (YYYY-mm-dd)"); - this.wc_end_date = urlAndTwitterAndDate.get("End Date (YYYY-mm-dd)"); - this.url = urlAndTwitterAndDate.get("URL"); - this.twitter = urlAndTwitterAndDate.get("WordCamp Hashtag"); - this.address = urlAndTwitterAndDate.get("Physical Address"); - this.venue = urlAndTwitterAndDate.get("Venue Name"); - this.location = urlAndTwitterAndDate.get("Location"); - this.about = wcs.getContent(); + this.wc_start_date = wcs.getStartDateYYYYMmDd(); + this.wc_end_date = wcs.getEndDateYYYYMmDd(); + this.url = wcs.getURL(); + this.twitter = wcs.getTwitter(); + this.address = wcs.getPhysicalAddress(); + this.venue = wcs.getVenueName(); + this.location = wcs.getLocation(); + this.about = wcs.getContent().getRendered(); } public String getFeatureImageUrl() { @@ -83,11 +80,11 @@ public void setUrl(String url) { this.url = url; } - public int getWc_id() { + public long getWc_id() { return wc_id; } - public void setWc_id(int wc_id) { + public void setWc_id(long wc_id) { this.wc_id = wc_id; } diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Author.java b/app/src/main/java/org/wordcamp/android/objects/wordcamp/Author.java deleted file mode 100644 index cb30bfd..0000000 --- a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Author.java +++ /dev/null @@ -1,252 +0,0 @@ - -package org.wordcamp.android.objects.wordcamp; - -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -public class Author { - - @Expose - private Integer ID; - @Expose - private String username; - @Expose - private String name; - @SerializedName("first_name") - @Expose - private String firstName; - @SerializedName("last_name") - @Expose - private String lastName; - @Expose - private String nickname; - @Expose - private String slug; - @Expose - private String URL; - @Expose - private String avatar; - @Expose - private String description; - @Expose - private String registered; - @Expose - private Meta meta; - - /** - * - * @return - * The ID - */ - public Integer getID() { - return ID; - } - - /** - * - * @param ID - * The ID - */ - public void setID(Integer ID) { - this.ID = ID; - } - - /** - * - * @return - * The username - */ - public String getUsername() { - return username; - } - - /** - * - * @param username - * The username - */ - public void setUsername(String username) { - this.username = username; - } - - /** - * - * @return - * The name - */ - public String getName() { - return name; - } - - /** - * - * @param name - * The name - */ - public void setName(String name) { - this.name = name; - } - - /** - * - * @return - * The firstName - */ - public String getFirstName() { - return firstName; - } - - /** - * - * @param firstName - * The first_name - */ - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - /** - * - * @return - * The lastName - */ - public String getLastName() { - return lastName; - } - - /** - * - * @param lastName - * The last_name - */ - public void setLastName(String lastName) { - this.lastName = lastName; - } - - /** - * - * @return - * The nickname - */ - public String getNickname() { - return nickname; - } - - /** - * - * @param nickname - * The nickname - */ - public void setNickname(String nickname) { - this.nickname = nickname; - } - - /** - * - * @return - * The slug - */ - public String getSlug() { - return slug; - } - - /** - * - * @param slug - * The slug - */ - public void setSlug(String slug) { - this.slug = slug; - } - - /** - * - * @return - * The URL - */ - public String getURL() { - return URL; - } - - /** - * - * @param URL - * The URL - */ - public void setURL(String URL) { - this.URL = URL; - } - - /** - * - * @return - * The avatar - */ - public String getAvatar() { - return avatar; - } - - /** - * - * @param avatar - * The avatar - */ - public void setAvatar(String avatar) { - this.avatar = avatar; - } - - /** - * - * @return - * The description - */ - public String getDescription() { - return description; - } - - /** - * - * @param description - * The description - */ - public void setDescription(String description) { - this.description = description; - } - - /** - * - * @return - * The registered - */ - public String getRegistered() { - return registered; - } - - /** - * - * @param registered - * The registered - */ - public void setRegistered(String registered) { - this.registered = registered; - } - - /** - * - * @return - * The meta - */ - public Meta getMeta() { - return meta; - } - - /** - * - * @param meta - * The meta - */ - public void setMeta(Meta meta) { - this.meta = meta; - } - -} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Links.java b/app/src/main/java/org/wordcamp/android/objects/wordcamp/Links.java deleted file mode 100644 index 413c0b3..0000000 --- a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Links.java +++ /dev/null @@ -1,49 +0,0 @@ - -package org.wordcamp.android.objects.wordcamp; - -import com.google.gson.annotations.Expose; - -public class Links { - - @Expose - private String self; - @Expose - private String archives; - - /** - * - * @return - * The self - */ - public String getSelf() { - return self; - } - - /** - * - * @param self - * The self - */ - public void setSelf(String self) { - this.self = self; - } - - /** - * - * @return - * The archives - */ - public String getArchives() { - return archives; - } - - /** - * - * @param archives - * The archives - */ - public void setArchives(String archives) { - this.archives = archives; - } - -} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Links_.java b/app/src/main/java/org/wordcamp/android/objects/wordcamp/Links_.java deleted file mode 100644 index 81202ab..0000000 --- a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Links_.java +++ /dev/null @@ -1,111 +0,0 @@ - -package org.wordcamp.android.objects.wordcamp; - -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -public class Links_ { - - @Expose - private String self; - @Expose - private String author; - @Expose - private String collection; - @Expose - private String replies; - @SerializedName("version-history") - @Expose - private String versionHistory; - - /** - * - * @return - * The self - */ - public String getSelf() { - return self; - } - - /** - * - * @param self - * The self - */ - public void setSelf(String self) { - this.self = self; - } - - /** - * - * @return - * The author - */ - public String getAuthor() { - return author; - } - - /** - * - * @param author - * The author - */ - public void setAuthor(String author) { - this.author = author; - } - - /** - * - * @return - * The collection - */ - public String getCollection() { - return collection; - } - - /** - * - * @param collection - * The collection - */ - public void setCollection(String collection) { - this.collection = collection; - } - - /** - * - * @return - * The replies - */ - public String getReplies() { - return replies; - } - - /** - * - * @param replies - * The replies - */ - public void setReplies(String replies) { - this.replies = replies; - } - - /** - * - * @return - * The versionHistory - */ - public String getVersionHistory() { - return versionHistory; - } - - /** - * - * @param versionHistory - * The version-history - */ - public void setVersionHistory(String versionHistory) { - this.versionHistory = versionHistory; - } - -} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Meta.java b/app/src/main/java/org/wordcamp/android/objects/wordcamp/Meta.java deleted file mode 100644 index 72cad23..0000000 --- a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Meta.java +++ /dev/null @@ -1,30 +0,0 @@ - -package org.wordcamp.android.objects.wordcamp; - -import com.google.gson.annotations.Expose; - - -public class Meta { - - @Expose - private Links links; - - /** - * - * @return - * The links - */ - public Links getLinks() { - return links; - } - - /** - * - * @param links - * The links - */ - public void setLinks(Links links) { - this.links = links; - } - -} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Meta_.java b/app/src/main/java/org/wordcamp/android/objects/wordcamp/Meta_.java deleted file mode 100644 index 9671588..0000000 --- a/app/src/main/java/org/wordcamp/android/objects/wordcamp/Meta_.java +++ /dev/null @@ -1,30 +0,0 @@ - -package org.wordcamp.android.objects.wordcamp; - -import com.google.gson.annotations.Expose; - - -public class Meta_ { - - @Expose - private Links_ links; - - /** - * - * @return - * The links - */ - public Links_ getLinks() { - return links; - } - - /** - * - * @param links - * The links - */ - public void setLinks(Links_ links) { - this.links = links; - } - -} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcamp/PostMetum.java b/app/src/main/java/org/wordcamp/android/objects/wordcamp/PostMetum.java deleted file mode 100644 index 1190e80..0000000 --- a/app/src/main/java/org/wordcamp/android/objects/wordcamp/PostMetum.java +++ /dev/null @@ -1,70 +0,0 @@ - -package org.wordcamp.android.objects.wordcamp; - -import com.google.gson.annotations.Expose; - - -public class PostMetum { - - @Expose - private Integer ID; - @Expose - private String key; - @Expose - private String value; - - /** - * - * @return - * The ID - */ - public Integer getID() { - return ID; - } - - /** - * - * @param ID - * The ID - */ - public void setID(Integer ID) { - this.ID = ID; - } - - /** - * - * @return - * The key - */ - public String getKey() { - return key; - } - - /** - * - * @param key - * The key - */ - public void setKey(String key) { - this.key = key; - } - - /** - * - * @return - * The value - */ - public String getValue() { - return value; - } - - /** - * - * @param value - * The value - */ - public void setValue(String value) { - this.value = value; - } - -} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcamp/WordCampNew.java b/app/src/main/java/org/wordcamp/android/objects/wordcamp/WordCampNew.java deleted file mode 100644 index b368a4a..0000000 --- a/app/src/main/java/org/wordcamp/android/objects/wordcamp/WordCampNew.java +++ /dev/null @@ -1,521 +0,0 @@ - -package org.wordcamp.android.objects.wordcamp; - -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -import java.util.ArrayList; -import java.util.List; - -public class WordCampNew { - - @Expose - private Integer ID; - @Expose - private String title; - @Expose - private String status; - @Expose - private String type; - @Expose - private Author author; - @Expose - private String content; - @Expose - private Object parent; - @Expose - private String link; - @Expose - private String date; - @Expose - private String modified; - @Expose - private String format; - @Expose - private String slug; - @Expose - private String guid; - @Expose - private String excerpt; - @SerializedName("menu_order") - @Expose - private Integer menuOrder; - @SerializedName("comment_status") - @Expose - private String commentStatus; - @SerializedName("ping_status") - @Expose - private String pingStatus; - @Expose - private Boolean sticky; - @SerializedName("date_tz") - @Expose - private String dateTz; - @SerializedName("date_gmt") - @Expose - private String dateGmt; - @SerializedName("modified_tz") - @Expose - private String modifiedTz; - @SerializedName("modified_gmt") - @Expose - private String modifiedGmt; - @Expose - private Meta_ meta; - @Expose - private List terms = new ArrayList(); - @SerializedName("post_meta") - @Expose - private List postMeta = new ArrayList(); - - /** - * - * @return - * The ID - */ - public Integer getID() { - return ID; - } - - /** - * - * @param ID - * The ID - */ - public void setID(Integer ID) { - this.ID = ID; - } - - /** - * - * @return - * The title - */ - public String getTitle() { - return title; - } - - /** - * - * @param title - * The title - */ - public void setTitle(String title) { - this.title = title; - } - - /** - * - * @return - * The status - */ - public String getStatus() { - return status; - } - - /** - * - * @param status - * The status - */ - public void setStatus(String status) { - this.status = status; - } - - /** - * - * @return - * The type - */ - public String getType() { - return type; - } - - /** - * - * @param type - * The type - */ - public void setType(String type) { - this.type = type; - } - - /** - * - * @return - * The author - */ - public Author getAuthor() { - return author; - } - - /** - * - * @param author - * The author - */ - public void setAuthor(Author author) { - this.author = author; - } - - /** - * - * @return - * The content - */ - public String getContent() { - return content; - } - - /** - * - * @param content - * The content - */ - public void setContent(String content) { - this.content = content; - } - - /** - * - * @return - * The parent - */ - public Object getParent() { - return parent; - } - - /** - * - * @param parent - * The parent - */ - public void setParent(Object parent) { - this.parent = parent; - } - - /** - * - * @return - * The link - */ - public String getLink() { - return link; - } - - /** - * - * @param link - * The link - */ - public void setLink(String link) { - this.link = link; - } - - /** - * - * @return - * The date - */ - public String getDate() { - return date; - } - - /** - * - * @param date - * The date - */ - public void setDate(String date) { - this.date = date; - } - - /** - * - * @return - * The modified - */ - public String getModified() { - return modified; - } - - /** - * - * @param modified - * The modified - */ - public void setModified(String modified) { - this.modified = modified; - } - - /** - * - * @return - * The format - */ - public String getFormat() { - return format; - } - - /** - * - * @param format - * The format - */ - public void setFormat(String format) { - this.format = format; - } - - /** - * - * @return - * The slug - */ - public String getSlug() { - return slug; - } - - /** - * - * @param slug - * The slug - */ - public void setSlug(String slug) { - this.slug = slug; - } - - /** - * - * @return - * The guid - */ - public String getGuid() { - return guid; - } - - /** - * - * @param guid - * The guid - */ - public void setGuid(String guid) { - this.guid = guid; - } - - /** - * - * @return - * The excerpt - */ - public String getExcerpt() { - return excerpt; - } - - /** - * - * @param excerpt - * The excerpt - */ - public void setExcerpt(String excerpt) { - this.excerpt = excerpt; - } - - /** - * - * @return - * The menuOrder - */ - public Integer getMenuOrder() { - return menuOrder; - } - - /** - * - * @param menuOrder - * The menu_order - */ - public void setMenuOrder(Integer menuOrder) { - this.menuOrder = menuOrder; - } - - /** - * - * @return - * The commentStatus - */ - public String getCommentStatus() { - return commentStatus; - } - - /** - * - * @param commentStatus - * The comment_status - */ - public void setCommentStatus(String commentStatus) { - this.commentStatus = commentStatus; - } - - /** - * - * @return - * The pingStatus - */ - public String getPingStatus() { - return pingStatus; - } - - /** - * - * @param pingStatus - * The ping_status - */ - public void setPingStatus(String pingStatus) { - this.pingStatus = pingStatus; - } - - /** - * - * @return - * The sticky - */ - public Boolean getSticky() { - return sticky; - } - - /** - * - * @param sticky - * The sticky - */ - public void setSticky(Boolean sticky) { - this.sticky = sticky; - } - - /** - * - * @return - * The dateTz - */ - public String getDateTz() { - return dateTz; - } - - /** - * - * @param dateTz - * The date_tz - */ - public void setDateTz(String dateTz) { - this.dateTz = dateTz; - } - - /** - * - * @return - * The dateGmt - */ - public String getDateGmt() { - return dateGmt; - } - - /** - * - * @param dateGmt - * The date_gmt - */ - public void setDateGmt(String dateGmt) { - this.dateGmt = dateGmt; - } - - /** - * - * @return - * The modifiedTz - */ - public String getModifiedTz() { - return modifiedTz; - } - - /** - * - * @param modifiedTz - * The modified_tz - */ - public void setModifiedTz(String modifiedTz) { - this.modifiedTz = modifiedTz; - } - - /** - * - * @return - * The modifiedGmt - */ - public String getModifiedGmt() { - return modifiedGmt; - } - - /** - * - * @param modifiedGmt - * The modified_gmt - */ - public void setModifiedGmt(String modifiedGmt) { - this.modifiedGmt = modifiedGmt; - } - - /** - * - * @return - * The meta - */ - public Meta_ getMeta() { - return meta; - } - - /** - * - * @param meta - * The meta - */ - public void setMeta(Meta_ meta) { - this.meta = meta; - } - - /** - * - * @return - * The terms - */ - public List getTerms() { - return terms; - } - - /** - * - * @param terms - * The terms - */ - public void setTerms(List terms) { - this.terms = terms; - } - - /** - * - * @return - * The postMeta - */ - public List getPostMeta() { - return postMeta; - } - - /** - * - * @param postMeta - * The post_meta - */ - public void setPostMeta(List postMeta) { - this.postMeta = postMeta; - } - -} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcampv2/AvatarUrls.java b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/AvatarUrls.java new file mode 100644 index 0000000..86cab95 --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/AvatarUrls.java @@ -0,0 +1,43 @@ + +package org.wordcamp.android.objects.wordcampv2; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class AvatarUrls { + + @SerializedName("24") + @Expose + private String _24; + @SerializedName("48") + @Expose + private String _48; + @SerializedName("96") + @Expose + private String _96; + + public String get24() { + return _24; + } + + public void set24(String _24) { + this._24 = _24; + } + + public String get48() { + return _48; + } + + public void set48(String _48) { + this._48 = _48; + } + + public String get96() { + return _96; + } + + public void set96(String _96) { + this._96 = _96; + } + +} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Content.java b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Content.java new file mode 100644 index 0000000..3c11637 --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Content.java @@ -0,0 +1,21 @@ + +package org.wordcamp.android.objects.wordcampv2; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class Content { + + @SerializedName("rendered") + @Expose + private String rendered; + + public String getRendered() { + return rendered; + } + + public void setRendered(String rendered) { + this.rendered = rendered; + } + +} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Embedded.java b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Embedded.java new file mode 100644 index 0000000..137fa43 --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Embedded.java @@ -0,0 +1,33 @@ + +package org.wordcamp.android.objects.wordcampv2; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class Embedded { + @SerializedName("wp:term") + @Expose + private List> wpTerm = null; + + @SerializedName("sessions") + @Expose + private List sessions = null; + + public List> getWpTerm() { + return wpTerm; + } + + public void setWpTerm(List> wpTerm) { + this.wpTerm = wpTerm; + } + + public List getSessions() { + return sessions; + } + + public void setSessions(List sessions) { + this.sessions = sessions; + } +} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Meta.java b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Meta.java new file mode 100644 index 0000000..4bd3a97 --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Meta.java @@ -0,0 +1,54 @@ + +package org.wordcamp.android.objects.wordcampv2; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class Meta { + + @SerializedName("_wcpt_session_time") + @Expose + private long wcptSessionTime; + @SerializedName("_wcpt_session_type") + @Expose + private String wcptSessionType; + @SerializedName("_wcpt_session_slides") + @Expose + private String wcptSessionSlides; + @SerializedName("_wcpt_session_video") + @Expose + private String wcptSessionVideo; + + public long getWcptSessionTime() { + return wcptSessionTime; + } + + public void setWcptSessionTime(long wcptSessionTime) { + this.wcptSessionTime = wcptSessionTime; + } + + public String getWcptSessionType() { + return wcptSessionType; + } + + public void setWcptSessionType(String wcptSessionType) { + this.wcptSessionType = wcptSessionType; + } + + public String getWcptSessionSlides() { + return wcptSessionSlides; + } + + public void setWcptSessionSlides(String wcptSessionSlides) { + this.wcptSessionSlides = wcptSessionSlides; + } + + public String getWcptSessionVideo() { + return wcptSessionVideo; + } + + public void setWcptSessionVideo(String wcptSessionVideo) { + this.wcptSessionVideo = wcptSessionVideo; + } + +} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcampv2/SessionV2.java b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/SessionV2.java new file mode 100644 index 0000000..7b8c475 --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/SessionV2.java @@ -0,0 +1,199 @@ + +package org.wordcamp.android.objects.wordcampv2; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class SessionV2 { + + @SerializedName("id") + @Expose + private long id; + @SerializedName("date") + @Expose + private String date; + @SerializedName("date_gmt") + @Expose + private String dateGmt; + @SerializedName("modified") + @Expose + private String modified; + @SerializedName("modified_gmt") + @Expose + private String modifiedGmt; + @SerializedName("slug") + @Expose + private String slug; + @SerializedName("status") + @Expose + private String status; + @SerializedName("type") + @Expose + private String type; + @SerializedName("link") + @Expose + private String link; + @SerializedName("title") + @Expose + private Title title; + @SerializedName("content") + @Expose + private Content content; + @SerializedName("author") + @Expose + private long author; + @SerializedName("featured_media") + @Expose + private long featuredMedia; + @SerializedName("template") + @Expose + private String template; + @SerializedName("meta") + @Expose + private Meta meta; + @SerializedName("session_track") + @Expose + private List sessionTrack = null; + @SerializedName("_embedded") + @Expose + private Embedded embedded; + + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getDateGmt() { + return dateGmt; + } + + public void setDateGmt(String dateGmt) { + this.dateGmt = dateGmt; + } + + public String getModified() { + return modified; + } + + public void setModified(String modified) { + this.modified = modified; + } + + public String getModifiedGmt() { + return modifiedGmt; + } + + public void setModifiedGmt(String modifiedGmt) { + this.modifiedGmt = modifiedGmt; + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLink() { + return link; + } + + public void setLink(String link) { + this.link = link; + } + + public Title getTitle() { + return title; + } + + public void setTitle(Title title) { + this.title = title; + } + + public Content getContent() { + return content; + } + + public void setContent(Content content) { + this.content = content; + } + + public long getAuthor() { + return author; + } + + public void setAuthor(long author) { + this.author = author; + } + + public long getFeaturedMedia() { + return featuredMedia; + } + + public void setFeaturedMedia(long featuredMedia) { + this.featuredMedia = featuredMedia; + } + + public String getTemplate() { + return template; + } + + public void setTemplate(String template) { + this.template = template; + } + + public Meta getMeta() { + return meta; + } + + public void setMeta(Meta meta) { + this.meta = meta; + } + + public List getSessionTrack() { + return sessionTrack; + } + + public void setSessionTrack(List sessionTrack) { + this.sessionTrack = sessionTrack; + } + + public Embedded getEmbedded() { + return embedded; + } + + public void setEmbedded(Embedded embedded) { + this.embedded = embedded; + } +} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Speaker.java b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Speaker.java new file mode 100644 index 0000000..3a5890d --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Speaker.java @@ -0,0 +1,221 @@ + +package org.wordcamp.android.objects.wordcampv2; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class Speaker { + + @SerializedName("id") + @Expose + private long id; + @SerializedName("date") + @Expose + private String date; + @SerializedName("date_gmt") + @Expose + private String dateGmt; + @SerializedName("modified") + @Expose + private String modified; + @SerializedName("modified_gmt") + @Expose + private String modifiedGmt; + @SerializedName("slug") + @Expose + private String slug; + @SerializedName("status") + @Expose + private String status; + @SerializedName("type") + @Expose + private String type; + @SerializedName("link") + @Expose + private String link; + @SerializedName("title") + @Expose + private Title title; + @SerializedName("content") + @Expose + private Content content; + @SerializedName("author") + @Expose + private long author; + @SerializedName("comment_status") + @Expose + private String commentStatus; + @SerializedName("ping_status") + @Expose + private String pingStatus; + @SerializedName("template") + @Expose + private String template; + @SerializedName("meta") + @Expose + private List meta = null; + @SerializedName("speaker_group") + @Expose + private List speakerGroup = null; + @SerializedName("avatar_urls") + @Expose + private AvatarUrls avatarUrls; + @SerializedName("_embedded") + @Expose + private Embedded embedded; + + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getDateGmt() { + return dateGmt; + } + + public void setDateGmt(String dateGmt) { + this.dateGmt = dateGmt; + } + + public String getModified() { + return modified; + } + + public void setModified(String modified) { + this.modified = modified; + } + + public String getModifiedGmt() { + return modifiedGmt; + } + + public void setModifiedGmt(String modifiedGmt) { + this.modifiedGmt = modifiedGmt; + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLink() { + return link; + } + + public void setLink(String link) { + this.link = link; + } + + public Title getTitle() { + return title; + } + + public void setTitle(Title title) { + this.title = title; + } + + public Content getContent() { + return content; + } + + public void setContent(Content content) { + this.content = content; + } + + public long getAuthor() { + return author; + } + + public void setAuthor(long author) { + this.author = author; + } + + public String getCommentStatus() { + return commentStatus; + } + + public void setCommentStatus(String commentStatus) { + this.commentStatus = commentStatus; + } + + public String getPingStatus() { + return pingStatus; + } + + public void setPingStatus(String pingStatus) { + this.pingStatus = pingStatus; + } + + public String getTemplate() { + return template; + } + + public void setTemplate(String template) { + this.template = template; + } + + public List getMeta() { + return meta; + } + + public void setMeta(List meta) { + this.meta = meta; + } + + public List getSpeakerGroup() { + return speakerGroup; + } + + public void setSpeakerGroup(List speakerGroup) { + this.speakerGroup = speakerGroup; + } + + public AvatarUrls getAvatarUrls() { + return avatarUrls; + } + + public void setAvatarUrls(AvatarUrls avatarUrls) { + this.avatarUrls = avatarUrls; + } + + public Embedded getEmbedded() { + return embedded; + } + + public void setEmbedded(Embedded embedded) { + this.embedded = embedded; + } +} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Title.java b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Title.java new file mode 100644 index 0000000..062270b --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/Title.java @@ -0,0 +1,21 @@ + +package org.wordcamp.android.objects.wordcampv2; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class Title { + + @SerializedName("rendered") + @Expose + private String rendered; + + public String getRendered() { + return rendered; + } + + public void setRendered(String rendered) { + this.rendered = rendered; + } + +} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcampv2/WordCamp.java b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/WordCamp.java new file mode 100644 index 0000000..558fce2 --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/WordCamp.java @@ -0,0 +1,394 @@ + +package org.wordcamp.android.objects.wordcampv2; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class WordCamp { + + @SerializedName("id") + @Expose + private long id; + @SerializedName("date") + @Expose + private String date; + @SerializedName("date_gmt") + @Expose + private String dateGmt; + @SerializedName("modified") + @Expose + private String modified; + @SerializedName("modified_gmt") + @Expose + private String modifiedGmt; + @SerializedName("slug") + @Expose + private String slug; + @SerializedName("status") + @Expose + private String status; + @SerializedName("type") + @Expose + private String type; + @SerializedName("link") + @Expose + private String link; + @SerializedName("title") + @Expose + private Title title; + @SerializedName("content") + @Expose + private Content content; + @SerializedName("author") + @Expose + private long author; + @SerializedName("featured_media") + @Expose + private long featuredMedia; + @SerializedName("template") + @Expose + private String template; + @SerializedName("Start Date (YYYY-mm-dd)") + @Expose + private String startDateYYYYMmDd; + @SerializedName("End Date (YYYY-mm-dd)") + @Expose + private String endDateYYYYMmDd; + @SerializedName("Location") + @Expose + private String location; + @SerializedName("URL") + @Expose + private String uRL; + @SerializedName("Twitter") + @Expose + private String twitter; + @SerializedName("WordCamp Hashtag") + @Expose + private String wordCampHashtag; + @SerializedName("Number of Anticipated Attendees") + @Expose + private String numberOfAnticipatedAttendees; + @SerializedName("Organizer Name") + @Expose + private String organizerName; + @SerializedName("WordPress.org Username") + @Expose + private String wordPressOrgUsername; + @SerializedName("Venue Name") + @Expose + private String venueName; + @SerializedName("Physical Address") + @Expose + private String physicalAddress; + @SerializedName("Maximum Capacity") + @Expose + private String maximumCapacity; + @SerializedName("Available Rooms") + @Expose + private String availableRooms; + @SerializedName("Website URL") + @Expose + private String websiteURL; + @SerializedName("Exhibition Space Available") + @Expose + private String exhibitionSpaceAvailable; + @SerializedName("_venue_coordinates") + @Expose + private Object venueCoordinates; + @SerializedName("_venue_city") + @Expose + private String venueCity; + @SerializedName("_venue_state") + @Expose + private String venueState; + @SerializedName("_venue_country_code") + @Expose + private String venueCountryCode; + @SerializedName("_venue_country_name") + @Expose + private String venueCountryName; + @SerializedName("_venue_zip") + @Expose + private String venueZip; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getDateGmt() { + return dateGmt; + } + + public void setDateGmt(String dateGmt) { + this.dateGmt = dateGmt; + } + + public String getModified() { + return modified; + } + + public void setModified(String modified) { + this.modified = modified; + } + + public String getModifiedGmt() { + return modifiedGmt; + } + + public void setModifiedGmt(String modifiedGmt) { + this.modifiedGmt = modifiedGmt; + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLink() { + return link; + } + + public void setLink(String link) { + this.link = link; + } + + public Title getTitle() { + return title; + } + + public void setTitle(Title title) { + this.title = title; + } + + public Content getContent() { + return content; + } + + public void setContent(Content content) { + this.content = content; + } + + public long getAuthor() { + return author; + } + + public void setAuthor(long author) { + this.author = author; + } + + public long getFeaturedMedia() { + return featuredMedia; + } + + public void setFeaturedMedia(long featuredMedia) { + this.featuredMedia = featuredMedia; + } + + public String getTemplate() { + return template; + } + + public void setTemplate(String template) { + this.template = template; + } + + public String getStartDateYYYYMmDd() { + return startDateYYYYMmDd; + } + + public void setStartDateYYYYMmDd(String startDateYYYYMmDd) { + this.startDateYYYYMmDd = startDateYYYYMmDd; + } + + public String getEndDateYYYYMmDd() { + return endDateYYYYMmDd; + } + + public void setEndDateYYYYMmDd(String endDateYYYYMmDd) { + this.endDateYYYYMmDd = endDateYYYYMmDd; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getURL() { + return uRL; + } + + public void setURL(String uRL) { + this.uRL = uRL; + } + + public String getTwitter() { + return twitter; + } + + public void setTwitter(String twitter) { + this.twitter = twitter; + } + + public String getWordCampHashtag() { + return wordCampHashtag; + } + + public void setWordCampHashtag(String wordCampHashtag) { + this.wordCampHashtag = wordCampHashtag; + } + + public String getNumberOfAnticipatedAttendees() { + return numberOfAnticipatedAttendees; + } + + public void setNumberOfAnticipatedAttendees(String numberOfAnticipatedAttendees) { + this.numberOfAnticipatedAttendees = numberOfAnticipatedAttendees; + } + + public String getOrganizerName() { + return organizerName; + } + + public void setOrganizerName(String organizerName) { + this.organizerName = organizerName; + } + + public String getWordPressOrgUsername() { + return wordPressOrgUsername; + } + + public void setWordPressOrgUsername(String wordPressOrgUsername) { + this.wordPressOrgUsername = wordPressOrgUsername; + } + + public String getVenueName() { + return venueName; + } + + public void setVenueName(String venueName) { + this.venueName = venueName; + } + + public String getPhysicalAddress() { + return physicalAddress; + } + + public void setPhysicalAddress(String physicalAddress) { + this.physicalAddress = physicalAddress; + } + + public String getMaximumCapacity() { + return maximumCapacity; + } + + public void setMaximumCapacity(String maximumCapacity) { + this.maximumCapacity = maximumCapacity; + } + + public String getAvailableRooms() { + return availableRooms; + } + + public void setAvailableRooms(String availableRooms) { + this.availableRooms = availableRooms; + } + + public String getWebsiteURL() { + return websiteURL; + } + + public void setWebsiteURL(String websiteURL) { + this.websiteURL = websiteURL; + } + + public String getExhibitionSpaceAvailable() { + return exhibitionSpaceAvailable; + } + + public void setExhibitionSpaceAvailable(String exhibitionSpaceAvailable) { + this.exhibitionSpaceAvailable = exhibitionSpaceAvailable; + } + + public Object getVenueCoordinates() { + return venueCoordinates; + } + + public void setVenueCoordinates(Object venueCoordinates) { + this.venueCoordinates = venueCoordinates; + } + + public String getVenueCity() { + return venueCity; + } + + public void setVenueCity(String venueCity) { + this.venueCity = venueCity; + } + + public String getVenueState() { + return venueState; + } + + public void setVenueState(String venueState) { + this.venueState = venueState; + } + + public String getVenueCountryCode() { + return venueCountryCode; + } + + public void setVenueCountryCode(String venueCountryCode) { + this.venueCountryCode = venueCountryCode; + } + + public String getVenueCountryName() { + return venueCountryName; + } + + public void setVenueCountryName(String venueCountryName) { + this.venueCountryName = venueCountryName; + } + + public String getVenueZip() { + return venueZip; + } + + public void setVenueZip(String venueZip) { + this.venueZip = venueZip; + } +} diff --git a/app/src/main/java/org/wordcamp/android/objects/wordcampv2/WpTerm.java b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/WpTerm.java new file mode 100644 index 0000000..06891d1 --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/objects/wordcampv2/WpTerm.java @@ -0,0 +1,65 @@ + +package org.wordcamp.android.objects.wordcampv2; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class WpTerm { + + @SerializedName("id") + @Expose + private long id; + @SerializedName("link") + @Expose + private String link; + @SerializedName("name") + @Expose + private String name; + @SerializedName("slug") + @Expose + private String slug; + @SerializedName("taxonomy") + @Expose + private String taxonomy; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getLink() { + return link; + } + + public void setLink(String link) { + this.link = link; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + } + + public String getTaxonomy() { + return taxonomy; + } + + public void setTaxonomy(String taxonomy) { + this.taxonomy = taxonomy; + } + +} diff --git a/app/src/main/java/org/wordcamp/android/utils/WCConstants.java b/app/src/main/java/org/wordcamp/android/utils/WCConstants.java new file mode 100644 index 0000000..1db149e --- /dev/null +++ b/app/src/main/java/org/wordcamp/android/utils/WCConstants.java @@ -0,0 +1,10 @@ +package org.wordcamp.android.utils; + +/** + * Created by shah.aagam on 08/07/17. + */ + +public class WCConstants { + public static final String GRAVATAR_DEFAULT_SIZE = "120"; + public static final String GRAVATAR_HIGH_RES_SIZE = "500"; +} diff --git a/app/src/main/java/org/wordcamp/android/utils/WordCampUtils.java b/app/src/main/java/org/wordcamp/android/utils/WordCampUtils.java index 33959bd..f297b1f 100644 --- a/app/src/main/java/org/wordcamp/android/utils/WordCampUtils.java +++ b/app/src/main/java/org/wordcamp/android/utils/WordCampUtils.java @@ -1,18 +1,17 @@ package org.wordcamp.android.utils; import org.wordcamp.android.objects.WordCampDB; -import org.wordcamp.android.objects.speaker.Session; -import org.wordcamp.android.objects.wordcamp.PostMetum; -import org.wordcamp.android.objects.wordcamp.WordCampNew; import java.text.DateFormat; import java.util.Calendar; import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.TimeZone; +import static org.wordcamp.android.utils.WCConstants.GRAVATAR_DEFAULT_SIZE; +import static org.wordcamp.android.utils.WCConstants.GRAVATAR_HIGH_RES_SIZE; + /** * Created by aagam on 29/1/15. */ @@ -95,31 +94,7 @@ public static int formatProperTimeHash(int time) { return d.hashCode(); } - public static HashMap getTwitterAndUrl(WordCampNew wcn) { - List meta = wcn.getPostMeta(); - - HashMap map = new HashMap<>(); - for (int i = 0; i < meta.size(); i++) { - PostMetum metum = meta.get(i); - map.put(metum.getKey(), metum.getValue()); - } - - return map; - } - - public static HashMap getTimeAndTypeSession(Session ss) { - List meta = ss.getPostMeta(); - - HashMap map = new HashMap<>(); - for (int i = 0; i < meta.size(); i++) { - org.wordcamp.android.objects.speaker.PostMetum metum = meta.get(i); - map.put(metum.getKey(), metum.getValue()); - } - - return map; - } - public static String getHighResGravatar(String gravatar){ - return gravatar.substring(0, gravatar.length() - 6) + "?s=500"; + return gravatar.replace("s=" + GRAVATAR_DEFAULT_SIZE, "s=" + GRAVATAR_HIGH_RES_SIZE); } } diff --git a/app/src/main/java/org/wordcamp/android/wcdetails/SessionDetailsActivity.java b/app/src/main/java/org/wordcamp/android/wcdetails/SessionDetailsActivity.java index aedba95..548c862 100644 --- a/app/src/main/java/org/wordcamp/android/wcdetails/SessionDetailsActivity.java +++ b/app/src/main/java/org/wordcamp/android/wcdetails/SessionDetailsActivity.java @@ -23,7 +23,7 @@ import org.wordcamp.android.objects.MiniSpeaker; import org.wordcamp.android.objects.SessionDB; import org.wordcamp.android.objects.SpeakerDB; -import org.wordcamp.android.objects.speaker.Session; +import org.wordcamp.android.objects.wordcampv2.SessionV2; import org.wordcamp.android.utils.WordCampUtils; import java.util.ArrayList; @@ -35,7 +35,7 @@ public class SessionDetailsActivity extends AppCompatActivity { private SessionDB sessionDB; - private org.wordcamp.android.objects.speaker.Session session; + private SessionV2 session; private ArrayList speakerList; private DBCommunicator communicator; private FavoriteSession fav; @@ -53,7 +53,7 @@ protected void onCreate(Bundle savedInstanceState) { private void initGUI() { Gson gson = new Gson(); - session = gson.fromJson(sessionDB.getGson_object(), Session.class); + session = gson.fromJson(sessionDB.getGson_object(), SessionV2.class); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle(""); setSupportActionBar(toolbar); @@ -65,12 +65,12 @@ private void initGUI() { TextView title = (TextView) findViewById(R.id.wc_detail_title); TextView subtitle = (TextView) findViewById(R.id.wc_detail_date); TextView info = (TextView) headerView.findViewById(R.id.wc_detail_abstract); - title.setText(Html.fromHtml(session.getTitle())); - info.setText(Html.fromHtml(session.getContent())); - if (session.getTerms() != null && session.getTerms().getWcbTrack().size() == 1) { + title.setText(Html.fromHtml(session.getTitle().getRendered())); + info.setText(Html.fromHtml(session.getContent().getRendered())); + if (session.getEmbedded().getWpTerm() != null && !session.getEmbedded().getWpTerm().isEmpty()) { String date = WordCampUtils.getFormattedDate(sessionDB.getTime()); String time = WordCampUtils.getFormattedTime(sessionDB.getTime()); - String track = session.getTerms().getWcbTrack().get(0).getName(); + String track = sessionDB.getLocation(); String sep = getString(R.string.separator); subtitle.setText(date + sep + time + sep + Html.fromHtml(track)); } else { diff --git a/app/src/main/java/org/wordcamp/android/wcdetails/SpeakerDetailsActivity.java b/app/src/main/java/org/wordcamp/android/wcdetails/SpeakerDetailsActivity.java index b949090..0428ce1 100644 --- a/app/src/main/java/org/wordcamp/android/wcdetails/SpeakerDetailsActivity.java +++ b/app/src/main/java/org/wordcamp/android/wcdetails/SpeakerDetailsActivity.java @@ -33,7 +33,7 @@ import org.wordcamp.android.db.DBCommunicator; import org.wordcamp.android.objects.SessionDB; import org.wordcamp.android.objects.SpeakerDB; -import org.wordcamp.android.objects.speaker.SpeakerNew; +import org.wordcamp.android.objects.wordcampv2.Speaker; import org.wordcamp.android.utils.Utils; import org.wordcamp.android.utils.WordCampUtils; @@ -50,7 +50,7 @@ public class SpeakerDetailsActivity extends AppCompatActivity { private Toolbar toolbar; private SpeakerDB speakerDB; - private SpeakerNew speaker; + private Speaker speaker; private Gson gson; private DBCommunicator communicator; private HashMap titleSession; @@ -80,7 +80,7 @@ protected void onCreate(Bundle savedInstanceState) { gson = new Gson(); communicator = new DBCommunicator(this); communicator.start(); - speaker = gson.fromJson(speakerDB.getGson_object(), SpeakerNew.class); + speaker = gson.fromJson(speakerDB.getGson_object(), Speaker.class); titleSession = communicator.getSpeakerSession(speakerDB.getWc_id(), speakerDB.getSpeaker_id());