aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java23
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java58
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java53
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Post/Post.java39
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Utils/JSONUtils.java2
-rw-r--r--app/src/main/res/layout/item_post.xml16
-rw-r--r--app/src/main/res/layout/item_post_compact.xml16
-rw-r--r--app/src/main/res/layout/item_post_detail.xml6
8 files changed, 127 insertions, 86 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java
index d103ce96..4338209e 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java
@@ -545,12 +545,6 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
((PostDetailViewHolder) holder).mPostTimeTextView.setText(mPost.getPostTime());
}
- if (mPost.getGilded() > 0) {
- ((PostDetailViewHolder) holder).mGildedNumberTextView.setVisibility(View.VISIBLE);
- String gildedNumber = mActivity.getResources().getString(R.string.gilded_count, mPost.getGilded());
- ((PostDetailViewHolder) holder).mGildedNumberTextView.setText(gildedNumber);
- }
-
if (mPost.isArchived()) {
((PostDetailViewHolder) holder).mArchivedImageView.setVisibility(View.VISIBLE);
}
@@ -575,6 +569,18 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
((PostDetailViewHolder) holder).mFlairTextView.setText(flairHTML);
}
+ if (mPost.getAwards() != null && !mPost.getAwards().equals("")) {
+ ((PostDetailViewHolder) holder).mAwardsTextView.setVisibility(View.VISIBLE);
+ Spannable awardsHTML;
+ GlideImageGetter glideImageGetter = new GlideImageGetter(((PostDetailViewHolder) holder).mAwardsTextView);
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
+ awardsHTML = (Spannable) Html.fromHtml(mPost.getAwards(), Html.FROM_HTML_MODE_LEGACY, glideImageGetter, null);
+ } else {
+ awardsHTML = (Spannable) Html.fromHtml(mPost.getAwards(), glideImageGetter, null);
+ }
+ ((PostDetailViewHolder) holder).mAwardsTextView.setText(awardsHTML);
+ }
+
if (mPost.isNSFW()) {
((PostDetailViewHolder) holder).mNSFWTextView.setOnClickListener(view -> {
Intent intent = new Intent(mActivity, FilteredThingActivity.class);
@@ -1809,8 +1815,6 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
RecyclerView mContentMarkdownView;
@BindView(R.id.type_text_view_item_post_detail)
CustomTextView mTypeTextView;
- @BindView(R.id.gilded_number_text_view_item_post_detail)
- TextView mGildedNumberTextView;
@BindView(R.id.crosspost_image_view_item_post_detail)
ImageView mCrosspostImageView;
@BindView(R.id.archived_image_view_item_post_detail)
@@ -1823,6 +1827,8 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
CustomTextView mSpoilerTextView;
@BindView(R.id.flair_custom_text_view_item_post_detail)
CustomTextView mFlairTextView;
+ @BindView(R.id.awards_text_view_item_post_detail)
+ TextView mAwardsTextView;
@BindView(R.id.link_text_view_item_post_detail)
TextView mLinkTextView;
@BindView(R.id.image_view_wrapper_item_post_detail)
@@ -2087,6 +2093,7 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
mArchivedImageView.setColorFilter(mArchivedTintColor, PorterDuff.Mode.SRC_IN);
mLockedImageView.setColorFilter(mLockedTintColor, PorterDuff.Mode.SRC_IN);
mCrosspostImageView.setColorFilter(mCrosspostTintColor, PorterDuff.Mode.SRC_IN);
+ mAwardsTextView.setTextColor(mPostTitleColor);
mLinkTextView.setTextColor(mSecondaryTextColor);
mLoadImageProgressBar.setIndeterminateTintList(ColorStateList.valueOf(mColorAccent));
mNoPreviewLinkImageView.setBackgroundColor(mNoPreviewLinkBackgroundColor);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java
index e8db17ee..27e77146 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java
@@ -239,10 +239,10 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
final String postTime = post.getPostTime();
final String title = post.getTitle();
int voteType = post.getVoteType();
- int gilded = post.getGilded();
boolean nsfw = post.isNSFW();
boolean spoiler = post.isSpoiler();
String flair = post.getFlair();
+ String awards = post.getAwards();
boolean isArchived = post.isArchived();
((PostViewHolder) holder).cardView.setOnClickListener(view -> {
@@ -418,12 +418,6 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
((PostViewHolder) holder).titleTextView.setText(title);
((PostViewHolder) holder).scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType()));
- if (gilded > 0) {
- ((PostViewHolder) holder).gildedNumberTextView.setVisibility(View.VISIBLE);
- String gildedNumber = mActivity.getResources().getString(R.string.gilded_count, gilded);
- ((PostViewHolder) holder).gildedNumberTextView.setText(gildedNumber);
- }
-
if (post.isLocked()) {
((PostViewHolder) holder).lockedImageView.setVisibility(View.VISIBLE);
}
@@ -457,6 +451,18 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
((PostViewHolder) holder).flairTextView.setText(flairHTML);
}
+ if (awards != null && !awards.equals("")) {
+ ((PostViewHolder) holder).awardsTextView.setVisibility(View.VISIBLE);
+ Spannable awardsHTML;
+ GlideImageGetter glideImageGetter = new GlideImageGetter(((PostViewHolder) holder).awardsTextView);
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
+ awardsHTML = (Spannable) Html.fromHtml(awards, Html.FROM_HTML_MODE_LEGACY, glideImageGetter, null);
+ } else {
+ awardsHTML = (Spannable) Html.fromHtml(awards, glideImageGetter, null);
+ }
+ ((PostViewHolder) holder).awardsTextView.setText(awardsHTML);
+ }
+
switch (voteType) {
case 1:
//Upvoted
@@ -810,10 +816,10 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
final String postTime = post.getPostTime();
final String title = post.getTitle();
int voteType = post.getVoteType();
- int gilded = post.getGilded();
boolean nsfw = post.isNSFW();
boolean spoiler = post.isSpoiler();
String flair = post.getFlair();
+ String awards = post.getAwards();
boolean isArchived = post.isArchived();
((PostCompactViewHolder) holder).itemView.setOnClickListener(view -> {
@@ -983,12 +989,6 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
((PostCompactViewHolder) holder).titleTextView.setText(title);
((PostCompactViewHolder) holder).scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType()));
- if (gilded > 0) {
- ((PostCompactViewHolder) holder).gildedNumberTextView.setVisibility(View.VISIBLE);
- String gildedNumber = mActivity.getResources().getString(R.string.gilded_count, gilded);
- ((PostCompactViewHolder) holder).gildedNumberTextView.setText(gildedNumber);
- }
-
if (post.isLocked()) {
((PostCompactViewHolder) holder).lockedImageView.setVisibility(View.VISIBLE);
}
@@ -1022,6 +1022,18 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
((PostCompactViewHolder) holder).flairTextView.setText(flairHTML);
}
+ if (awards != null && !awards.equals("")) {
+ ((PostCompactViewHolder) holder).awardsTextView.setVisibility(View.VISIBLE);
+ Spannable awardsHTML;
+ GlideImageGetter glideImageGetter = new GlideImageGetter(((PostCompactViewHolder) holder).awardsTextView);
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
+ awardsHTML = (Spannable) Html.fromHtml(awards, Html.FROM_HTML_MODE_LEGACY, glideImageGetter, null);
+ } else {
+ awardsHTML = (Spannable) Html.fromHtml(awards, glideImageGetter, null);
+ }
+ ((PostCompactViewHolder) holder).awardsTextView.setText(awardsHTML);
+ }
+
switch (voteType) {
case 1:
//Upvoted
@@ -1517,13 +1529,15 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
mGlide.clear(((PostViewHolder) holder).iconGifImageView);
((PostViewHolder) holder).stickiedPostImageView.setVisibility(View.GONE);
((PostViewHolder) holder).relativeLayout.setVisibility(View.GONE);
- ((PostViewHolder) holder).gildedNumberTextView.setVisibility(View.GONE);
((PostViewHolder) holder).crosspostImageView.setVisibility(View.GONE);
((PostViewHolder) holder).archivedImageView.setVisibility(View.GONE);
((PostViewHolder) holder).lockedImageView.setVisibility(View.GONE);
((PostViewHolder) holder).nsfwTextView.setVisibility(View.GONE);
((PostViewHolder) holder).spoilerTextView.setVisibility(View.GONE);
((PostViewHolder) holder).flairTextView.setVisibility(View.GONE);
+ ((PostViewHolder) holder).flairTextView.setText("");
+ ((PostViewHolder) holder).awardsTextView.setVisibility(View.GONE);
+ ((PostViewHolder) holder).awardsTextView.setText("");
((PostViewHolder) holder).linkTextView.setVisibility(View.GONE);
((PostViewHolder) holder).progressBar.setVisibility(View.GONE);
((PostViewHolder) holder).imageView.setScaleType(ImageView.ScaleType.FIT_START);
@@ -1541,13 +1555,15 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
mGlide.clear(((PostCompactViewHolder) holder).iconGifImageView);
((PostCompactViewHolder) holder).stickiedPostImageView.setVisibility(View.GONE);
((PostCompactViewHolder) holder).relativeLayout.setVisibility(View.GONE);
- ((PostCompactViewHolder) holder).gildedNumberTextView.setVisibility(View.GONE);
((PostCompactViewHolder) holder).crosspostImageView.setVisibility(View.GONE);
((PostCompactViewHolder) holder).archivedImageView.setVisibility(View.GONE);
((PostCompactViewHolder) holder).lockedImageView.setVisibility(View.GONE);
((PostCompactViewHolder) holder).nsfwTextView.setVisibility(View.GONE);
((PostCompactViewHolder) holder).spoilerTextView.setVisibility(View.GONE);
((PostCompactViewHolder) holder).flairTextView.setVisibility(View.GONE);
+ ((PostCompactViewHolder) holder).flairTextView.setText("");
+ ((PostCompactViewHolder) holder).awardsTextView.setVisibility(View.GONE);
+ ((PostCompactViewHolder) holder).awardsTextView.setText("");
((PostCompactViewHolder) holder).linkTextView.setVisibility(View.GONE);
((PostCompactViewHolder) holder).progressBar.setVisibility(View.GONE);
((PostCompactViewHolder) holder).imageView.setVisibility(View.GONE);
@@ -1582,8 +1598,6 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
TextView titleTextView;
@BindView(R.id.type_text_view_item_post)
CustomTextView typeTextView;
- @BindView(R.id.gilded_number_text_view_item_post)
- TextView gildedNumberTextView;
@BindView(R.id.archived_image_view_item_post)
ImageView archivedImageView;
@BindView(R.id.locked_image_view_item_post)
@@ -1596,6 +1610,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
CustomTextView spoilerTextView;
@BindView(R.id.flair_custom_text_view_item_post)
CustomTextView flairTextView;
+ @BindView(R.id.awards_text_view_item_post)
+ TextView awardsTextView;
@BindView(R.id.link_text_view_item_post)
TextView linkTextView;
@BindView(R.id.image_view_wrapper_item_post)
@@ -1675,6 +1691,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
archivedImageView.setColorFilter(mArchivedIconTint, PorterDuff.Mode.SRC_IN);
lockedImageView.setColorFilter(mLockedIconTint, PorterDuff.Mode.SRC_IN);
crosspostImageView.setColorFilter(mCrosspostIconTint, PorterDuff.Mode.SRC_IN);
+ awardsTextView.setTextColor(mPostTitleColor);
linkTextView.setTextColor(mSecondaryTextColor);
progressBar.setIndeterminateTintList(ColorStateList.valueOf(mColorAccent));
noPreviewLinkImageView.setBackgroundColor(mNoPreviewLinkBackgroundColor);
@@ -1701,8 +1718,6 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
TextView titleTextView;
@BindView(R.id.type_text_view_item_post_compact)
CustomTextView typeTextView;
- @BindView(R.id.gilded_number_text_view_item_post_compact)
- TextView gildedNumberTextView;
@BindView(R.id.archived_image_view_item_post_compact)
ImageView archivedImageView;
@BindView(R.id.locked_image_view_item_post_compact)
@@ -1715,6 +1730,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
CustomTextView spoilerTextView;
@BindView(R.id.flair_custom_text_view_item_post_compact)
CustomTextView flairTextView;
+ @BindView(R.id.awards_text_view_item_post_compact)
+ TextView awardsTextView;
@BindView(R.id.link_text_view_item_post_compact)
TextView linkTextView;
@BindView(R.id.image_view_wrapper_item_post_compact)
@@ -1789,6 +1806,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
archivedImageView.setColorFilter(mArchivedIconTint, PorterDuff.Mode.SRC_IN);
lockedImageView.setColorFilter(mLockedIconTint, PorterDuff.Mode.SRC_IN);
crosspostImageView.setColorFilter(mCrosspostIconTint, PorterDuff.Mode.SRC_IN);
+ awardsTextView.setTextColor(mPostTitleColor);
linkTextView.setTextColor(mSecondaryTextColor);
progressBar.setIndeterminateTintList(ColorStateList.valueOf(mColorAccent));
noPreviewLinkImageView.setBackgroundColor(mNoPreviewLinkBackgroundColor);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java b/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java
index 0974cbdf..3874de35 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java
@@ -41,7 +41,6 @@ public class ParsePost {
String title = data.getString(JSONUtils.TITLE_KEY);
int score = data.getInt(JSONUtils.SCORE_KEY);
int voteType;
- int gilded = data.getInt(JSONUtils.GILDED_KEY);
int nComments = data.getInt(JSONUtils.NUM_COMMENTS_KEY);
boolean hidden = data.getBoolean(JSONUtils.HIDDEN_KEY);
boolean spoiler = data.getBoolean(JSONUtils.SPOILER_KEY);
@@ -64,6 +63,20 @@ public class ParsePost {
}
}
String flair = postFlairHTMLBuilder.toString();
+ StringBuilder awardingsBuilder = new StringBuilder();
+ JSONArray awardingsArray = data.getJSONArray(JSONUtils.ALL_AWARDINGS_KEY);
+ for (int i = 0; i < awardingsArray.length(); i++) {
+ JSONObject award = awardingsArray.getJSONObject(i);
+ int count = award.getInt(JSONUtils.COUNT_KEY);
+ JSONArray icons = award.getJSONArray(JSONUtils.RESIZED_ICONS_KEY);
+ if (icons.length() > 4) {
+ String iconUrl = icons.getJSONObject(3).getString(JSONUtils.URL_KEY);
+ awardingsBuilder.append("<img src=\"").append(iconUrl).append("\">").append("x").append(count).append(" ");
+ } else if (icons.length() > 0) {
+ String iconUrl = icons.getJSONObject(icons.length() - 1).getString(JSONUtils.URL_KEY);
+ awardingsBuilder.append("<img src=\"").append(iconUrl).append("\">").append("x").append(count).append(" ");
+ }
+ }
if (data.isNull(JSONUtils.LIKES_KEY)) {
voteType = 0;
@@ -103,15 +116,17 @@ public class ParsePost {
Post crosspostParent = parseBasicData(data, locale);
Post post = parseData(data, permalink, id, fullName, subredditName, subredditNamePrefixed,
author, formattedPostTime, postTime, title, previewUrl, thumbnailPreviewUrl,
- previewWidth, previewHeight, score, voteType, gilded, nComments, flair, hidden, spoiler,
- nsfw, stickied, archived, locked, saved, true);
+ previewWidth, previewHeight, score, voteType, nComments, flair,
+ awardingsBuilder.toString(), hidden, spoiler, nsfw, stickied, archived, locked,
+ saved, true);
post.setCrosspostParentId(crosspostParent.getId());
return post;
} else {
return parseData(data, permalink, id, fullName, subredditName, subredditNamePrefixed,
author, formattedPostTime, postTime, title, previewUrl, thumbnailPreviewUrl,
- previewWidth, previewHeight, score, voteType, gilded, nComments, flair, hidden, spoiler,
- nsfw, stickied, archived, locked, saved, false);
+ previewWidth, previewHeight, score, voteType, nComments, flair,
+ awardingsBuilder.toString(), hidden, spoiler, nsfw, stickied, archived, locked,
+ saved, false);
}
}
@@ -119,8 +134,8 @@ public class ParsePost {
String subredditName, String subredditNamePrefixed, String author,
String formattedPostTime, long postTimeMillis, String title, String previewUrl,
String thumbnailPreviewUrl, int previewWidth, int previewHeight,
- int score, int voteType, int gilded, int nComments, String flair,
- boolean hidden, boolean spoiler, boolean nsfw, boolean stickied,
+ int score, int voteType, int nComments, String flair,
+ String awards, boolean hidden, boolean spoiler, boolean nsfw, boolean stickied,
boolean archived, boolean locked, boolean saved, boolean isCrosspost) throws JSONException {
Post post;
@@ -132,7 +147,7 @@ public class ParsePost {
//Text post
int postType = Post.TEXT_TYPE;
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author, formattedPostTime, postTimeMillis,
- title, permalink, score, postType, voteType, gilded, nComments, flair,
+ title, permalink, score, postType, voteType, nComments, flair, awards,
hidden, spoiler, nsfw, stickied, archived, locked, saved, isCrosspost);
if (data.isNull(JSONUtils.SELFTEXT_KEY)) {
post.setSelfText("");
@@ -157,7 +172,7 @@ public class ParsePost {
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
formattedPostTime, postTimeMillis, title, url, thumbnailPreviewUrl, url, permalink,
- score, postType, voteType, gilded, nComments, flair, hidden, spoiler,
+ score, postType, voteType, nComments, flair, awards, hidden, spoiler,
nsfw, stickied, archived, locked, saved, isCrosspost);
post.setPreviewWidth(previewWidth);
@@ -167,7 +182,7 @@ public class ParsePost {
int postType = Post.NO_PREVIEW_LINK_TYPE;
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author, formattedPostTime, postTimeMillis,
title, previewUrl, thumbnailPreviewUrl, url, permalink, score, postType, voteType,
- gilded, nComments, flair, hidden, spoiler, nsfw, stickied, archived, locked, saved, isCrosspost);
+ nComments, flair, awards, hidden, spoiler, nsfw, stickied, archived, locked, saved, isCrosspost);
if (data.isNull(JSONUtils.SELFTEXT_KEY)) {
post.setSelfText("");
} else {
@@ -190,7 +205,7 @@ public class ParsePost {
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author, formattedPostTime, postTimeMillis,
title, previewUrl, thumbnailPreviewUrl, permalink, score, postType, voteType,
- gilded, nComments, flair, hidden, spoiler, nsfw, stickied, archived, locked, saved, isCrosspost);
+ nComments, flair, awards, hidden, spoiler, nsfw, stickied, archived, locked, saved, isCrosspost);
post.setPreviewWidth(previewWidth);
post.setPreviewHeight(previewHeight);
@@ -207,7 +222,7 @@ public class ParsePost {
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
formattedPostTime, postTimeMillis, title, previewUrl, thumbnailPreviewUrl, permalink, score,
- postType, voteType, gilded, nComments, flair, hidden, spoiler, nsfw,
+ postType, voteType, nComments, flair, awards, hidden, spoiler, nsfw,
stickied, archived, locked, saved, isCrosspost);
post.setPreviewWidth(previewWidth);
post.setPreviewHeight(previewHeight);
@@ -220,7 +235,7 @@ public class ParsePost {
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
formattedPostTime, postTimeMillis, title, url, thumbnailPreviewUrl, url, permalink,
- score, postType, voteType, gilded, nComments, flair, hidden, spoiler,
+ score, postType, voteType, nComments, flair, awards, hidden, spoiler,
nsfw, stickied, archived, locked, saved, isCrosspost);
post.setPreviewWidth(previewWidth);
@@ -230,7 +245,7 @@ public class ParsePost {
int postType = Post.GIF_TYPE;
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
formattedPostTime, postTimeMillis, title, previewUrl, thumbnailPreviewUrl, url, permalink,
- score, postType, voteType, gilded, nComments, flair, hidden, spoiler,
+ score, postType, voteType, nComments, flair, awards, hidden, spoiler,
nsfw, stickied, archived, locked, saved, isCrosspost);
post.setPreviewWidth(previewWidth);
@@ -243,7 +258,7 @@ public class ParsePost {
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
formattedPostTime, postTimeMillis, title, permalink, score, postType,
- voteType, gilded, nComments, flair, hidden, spoiler, nsfw, stickied,
+ voteType, nComments, flair, awards, hidden, spoiler, nsfw, stickied,
archived, locked, saved, isCrosspost);
post.setPreviewWidth(previewWidth);
@@ -271,7 +286,7 @@ public class ParsePost {
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
formattedPostTime, postTimeMillis, title, previewUrl, thumbnailPreviewUrl, url, permalink,
- score, postType, voteType, gilded, nComments, flair, hidden, spoiler,
+ score, postType, voteType, nComments, flair, awards, hidden, spoiler,
nsfw, stickied, archived, locked, saved, isCrosspost);
if (data.isNull(JSONUtils.SELFTEXT_KEY)) {
post.setSelfText("");
@@ -291,7 +306,7 @@ public class ParsePost {
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
formattedPostTime, postTimeMillis, title, previewUrl, thumbnailPreviewUrl, url, permalink,
- score, postType, voteType, gilded, nComments, flair, hidden, spoiler,
+ score, postType, voteType, nComments, flair, awards, hidden, spoiler,
nsfw, stickied, archived, locked, saved, isCrosspost);
post.setPreviewWidth(previewWidth);
post.setPreviewHeight(previewHeight);
@@ -301,7 +316,7 @@ public class ParsePost {
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
formattedPostTime, postTimeMillis, title, url, thumbnailPreviewUrl, url, permalink, score,
- postType, voteType, gilded, nComments, flair, hidden, spoiler, nsfw, stickied,
+ postType, voteType, nComments, flair, awards, hidden, spoiler, nsfw, stickied,
archived, locked, saved, isCrosspost);
}
}
@@ -402,7 +417,7 @@ public class ParsePost {
if (allData.getJSONObject(i).getString(JSONUtils.KIND_KEY).equals("t3")) {
JSONObject data = allData.getJSONObject(i).getJSONObject(JSONUtils.DATA_KEY);
Post post = parseBasicData(data, locale);
- if (post != null && !(!nsfw && post.isNSFW())) {
+ if (!(!nsfw && post.isNSFW())) {
if (filter == PostFragment.EXTRA_NO_FILTER) {
newPosts.add(post);
} else if (filter == post.getPostType()) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Post/Post.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Post/Post.java
index 8a025c97..a224ee24 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Post/Post.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Post/Post.java
@@ -48,11 +48,11 @@ public class Post implements Parcelable {
private String videoDownloadUrl;
private String permalink;
private String flair;
+ private String awards;
private long postTimeMillis;
private int score;
private int postType;
private int voteType;
- private int gilded;
private int previewWidth;
private int previewHeight;
private int nComments;
@@ -69,9 +69,9 @@ public class Post implements Parcelable {
public Post(String id, String fullName, String subredditName, String subredditNamePrefixed,
String author, String postTime, long postTimeMillis, String title, String previewUrl,
String thumbnailPreviewUrl, String permalink, int score, int postType,
- int voteType, int gilded, int nComments, String flair, boolean hidden, boolean spoiler,
- boolean nsfw, boolean stickied, boolean archived, boolean locked, boolean saved,
- boolean isCrosspost) {
+ int voteType, int nComments, String flair, String awards, boolean hidden,
+ boolean spoiler, boolean nsfw, boolean stickied, boolean archived, boolean locked,
+ boolean saved, boolean isCrosspost) {
this.id = id;
this.fullName = fullName;
this.subredditName = subredditName;
@@ -87,9 +87,9 @@ public class Post implements Parcelable {
this.score = score;
this.postType = postType;
this.voteType = voteType;
- this.gilded = gilded;
this.nComments = nComments;
this.flair = flair;
+ this.awards = awards;
this.hidden = hidden;
this.spoiler = spoiler;
this.nsfw = nsfw;
@@ -103,9 +103,9 @@ public class Post implements Parcelable {
public Post(String id, String fullName, String subredditName, String subredditNamePrefixed,
String author, String postTime, long postTimeMillis, String title, String previewUrl,
String thumbnailPreviewUrl, String url, String permalink, int score,
- int postType, int voteType, int gilded, int nComments, String flair, boolean hidden,
- boolean spoiler, boolean nsfw, boolean stickied, boolean archived, boolean locked,
- boolean saved, boolean isCrosspost) {
+ int postType, int voteType, int nComments, String flair, String awards,
+ boolean hidden, boolean spoiler, boolean nsfw, boolean stickied, boolean archived,
+ boolean locked, boolean saved, boolean isCrosspost) {
this.id = id;
this.fullName = fullName;
this.subredditName = subredditName;
@@ -122,9 +122,9 @@ public class Post implements Parcelable {
this.score = score;
this.postType = postType;
this.voteType = voteType;
- this.gilded = gilded;
this.nComments = nComments;
this.flair = flair;
+ this.awards = awards;
this.hidden = hidden;
this.spoiler = spoiler;
this.nsfw = nsfw;
@@ -135,9 +135,10 @@ public class Post implements Parcelable {
this.isCrosspost = isCrosspost;
}
- public Post(String id, String fullName, String subredditName, String subredditNamePrefixed, String author,
- String postTime, long postTimeMillis, String title, String permalink, int score, int postType, int voteType, int gilded,
- int nComments, String flair, boolean hidden, boolean spoiler, boolean nsfw, boolean stickied,
+ public Post(String id, String fullName, String subredditName, String subredditNamePrefixed,
+ String author, String postTime, long postTimeMillis, String title, String permalink,
+ int score, int postType, int voteType, int nComments, String flair,
+ String awards, boolean hidden, boolean spoiler, boolean nsfw, boolean stickied,
boolean archived, boolean locked, boolean saved, boolean isCrosspost) {
this.id = id;
this.fullName = fullName;
@@ -152,9 +153,9 @@ public class Post implements Parcelable {
this.score = score;
this.postType = postType;
this.voteType = voteType;
- this.gilded = gilded;
this.nComments = nComments;
this.flair = flair;
+ this.awards = awards;
this.hidden = hidden;
this.spoiler = spoiler;
this.nsfw = nsfw;
@@ -187,10 +188,10 @@ public class Post implements Parcelable {
videoDownloadUrl = in.readString();
permalink = in.readString();
flair = in.readString();
+ awards = in.readString();
score = in.readInt();
postType = in.readInt();
voteType = in.readInt();
- gilded = in.readInt();
previewWidth = in.readInt();
previewHeight = in.readInt();
nComments = in.readInt();
@@ -325,6 +326,10 @@ public class Post implements Parcelable {
this.flair = flair;
}
+ public String getAwards() {
+ return awards;
+ }
+
public int getScore() {
return score;
}
@@ -345,10 +350,6 @@ public class Post implements Parcelable {
this.voteType = voteType;
}
- public int getGilded() {
- return gilded;
- }
-
public int getPreviewWidth() {
return previewWidth;
}
@@ -457,10 +458,10 @@ public class Post implements Parcelable {
parcel.writeString(videoDownloadUrl);
parcel.writeString(permalink);
parcel.writeString(flair);
+ parcel.writeString(awards);
parcel.writeInt(score);
parcel.writeInt(postType);
parcel.writeInt(voteType);
- parcel.writeInt(gilded);
parcel.writeInt(previewWidth);
parcel.writeInt(previewHeight);
parcel.writeInt(nComments);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/JSONUtils.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/JSONUtils.java
index b7aae929..603717d4 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/JSONUtils.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/JSONUtils.java
@@ -103,4 +103,6 @@ public class JSONUtils {
public static final String IS_FAVORITED_KEY = "is_favorited";
public static final String SUBREDDITS_KEY = "subreddits";
public static final String PATH_KEY = "path";
+ public static final String ALL_AWARDINGS_KEY = "all_awardings";
+ public static final String RESIZED_ICONS_KEY = "resized_icons";
}
diff --git a/app/src/main/res/layout/item_post.xml b/app/src/main/res/layout/item_post.xml
index ad3d1aca..7e1e25cc 100644
--- a/app/src/main/res/layout/item_post.xml
+++ b/app/src/main/res/layout/item_post.xml
@@ -179,16 +179,6 @@
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
- <TextView
- android:id="@+id/gilded_number_text_view_item_post"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="@color/gold"
- android:textSize="?attr/font_default"
- android:drawableStart="@drawable/gold"
- android:drawablePadding="4dp"
- android:visibility="gone" />
-
<ImageView
android:id="@+id/archived_image_view_item_post"
android:layout_width="24dp"
@@ -213,6 +203,12 @@
android:tint="?attr/crosspost"
android:visibility="gone" />
+ <TextView
+ android:id="@+id/awards_text_view_item_post"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone" />
+
</com.nex3z.flowlayout.FlowLayout>
<TextView
diff --git a/app/src/main/res/layout/item_post_compact.xml b/app/src/main/res/layout/item_post_compact.xml
index 486b0dc8..edf83fd0 100644
--- a/app/src/main/res/layout/item_post_compact.xml
+++ b/app/src/main/res/layout/item_post_compact.xml
@@ -166,16 +166,6 @@
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
- <TextView
- android:id="@+id/gilded_number_text_view_item_post_compact"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:drawableStart="@drawable/gold"
- android:drawablePadding="4dp"
- android:textColor="@color/gold"
- android:textSize="?attr/font_default"
- android:visibility="gone" />
-
<ImageView
android:id="@+id/archived_image_view_item_post_compact"
android:layout_width="24dp"
@@ -200,6 +190,12 @@
android:tint="?attr/crosspost"
android:visibility="gone" />
+ <TextView
+ android:id="@+id/awards_text_view_item_post_compact"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone" />
+
</com.nex3z.flowlayout.FlowLayout>
<TextView
diff --git a/app/src/main/res/layout/item_post_detail.xml b/app/src/main/res/layout/item_post_detail.xml
index 3c08ca6a..15695b23 100644
--- a/app/src/main/res/layout/item_post_detail.xml
+++ b/app/src/main/res/layout/item_post_detail.xml
@@ -195,6 +195,12 @@
android:tint="?attr/crosspost"
android:visibility="gone" />
+ <TextView
+ android:id="@+id/awards_text_view_item_post_detail"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone" />
+
</com.nex3z.flowlayout.FlowLayout>
<TextView