Compare commits

...

16 Commits

Author SHA1 Message Date
Bazsalanszky
b3c2f6213d Fix crash when unsaving post on a post detail page
Closes #90
2023-08-10 17:23:36 +02:00
Bazsalanszky
c3de94012a Merge remote-tracking branch 'origin/master' 2023-08-10 17:18:37 +02:00
Bazsalanszky
804eb64b5b Fix downvote count not being visible on comments 2023-08-10 17:18:31 +02:00
Bazsalanszky
6a4aa8075d Post detail up/downvote separation
This commit separates the up and downvote values on a post detail page.
2023-08-10 17:17:08 +02:00
Bazsalanszky
692aca4eca
Translated using Weblate (Hungarian)
Currently translated at 79.4% (971 of 1222 strings)

Translation: Infinity for Lemmy/App
Translate-URL: https://translate.codeberg.org/projects/infinity-for-lemmy/app/hu/
2023-08-10 11:58:06 +00:00
Bazsalanszky
dd00802561 Merge remote-tracking branch 'weblate/master' 2023-08-10 13:43:36 +02:00
Bazsalanszky
a3e0fea200
Translated using Weblate (Hungarian)
Currently translated at 77.9% (952 of 1222 strings)

Translation: Infinity for Lemmy/App
Translate-URL: https://translate.codeberg.org/projects/infinity-for-lemmy/app/hu/
2023-08-10 11:39:34 +00:00
Bazsalanszky
304125ea0d Merge remote-tracking branch 'weblate/master' 2023-08-10 13:38:56 +02:00
Bazsalanszky
a465ebb5b4 Switch to codeberg translate!
Switched to codeberg translate instead of the hosted weblate
2023-08-10 13:35:31 +02:00
balazs
b39d00eba6
Translated using Weblate (Hungarian)
Currently translated at 78.6% (961 of 1222 strings)

Translation: Infinity for Lemmy/Codeberg
Translate-URL: https://hosted.weblate.org/projects/lemminfinity/codeberg/hu/
2023-08-10 13:26:09 +02:00
balazs
1ebdce309d
Translated using Weblate (Hungarian)
Currently translated at 78.6% (961 of 1222 strings)

Translation: Infinity for Lemmy/Codeberg
Translate-URL: https://hosted.weblate.org/projects/lemminfinity/codeberg/hu/
2023-08-10 11:16:46 +02:00
balazs
d29b7585f7
Translated using Weblate (Hungarian)
Currently translated at 78.3% (957 of 1222 strings)

Translation: Infinity for Lemmy/Codeberg
Translate-URL: https://hosted.weblate.org/projects/lemminfinity/codeberg/hu/
2023-08-10 11:16:46 +02:00
Bazsalanszky
276560678c Minor change in strings.xml 2023-08-10 11:16:39 +02:00
Bazsalanszky
10c23a65c5 Changes on the separate up/down vote view on posts 2023-08-10 11:08:34 +02:00
Bazsalanszky
4e4f4377e7 Update woodpecker pipeline 2023-08-10 11:00:56 +02:00
Bazsalanszky
2e6c9db614 Separate comment up and downvotes
This commit makes it possible to separate up and downvotes in the comments as well.
2023-08-10 10:59:02 +02:00
18 changed files with 410 additions and 50 deletions

View File

@ -1,4 +1,4 @@
pipeline: steps:
build: build:
image: alvrme/alpine-android:android-33-jdk11 image: alvrme/alpine-android:android-33-jdk11
commands: commands:

View File

@ -66,9 +66,9 @@ Don't forget to give the project a star! Thanks again!
### Translation ### Translation
You can alos help Infinity for Lemmy by translating it to your native langugage! Translations are done via [Weblate](https://hosted.weblate.org/projects/lemminfinity/codeberg/)! You can alos help Infinity for Lemmy by translating it to your native langugage! Translations are done via [Weblate](https://translate.codeberg.org/projects/infinity-for-lemmy/app/)!
[![Translation](https://hosted.weblate.org/widgets/lemminfinity/-/codeberg/multi-auto.svg)](https://hosted.weblate.org/engage/lemminfinity/) [![Translation](https://translate.codeberg.org/widgets/infinity-for-lemmy/-/app/multi-auto.svg)](https://translate.codeberg.org/engage/infinity-for-lemmy/)
### Reporting bugs ### Reporting bugs

View File

@ -10,6 +10,7 @@ import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.text.Spanned; import android.text.Spanned;
import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@ -124,6 +125,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
private boolean mShowAuthorAvatar; private boolean mShowAuthorAvatar;
private boolean mAlwaysShowChildCommentCount; private boolean mAlwaysShowChildCommentCount;
private boolean mHideTheNumberOfVotes; private boolean mHideTheNumberOfVotes;
private boolean mSeperateUpandDownvote;
private int mDepthThreshold; private int mDepthThreshold;
private CommentRecyclerViewAdapterCallback mCommentRecyclerViewAdapterCallback; private CommentRecyclerViewAdapterCallback mCommentRecyclerViewAdapterCallback;
private boolean isInitiallyLoading; private boolean isInitiallyLoading;
@ -237,6 +239,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
mShowAuthorAvatar = sharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_AUTHOR_AVATAR, false); mShowAuthorAvatar = sharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_AUTHOR_AVATAR, false);
mAlwaysShowChildCommentCount = sharedPreferences.getBoolean(SharedPreferencesUtils.ALWAYS_SHOW_CHILD_COMMENT_COUNT, false); mAlwaysShowChildCommentCount = sharedPreferences.getBoolean(SharedPreferencesUtils.ALWAYS_SHOW_CHILD_COMMENT_COUNT, false);
mHideTheNumberOfVotes = sharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_THE_NUMBER_OF_VOTES_IN_COMMENTS, false); mHideTheNumberOfVotes = sharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_THE_NUMBER_OF_VOTES_IN_COMMENTS, false);
mSeperateUpandDownvote = sharedPreferences.getBoolean(SharedPreferencesUtils.COMMENT_SEPARATE_UP_AND_DOWN_VOTES, true);
mDepthThreshold = sharedPreferences.getInt(SharedPreferencesUtils.SHOW_FEWER_TOOLBAR_OPTIONS_THRESHOLD, 5); mDepthThreshold = sharedPreferences.getInt(SharedPreferencesUtils.SHOW_FEWER_TOOLBAR_OPTIONS_THRESHOLD, 5);
mCommentRecyclerViewAdapterCallback = commentRecyclerViewAdapterCallback; mCommentRecyclerViewAdapterCallback = commentRecyclerViewAdapterCallback;
@ -445,7 +448,21 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
Utils.getNVotes(mShowAbsoluteNumberOfVotes, Utils.getNVotes(mShowAbsoluteNumberOfVotes,
comment.getScore() + comment.getVoteType())); comment.getScore() + comment.getVoteType()));
if(mSeperateUpandDownvote){
int upvotes = (comment.getVoteType() == 1) ? comment.getUpvotes()+1 : comment.getUpvotes();
int downvotes = (comment.getVoteType() == -1) ? comment.getDownvotes()+1 : comment.getDownvotes();
((CommentViewHolder) holder).downvoteTextView.setVisibility(View.VISIBLE);
((CommentViewHolder) holder).scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
((CommentViewHolder) holder).downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
((CommentViewHolder) holder).scoreTextView.setGravity(Gravity.START);
((CommentViewHolder) holder).scoreTextView.getLayoutParams().width = (int) (32 * mActivity.getResources().getDisplayMetrics().density);
((CommentViewHolder) holder).scoreTextView.setPadding(0, 0, 6, 0);
((CommentViewHolder) holder).downvoteButton.setPadding(24, 0, 12, 0);
((CommentViewHolder) holder).upvoteButton.setPadding(24, 0, 12, 0);
} else {
((CommentViewHolder) holder).scoreTextView.setText(commentText); ((CommentViewHolder) holder).scoreTextView.setText(commentText);
}
((CommentViewHolder) holder).topScoreTextView.setText(topScoreText); ((CommentViewHolder) holder).topScoreTextView.setText(topScoreText);
} else { } else {
((CommentViewHolder) holder).scoreTextView.setText(mActivity.getString(R.string.vote)); ((CommentViewHolder) holder).scoreTextView.setText(mActivity.getString(R.string.vote));
@ -485,13 +502,21 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
.setColorFilter(mUpvotedColor, PorterDuff.Mode.SRC_IN); .setColorFilter(mUpvotedColor, PorterDuff.Mode.SRC_IN);
((CommentViewHolder) holder).scoreTextView.setTextColor(mUpvotedColor); ((CommentViewHolder) holder).scoreTextView.setTextColor(mUpvotedColor);
((CommentViewHolder) holder).topScoreTextView.setTextColor(mUpvotedColor); ((CommentViewHolder) holder).topScoreTextView.setTextColor(mUpvotedColor);
((CommentViewHolder) holder).downvoteTextView.setTextColor(mCommentIconAndInfoColor);
break; break;
case Comment.VOTE_TYPE_DOWNVOTE: case Comment.VOTE_TYPE_DOWNVOTE:
((CommentViewHolder) holder).downvoteButton ((CommentViewHolder) holder).downvoteButton
.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN); .setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN);
if(mSeperateUpandDownvote) {
((CommentViewHolder) holder).downvoteTextView.setTextColor(mDownvotedColor);
((CommentViewHolder) holder).scoreTextView.setTextColor(mCommentIconAndInfoColor);
} else {
((CommentViewHolder) holder).scoreTextView.setTextColor(mDownvotedColor); ((CommentViewHolder) holder).scoreTextView.setTextColor(mDownvotedColor);
}
((CommentViewHolder) holder).topScoreTextView.setTextColor(mDownvotedColor); ((CommentViewHolder) holder).topScoreTextView.setTextColor(mDownvotedColor);
break; break;
default:
((CommentViewHolder) holder).downvoteTextView.setTextColor(mCommentIconAndInfoColor);
} }
if (mPost.isArchived()) { if (mPost.isArchived()) {
@ -1190,6 +1215,9 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
ImageView upvoteButton; ImageView upvoteButton;
@BindView(R.id.score_text_view_item_post_comment) @BindView(R.id.score_text_view_item_post_comment)
TextView scoreTextView; TextView scoreTextView;
@BindView(R.id.downvote_text_view_item_post_comment)
TextView downvoteTextView;
@BindView(R.id.down_vote_button_item_post_comment) @BindView(R.id.down_vote_button_item_post_comment)
ImageView downvoteButton; ImageView downvoteButton;
@BindView(R.id.placeholder_item_post_comment) @BindView(R.id.placeholder_item_post_comment)
@ -1267,6 +1295,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
editedTextView.setTypeface(mActivity.typeface); editedTextView.setTypeface(mActivity.typeface);
awardsTextView.setTypeface(mActivity.typeface); awardsTextView.setTypeface(mActivity.typeface);
scoreTextView.setTypeface(mActivity.typeface); scoreTextView.setTypeface(mActivity.typeface);
downvoteTextView.setTypeface(mActivity.typeface);
expandButton.setTypeface(mActivity.typeface); expandButton.setTypeface(mActivity.typeface);
} }
@ -1298,11 +1327,13 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
commentTimeTextView.setTextColor(mSecondaryTextColor); commentTimeTextView.setTextColor(mSecondaryTextColor);
authorFlairTextView.setTextColor(mAuthorFlairTextColor); authorFlairTextView.setTextColor(mAuthorFlairTextColor);
topScoreTextView.setTextColor(mSecondaryTextColor); topScoreTextView.setTextColor(mSecondaryTextColor);
downvoteTextView.setTextColor(mSecondaryTextColor);
editedTextView.setTextColor(mSecondaryTextColor); editedTextView.setTextColor(mSecondaryTextColor);
awardsTextView.setTextColor(mSecondaryTextColor); awardsTextView.setTextColor(mSecondaryTextColor);
commentDivider.setBackgroundColor(mDividerColor); commentDivider.setBackgroundColor(mDividerColor);
upvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN); upvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN);
scoreTextView.setTextColor(mCommentIconAndInfoColor); scoreTextView.setTextColor(mCommentIconAndInfoColor);
downvoteTextView.setTextColor(mCommentIconAndInfoColor);
downvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN); downvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN);
moreButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN); moreButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN);
expandButton.setTextColor(mCommentIconAndInfoColor); expandButton.setTextColor(mCommentIconAndInfoColor);
@ -1409,12 +1440,22 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
newVoteType = Integer.parseInt(APIUtils.DIR_UNVOTE); newVoteType = Integer.parseInt(APIUtils.DIR_UNVOTE);
upvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN); upvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN);
scoreTextView.setTextColor(mCommentIconAndInfoColor); scoreTextView.setTextColor(mCommentIconAndInfoColor);
downvoteTextView.setTextColor(mCommentIconAndInfoColor);
topScoreTextView.setTextColor(mSecondaryTextColor); topScoreTextView.setTextColor(mSecondaryTextColor);
} }
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpandDownvote){
int upvoteCount = (comment.getVoteType() == 1) ? comment.getUpvotes() + 1 : comment.getUpvotes();
int downvoteCount = (comment.getVoteType() == -1) ? comment.getDownvotes() + 1 : comment.getDownvotes();
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
upvoteCount));
downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
downvoteCount));
}else {
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
comment.getScore() + comment.getVoteType())); comment.getScore() + comment.getVoteType()));
}
topScoreTextView.setText(mActivity.getString(R.string.top_score, topScoreTextView.setText(mActivity.getString(R.string.top_score,
Utils.getNVotes(mShowAbsoluteNumberOfVotes, Utils.getNVotes(mShowAbsoluteNumberOfVotes,
comment.getScore() + comment.getVoteType()))); comment.getScore() + comment.getVoteType())));
@ -1430,6 +1471,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
upvoteButton.setColorFilter(mUpvotedColor, PorterDuff.Mode.SRC_IN); upvoteButton.setColorFilter(mUpvotedColor, PorterDuff.Mode.SRC_IN);
scoreTextView.setTextColor(mUpvotedColor); scoreTextView.setTextColor(mUpvotedColor);
topScoreTextView.setTextColor(mUpvotedColor); topScoreTextView.setTextColor(mUpvotedColor);
downvoteTextView.setTextColor(mCommentIconAndInfoColor);
} }
} else { } else {
comment.setVoteType(Comment.VOTE_TYPE_NO_VOTE); comment.setVoteType(Comment.VOTE_TYPE_NO_VOTE);
@ -1437,14 +1479,24 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
upvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN); upvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN);
scoreTextView.setTextColor(mCommentIconAndInfoColor); scoreTextView.setTextColor(mCommentIconAndInfoColor);
topScoreTextView.setTextColor(mSecondaryTextColor); topScoreTextView.setTextColor(mSecondaryTextColor);
downvoteTextView.setTextColor(mCommentIconAndInfoColor);
} }
} }
if (currentPosition == position) { if (currentPosition == position) {
downvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN); downvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN);
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpandDownvote){
int upvoteCount = (comment.getVoteType() == 1) ? comment.getUpvotes() + 1 : comment.getUpvotes();
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
upvoteCount));
int downvoteCount = (comment.getVoteType() == -1) ? comment.getDownvotes() + 1 : comment.getDownvotes();
downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
downvoteCount));
} else {
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
comment.getScore() + comment.getVoteType())); comment.getScore() + comment.getVoteType()));
}
topScoreTextView.setText(mActivity.getString(R.string.top_score, topScoreTextView.setText(mActivity.getString(R.string.top_score,
Utils.getNVotes(mShowAbsoluteNumberOfVotes, Utils.getNVotes(mShowAbsoluteNumberOfVotes,
comment.getScore() + comment.getVoteType()))); comment.getScore() + comment.getVoteType())));
@ -1482,20 +1534,34 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
comment.setVoteType(Comment.VOTE_TYPE_DOWNVOTE); comment.setVoteType(Comment.VOTE_TYPE_DOWNVOTE);
newVoteType = Integer.parseInt(APIUtils.DIR_DOWNVOTE); newVoteType = Integer.parseInt(APIUtils.DIR_DOWNVOTE);
downvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN); downvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN);
if(mSeperateUpandDownvote){
downvoteTextView.setTextColor(mDownvotedColor);
scoreTextView.setTextColor(mCommentIconAndInfoColor);
}else {
scoreTextView.setTextColor(mDownvotedColor); scoreTextView.setTextColor(mDownvotedColor);
}
topScoreTextView.setTextColor(mDownvotedColor); topScoreTextView.setTextColor(mDownvotedColor);
} else { } else {
//Downvoted before //Downvoted before
comment.setVoteType(Comment.VOTE_TYPE_NO_VOTE); comment.setVoteType(Comment.VOTE_TYPE_NO_VOTE);
newVoteType = Integer.parseInt(APIUtils.DIR_UNVOTE); newVoteType = Integer.parseInt(APIUtils.DIR_UNVOTE);
downvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN); downvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN);
downvoteTextView.setTextColor(mCommentIconAndInfoColor);
scoreTextView.setTextColor(mCommentIconAndInfoColor); scoreTextView.setTextColor(mCommentIconAndInfoColor);
topScoreTextView.setTextColor(mSecondaryTextColor); topScoreTextView.setTextColor(mSecondaryTextColor);
} }
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpandDownvote){
int downvotes = (comment.getVoteType() == -1) ? comment.getDownvotes() +1 : comment.getDownvotes();
int upvotes = (comment.getVoteType() == 1) ? comment.getUpvotes() +1 : comment.getUpvotes();
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
upvotes));
downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else {
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
comment.getScore() + comment.getVoteType())); comment.getScore() + comment.getVoteType()));
}
topScoreTextView.setText(mActivity.getString(R.string.top_score, topScoreTextView.setText(mActivity.getString(R.string.top_score,
Utils.getNVotes(mShowAbsoluteNumberOfVotes, Utils.getNVotes(mShowAbsoluteNumberOfVotes,
comment.getScore() + comment.getVoteType()))); comment.getScore() + comment.getVoteType())));
@ -1510,7 +1576,11 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
comment.setVoteType(Comment.VOTE_TYPE_DOWNVOTE); comment.setVoteType(Comment.VOTE_TYPE_DOWNVOTE);
if (currentPosition == position) { if (currentPosition == position) {
downvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN); downvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN);
if(mSeperateUpandDownvote){
downvoteTextView.setTextColor(mDownvotedColor);
}else {
scoreTextView.setTextColor(mDownvotedColor); scoreTextView.setTextColor(mDownvotedColor);
}
topScoreTextView.setTextColor(mDownvotedColor); topScoreTextView.setTextColor(mDownvotedColor);
} }
} else { } else {
@ -1518,6 +1588,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
if (currentPosition == position) { if (currentPosition == position) {
downvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN); downvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN);
scoreTextView.setTextColor(mCommentIconAndInfoColor); scoreTextView.setTextColor(mCommentIconAndInfoColor);
downvoteTextView.setTextColor(mCommentIconAndInfoColor);
topScoreTextView.setTextColor(mSecondaryTextColor); topScoreTextView.setTextColor(mSecondaryTextColor);
} }
} }
@ -1525,8 +1596,17 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
if (currentPosition == position) { if (currentPosition == position) {
upvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN); upvoteButton.setColorFilter(mCommentIconAndInfoColor, PorterDuff.Mode.SRC_IN);
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpandDownvote){
int downvotes = (comment.getVoteType() == -1) ? comment.getDownvotes() +1 : comment.getDownvotes();
int upvotes = (comment.getVoteType() == 1) ? comment.getUpvotes() +1 : comment.getUpvotes();
downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
upvotes));
} else {
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
comment.getScore() + comment.getVoteType())); comment.getScore() + comment.getVoteType()));
}
topScoreTextView.setText(mActivity.getString(R.string.top_score, topScoreTextView.setText(mActivity.getString(R.string.top_score,
Utils.getNVotes(mShowAbsoluteNumberOfVotes, Utils.getNVotes(mShowAbsoluteNumberOfVotes,
comment.getScore() + comment.getVoteType()))); comment.getScore() + comment.getVoteType())));

View File

@ -15,6 +15,7 @@ import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.text.Spanned; import android.text.Spanned;
import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
@ -172,6 +173,8 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
private boolean mHideTheNumberOfAwards; private boolean mHideTheNumberOfAwards;
private boolean mHideSubredditAndUserPrefix; private boolean mHideSubredditAndUserPrefix;
private boolean mHideTheNumberOfVotes; private boolean mHideTheNumberOfVotes;
private boolean mSeperateUpvoteAndDownvote;
private boolean mHideTheNumberOfComments; private boolean mHideTheNumberOfComments;
private boolean mSeparatePostAndComments; private boolean mSeparatePostAndComments;
private boolean mLegacyAutoplayVideoControllerUI; private boolean mLegacyAutoplayVideoControllerUI;
@ -342,6 +345,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mHideTheNumberOfAwards = postDetailsSharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_THE_NUMBER_OF_AWARDS, false); mHideTheNumberOfAwards = postDetailsSharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_THE_NUMBER_OF_AWARDS, false);
mHideSubredditAndUserPrefix = postDetailsSharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_SUBREDDIT_AND_USER_PREFIX, false); mHideSubredditAndUserPrefix = postDetailsSharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_SUBREDDIT_AND_USER_PREFIX, false);
mHideTheNumberOfVotes = postDetailsSharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_THE_NUMBER_OF_VOTES, false); mHideTheNumberOfVotes = postDetailsSharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_THE_NUMBER_OF_VOTES, false);
mSeperateUpvoteAndDownvote = postDetailsSharedPreferences.getBoolean(SharedPreferencesUtils.POST_DETAIL_SEPARATE_UP_AND_DOWN_VOTES, true);
mHideTheNumberOfComments = postDetailsSharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_THE_NUMBER_OF_COMMENTS, false); mHideTheNumberOfComments = postDetailsSharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_THE_NUMBER_OF_COMMENTS, false);
mPostDetailRecyclerViewAdapterCallback = postDetailRecyclerViewAdapterCallback; mPostDetailRecyclerViewAdapterCallback = postDetailRecyclerViewAdapterCallback;
@ -544,16 +548,23 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
//Upvote //Upvote
((PostDetailBaseViewHolder) holder).mUpvoteButton.setColorFilter(mUpvotedColor, PorterDuff.Mode.SRC_IN); ((PostDetailBaseViewHolder) holder).mUpvoteButton.setColorFilter(mUpvotedColor, PorterDuff.Mode.SRC_IN);
((PostDetailBaseViewHolder) holder).mScoreTextView.setTextColor(mUpvotedColor); ((PostDetailBaseViewHolder) holder).mScoreTextView.setTextColor(mUpvotedColor);
((PostDetailBaseViewHolder) holder).mDownvoteTextView.setTextColor(mPostIconAndInfoColor);
break; break;
case -1: case -1:
//Downvote //Downvote
((PostDetailBaseViewHolder) holder).mDownvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN); ((PostDetailBaseViewHolder) holder).mDownvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN);
if(mSeperateUpvoteAndDownvote){
((PostDetailBaseViewHolder) holder).mDownvoteTextView.setTextColor(mDownvotedColor);
} else {
((PostDetailBaseViewHolder) holder).mScoreTextView.setTextColor(mDownvotedColor); ((PostDetailBaseViewHolder) holder).mScoreTextView.setTextColor(mDownvotedColor);
}
break; break;
default:
case 0: case 0:
((PostDetailBaseViewHolder) holder).mUpvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN); ((PostDetailBaseViewHolder) holder).mUpvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN);
((PostDetailBaseViewHolder) holder).mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN); ((PostDetailBaseViewHolder) holder).mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN);
((PostDetailBaseViewHolder) holder).mScoreTextView.setTextColor(mPostIconAndInfoColor); ((PostDetailBaseViewHolder) holder).mScoreTextView.setTextColor(mPostIconAndInfoColor);
((PostDetailBaseViewHolder) holder).mDownvoteTextView.setTextColor(mPostIconAndInfoColor);
} }
if (mPost.isArchived()) { if (mPost.isArchived()) {
@ -611,7 +622,24 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
} }
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpvoteAndDownvote){
int upvotes = (mPost.getVoteType() == 1) ? mPost.getUpvotes()+1 : mPost.getUpvotes();
int downvotes = (mPost.getVoteType() == -1) ? mPost.getDownvotes() +1 : Math.max(mPost.getDownvotes(),0);
((PostDetailBaseViewHolder) holder).mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
((PostDetailBaseViewHolder) holder).mDownvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
((PostDetailBaseViewHolder) holder).mDownvoteTextView.setVisibility(View.VISIBLE);
((PostDetailBaseViewHolder) holder).mDownvoteTextView.setGravity(Gravity.START);
((PostDetailBaseViewHolder) holder).mScoreTextView.setGravity(Gravity.START);
((PostDetailBaseViewHolder) holder).mScoreTextView.getLayoutParams().width = (int) (32 * mActivity.getResources().getDisplayMetrics().density);
((PostDetailBaseViewHolder) holder).mScoreTextView.setPadding(0, 0, 6, 0);
((PostDetailBaseViewHolder) holder).mDownvoteTextView.setPadding(0, 0, 12, 0);
((PostDetailBaseViewHolder) holder).mUpvoteButton.setPadding(24, 0, 12, 0);
} else {
((PostDetailBaseViewHolder) holder).mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, mPost.getScore() + mPost.getVoteType())); ((PostDetailBaseViewHolder) holder).mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, mPost.getScore() + mPost.getVoteType()));
}
} else { } else {
((PostDetailBaseViewHolder) holder).mScoreTextView.setText(mActivity.getString(R.string.vote)); ((PostDetailBaseViewHolder) holder).mScoreTextView.setText(mActivity.getString(R.string.vote));
} }
@ -1163,6 +1191,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
ConstraintLayout mBottomConstraintLayout; ConstraintLayout mBottomConstraintLayout;
ImageView mUpvoteButton; ImageView mUpvoteButton;
TextView mScoreTextView; TextView mScoreTextView;
TextView mDownvoteTextView;
ImageView mDownvoteButton; ImageView mDownvoteButton;
TextView commentsCountTextView; TextView commentsCountTextView;
ImageView mSaveButton; ImageView mSaveButton;
@ -1191,6 +1220,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
ConstraintLayout mBottomConstraintLayout, ConstraintLayout mBottomConstraintLayout,
ImageView mUpvoteButton, ImageView mUpvoteButton,
TextView mScoreTextView, TextView mScoreTextView,
TextView mDownvoteTextView,
ImageView mDownvoteButton, ImageView mDownvoteButton,
TextView commentsCountTextView, TextView commentsCountTextView,
ImageView mSaveButton, ImageView mSaveButton,
@ -1214,6 +1244,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
this.mBottomConstraintLayout = mBottomConstraintLayout; this.mBottomConstraintLayout = mBottomConstraintLayout;
this.mUpvoteButton = mUpvoteButton; this.mUpvoteButton = mUpvoteButton;
this.mScoreTextView = mScoreTextView; this.mScoreTextView = mScoreTextView;
this.mDownvoteTextView = mDownvoteTextView;
this.mDownvoteButton = mDownvoteButton; this.mDownvoteButton = mDownvoteButton;
this.commentsCountTextView = commentsCountTextView; this.commentsCountTextView = commentsCountTextView;
this.mSaveButton = mSaveButton; this.mSaveButton = mSaveButton;
@ -1306,6 +1337,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
int newVoteType; int newVoteType;
mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN); mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN);
mDownvoteTextView.setTextColor(mPostIconAndInfoColor);
if (previousVoteType != 1) { if (previousVoteType != 1) {
//Not upvoted before //Not upvoted before
@ -1322,9 +1354,16 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
} }
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpvoteAndDownvote){
int upvotes = (mPost.getVoteType() == 1) ? mPost.getUpvotes() + 1 : mPost.getUpvotes();
int downvotes = (mPost.getVoteType() == -1) ? mPost.getDownvotes() + 1 : Math.max(mPost.getDownvotes(),0);;
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
mDownvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else {
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
mPost.getScore() + mPost.getVoteType())); mPost.getScore() + mPost.getVoteType()));
} }
}
mPostDetailRecyclerViewAdapterCallback.updatePost(mPost); mPostDetailRecyclerViewAdapterCallback.updatePost(mPost);
@ -1343,9 +1382,16 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN); mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN);
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpvoteAndDownvote){
int upvotes = (mPost.getVoteType() == 1) ? mPost.getUpvotes() + 1 : mPost.getUpvotes();
int downvotes = (mPost.getVoteType() == -1) ? mPost.getDownvotes() + 1 : Math.max(mPost.getDownvotes(),0);;
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
mDownvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else {
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
mPost.getScore() + mPost.getVoteType())); mPost.getScore() + mPost.getVoteType()));
} }
}
mPostDetailRecyclerViewAdapterCallback.updatePost(mPost); mPostDetailRecyclerViewAdapterCallback.updatePost(mPost);
} }
@ -1355,9 +1401,16 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
Toast.makeText(mActivity, R.string.vote_failed, Toast.LENGTH_SHORT).show(); Toast.makeText(mActivity, R.string.vote_failed, Toast.LENGTH_SHORT).show();
mPost.setVoteType(previousVoteType); mPost.setVoteType(previousVoteType);
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpvoteAndDownvote){
int upvotes = (previousVoteType == 1) ? mPost.getUpvotes() + 1 : mPost.getUpvotes();
int downvotes = (previousVoteType == -1) ? mPost.getDownvotes() - 1 : Math.max(mPost.getDownvotes(),0);;
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
mDownvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else {
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
mPost.getScore() + previousVoteType)); mPost.getScore() + previousVoteType));
} }
}
mUpvoteButton.setColorFilter(previousUpvoteButtonColorFilter); mUpvoteButton.setColorFilter(previousUpvoteButtonColorFilter);
mDownvoteButton.setColorFilter(previousDownvoteButtonColorFilter); mDownvoteButton.setColorFilter(previousDownvoteButtonColorFilter);
mScoreTextView.setTextColor(previousScoreTextViewColor); mScoreTextView.setTextColor(previousScoreTextViewColor);
@ -1386,25 +1439,37 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
int newVoteType; int newVoteType;
mUpvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN); mUpvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN);
mScoreTextView.setTextColor(mPostIconAndInfoColor);
if (previousVoteType != -1) { if (previousVoteType != -1) {
//Not upvoted before //Not upvoted before
mPost.setVoteType(-1); mPost.setVoteType(-1);
newVoteType = Integer.parseInt(APIUtils.DIR_DOWNVOTE); newVoteType = Integer.parseInt(APIUtils.DIR_DOWNVOTE);
mDownvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN); mDownvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN);
if(mSeperateUpvoteAndDownvote){
mDownvoteTextView.setTextColor(mDownvotedColor);
} else {
mScoreTextView.setTextColor(mDownvotedColor); mScoreTextView.setTextColor(mDownvotedColor);
}
} else { } else {
//Upvoted before //Upvoted before
mPost.setVoteType(0); mPost.setVoteType(0);
newVoteType = Integer.parseInt(APIUtils.DIR_UNVOTE); newVoteType = Integer.parseInt(APIUtils.DIR_UNVOTE);
mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN); mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN);
mScoreTextView.setTextColor(mPostIconAndInfoColor); mScoreTextView.setTextColor(mPostIconAndInfoColor);
mDownvoteTextView.setTextColor(mPostIconAndInfoColor);
} }
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpvoteAndDownvote){
int upvotes = (mPost.getVoteType() == 1) ? mPost.getUpvotes() + 1 : mPost.getUpvotes();
int downvotes = (mPost.getVoteType() == -1) ? mPost.getDownvotes() + 1 : Math.max(mPost.getDownvotes(),0);;
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
mDownvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else {
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
mPost.getScore() + mPost.getVoteType())); mPost.getScore() + mPost.getVoteType()));
} }
}
mPostDetailRecyclerViewAdapterCallback.updatePost(mPost); mPostDetailRecyclerViewAdapterCallback.updatePost(mPost);
@ -1414,18 +1479,30 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
if (newVoteType == Integer.parseInt(APIUtils.DIR_DOWNVOTE)) { if (newVoteType == Integer.parseInt(APIUtils.DIR_DOWNVOTE)) {
mPost.setVoteType(-1); mPost.setVoteType(-1);
mDownvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN); mDownvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN);
if(mSeperateUpvoteAndDownvote) {
mDownvoteTextView.setTextColor(mDownvotedColor);
} else {
mScoreTextView.setTextColor(mDownvotedColor); mScoreTextView.setTextColor(mDownvotedColor);
}
} else { } else {
mPost.setVoteType(0); mPost.setVoteType(0);
mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN); mDownvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN);
mScoreTextView.setTextColor(mPostIconAndInfoColor); mScoreTextView.setTextColor(mPostIconAndInfoColor);
mDownvoteTextView.setTextColor(mPostIconAndInfoColor);
} }
mUpvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN); mUpvoteButton.setColorFilter(mPostIconAndInfoColor, PorterDuff.Mode.SRC_IN);
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpvoteAndDownvote){
int upvotes = (mPost.getVoteType() == 1) ? mPost.getUpvotes() + 1 : mPost.getUpvotes();
int downvotes = (mPost.getVoteType() == -1) ? mPost.getDownvotes() + 1 : Math.max(mPost.getDownvotes(),0);;
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
mDownvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else {
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
mPost.getScore() + mPost.getVoteType())); mPost.getScore() + mPost.getVoteType()));
} }
}
mPostDetailRecyclerViewAdapterCallback.updatePost(mPost); mPostDetailRecyclerViewAdapterCallback.updatePost(mPost);
} }
@ -1435,9 +1512,16 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
Toast.makeText(mActivity, R.string.vote_failed, Toast.LENGTH_SHORT).show(); Toast.makeText(mActivity, R.string.vote_failed, Toast.LENGTH_SHORT).show();
mPost.setVoteType(previousVoteType); mPost.setVoteType(previousVoteType);
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeperateUpvoteAndDownvote) {
int upvotes = (previousVoteType == 1) ? mPost.getUpvotes() + 1 : mPost.getUpvotes();
int downvotes = (previousVoteType == -1) ? mPost.getDownvotes() + 1 : Math.max(mPost.getDownvotes(),0);
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
mDownvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else {
mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, mScoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes,
mPost.getScore() + previousVoteType)); mPost.getScore() + previousVoteType));
} }
}
mUpvoteButton.setColorFilter(previousUpvoteButtonColorFilter); mUpvoteButton.setColorFilter(previousUpvoteButtonColorFilter);
mDownvoteButton.setColorFilter(previousDownvoteButtonColorFilter); mDownvoteButton.setColorFilter(previousDownvoteButtonColorFilter);
mScoreTextView.setTextColor(previousScoreTextViewColor); mScoreTextView.setTextColor(previousScoreTextViewColor);
@ -1485,7 +1569,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
SavePost savePost = new SavePost(); SavePost savePost = new SavePost();
if (mPost.isSaved()) { if (mPost.isSaved()) {
mSaveButton.setImageResource(R.drawable.ic_bookmark_border_grey_24dp); mSaveButton.setImageResource(R.drawable.ic_bookmark_border_grey_24dp);
savePost.unsaveThing(mOauthRetrofit, mAccessToken, mPost.getId(), savePost.unsaveThing(mRetrofit, mAccessToken, mPost.getId(),
new SaveThing.SaveThingListener() { new SaveThing.SaveThingListener() {
@Override @Override
public void success() { public void success() {
@ -1683,6 +1767,9 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
ImageView mUpvoteButton; ImageView mUpvoteButton;
@BindView(R.id.score_text_view_item_post_detail_video_autoplay) @BindView(R.id.score_text_view_item_post_detail_video_autoplay)
TextView mScoreTextView; TextView mScoreTextView;
@BindView(R.id.downvote_text_view_item_post_detail_video_autoplay)
TextView mDownvoteTextView;
@BindView(R.id.minus_button_item_post_detail_video_autoplay) @BindView(R.id.minus_button_item_post_detail_video_autoplay)
ImageView mDownvoteButton; ImageView mDownvoteButton;
@BindView(R.id.comments_count_item_post_detail_video_autoplay) @BindView(R.id.comments_count_item_post_detail_video_autoplay)
@ -1721,6 +1808,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mBottomConstraintLayout, mBottomConstraintLayout,
mUpvoteButton, mUpvoteButton,
mScoreTextView, mScoreTextView,
mDownvoteTextView,
mDownvoteButton, mDownvoteButton,
commentsCountTextView, commentsCountTextView,
mSaveButton, mSaveButton,
@ -1982,6 +2070,9 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
ImageView mUpvoteButton; ImageView mUpvoteButton;
@BindView(R.id.score_text_view_item_post_detail_video_and_gif_preview) @BindView(R.id.score_text_view_item_post_detail_video_and_gif_preview)
TextView mScoreTextView; TextView mScoreTextView;
@BindView(R.id.downvote_text_view_item_post_detail_video_and_gif_preview)
TextView mDownvoteTextView;
@BindView(R.id.minus_button_item_post_detail_video_and_gif_preview) @BindView(R.id.minus_button_item_post_detail_video_and_gif_preview)
ImageView mDownvoteButton; ImageView mDownvoteButton;
@BindView(R.id.comments_count_item_post_detail_video_and_gif_preview) @BindView(R.id.comments_count_item_post_detail_video_and_gif_preview)
@ -2013,6 +2104,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mBottomConstraintLayout, mBottomConstraintLayout,
mUpvoteButton, mUpvoteButton,
mScoreTextView, mScoreTextView,
mDownvoteTextView,
mDownvoteButton, mDownvoteButton,
commentsCountTextView, commentsCountTextView,
mSaveButton, mSaveButton,
@ -2111,6 +2203,9 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
ImageView mUpvoteButton; ImageView mUpvoteButton;
@BindView(R.id.score_text_view_item_post_detail_image_and_gif_autoplay) @BindView(R.id.score_text_view_item_post_detail_image_and_gif_autoplay)
TextView mScoreTextView; TextView mScoreTextView;
@BindView(R.id.downvote_text_view_item_post_detail_image_and_gif_autoplay)
TextView mDownvoteTextView;
@BindView(R.id.minus_button_item_post_detail_image_and_gif_autoplay) @BindView(R.id.minus_button_item_post_detail_image_and_gif_autoplay)
ImageView mDownvoteButton; ImageView mDownvoteButton;
@BindView(R.id.comments_count_item_post_detail_image_and_gif_autoplay) @BindView(R.id.comments_count_item_post_detail_image_and_gif_autoplay)
@ -2142,6 +2237,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mBottomConstraintLayout, mBottomConstraintLayout,
mUpvoteButton, mUpvoteButton,
mScoreTextView, mScoreTextView,
mDownvoteTextView,
mDownvoteButton, mDownvoteButton,
commentsCountTextView, commentsCountTextView,
mSaveButton, mSaveButton,
@ -2226,6 +2322,9 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
ImageView mUpvoteButton; ImageView mUpvoteButton;
@BindView(R.id.score_text_view_item_post_detail_link) @BindView(R.id.score_text_view_item_post_detail_link)
TextView mScoreTextView; TextView mScoreTextView;
@BindView(R.id.downvote_text_view_item_post_detail_link)
TextView mDownvoteTextView;
@BindView(R.id.minus_button_item_post_detail_link) @BindView(R.id.minus_button_item_post_detail_link)
ImageView mDownvoteButton; ImageView mDownvoteButton;
@BindView(R.id.comments_count_item_post_detail_link) @BindView(R.id.comments_count_item_post_detail_link)
@ -2257,6 +2356,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mBottomConstraintLayout, mBottomConstraintLayout,
mUpvoteButton, mUpvoteButton,
mScoreTextView, mScoreTextView,
mDownvoteTextView,
mDownvoteButton, mDownvoteButton,
commentsCountTextView, commentsCountTextView,
mSaveButton, mSaveButton,
@ -2322,6 +2422,9 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
ImageView mUpvoteButton; ImageView mUpvoteButton;
@BindView(R.id.score_text_view_item_post_detail_no_preview_link) @BindView(R.id.score_text_view_item_post_detail_no_preview_link)
TextView mScoreTextView; TextView mScoreTextView;
@BindView(R.id.downvote_text_view_item_post_detail_no_preview_link)
TextView mDownvoteTextView;
@BindView(R.id.minus_button_item_post_detail_no_preview_link) @BindView(R.id.minus_button_item_post_detail_no_preview_link)
ImageView mDownvoteButton; ImageView mDownvoteButton;
@BindView(R.id.comments_count_item_post_detail_no_preview_link) @BindView(R.id.comments_count_item_post_detail_no_preview_link)
@ -2353,6 +2456,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mBottomConstraintLayout, mBottomConstraintLayout,
mUpvoteButton, mUpvoteButton,
mScoreTextView, mScoreTextView,
mDownvoteTextView,
mDownvoteButton, mDownvoteButton,
commentsCountTextView, commentsCountTextView,
mSaveButton, mSaveButton,
@ -2467,6 +2571,8 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
ImageView mUpvoteButton; ImageView mUpvoteButton;
@BindView(R.id.score_text_view_item_post_detail_gallery) @BindView(R.id.score_text_view_item_post_detail_gallery)
TextView mScoreTextView; TextView mScoreTextView;
@BindView(R.id.downvote_text_view_item_post_detail_gallery)
TextView mDownvoteTextView;
@BindView(R.id.minus_button_item_post_detail_gallery) @BindView(R.id.minus_button_item_post_detail_gallery)
ImageView mDownvoteButton; ImageView mDownvoteButton;
@BindView(R.id.comments_count_item_post_detail_gallery) @BindView(R.id.comments_count_item_post_detail_gallery)
@ -2499,6 +2605,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mBottomConstraintLayout, mBottomConstraintLayout,
mUpvoteButton, mUpvoteButton,
mScoreTextView, mScoreTextView,
mDownvoteTextView,
mDownvoteButton, mDownvoteButton,
commentsCountTextView, commentsCountTextView,
mSaveButton, mSaveButton,
@ -2654,6 +2761,9 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
ImageView mUpvoteButton; ImageView mUpvoteButton;
@BindView(R.id.score_text_view_item_post_detail_text) @BindView(R.id.score_text_view_item_post_detail_text)
TextView mScoreTextView; TextView mScoreTextView;
@BindView(R.id.downvote_text_view_item_post_detail_text)
TextView mDownvoteTextView;
@BindView(R.id.minus_button_item_post_detail_text) @BindView(R.id.minus_button_item_post_detail_text)
ImageView mDownvoteButton; ImageView mDownvoteButton;
@BindView(R.id.comments_count_item_post_detail_text) @BindView(R.id.comments_count_item_post_detail_text)
@ -2685,6 +2795,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mBottomConstraintLayout, mBottomConstraintLayout,
mUpvoteButton, mUpvoteButton,
mScoreTextView, mScoreTextView,
mDownvoteTextView,
mDownvoteButton, mDownvoteButton,
commentsCountTextView, commentsCountTextView,
mSaveButton, mSaveButton,

View File

@ -2636,6 +2636,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
int newVoteType; int newVoteType;
downvoteButton.setColorFilter(mPostIconAndInfoColor, android.graphics.PorterDuff.Mode.SRC_IN); downvoteButton.setColorFilter(mPostIconAndInfoColor, android.graphics.PorterDuff.Mode.SRC_IN);
downvoteTextView.setTextColor(mPostIconAndInfoColor);
if (previousVoteType != 1) { if (previousVoteType != 1) {
//Not upvoted before //Not upvoted before
@ -2653,8 +2654,15 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
} }
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeparateUpandDownVotes){
int upvotes = (post.getVoteType() == 1) ? post.getUpvotes() + 1 : post.getUpvotes();
int downvotes = (post.getVoteType() == -1) ? post.getDownvotes() + 1 : post.getDownvotes();
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else {
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType())); scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType()));
} }
}
VoteThing.votePost(mActivity, retrofit, mAccessToken, new VoteThing.VoteThingListener() { VoteThing.votePost(mActivity, retrofit, mAccessToken, new VoteThing.VoteThingListener() {
@Override @Override
@ -2677,9 +2685,16 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
if (currentPosition == position) { if (currentPosition == position) {
downvoteButton.setColorFilter(mPostIconAndInfoColor, android.graphics.PorterDuff.Mode.SRC_IN); downvoteButton.setColorFilter(mPostIconAndInfoColor, android.graphics.PorterDuff.Mode.SRC_IN);
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if (mSeparateUpandDownVotes) {
int upvotes = (post.getVoteType() == 1) ? post.getUpvotes() + 1 : post.getUpvotes();
int downvotes = (post.getVoteType() == -1) ? post.getDownvotes() + 1 : post.getDownvotes();
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else {
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType())); scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType()));
} }
} }
}
EventBus.getDefault().post(new PostUpdateEventToPostDetailFragment(post)); EventBus.getDefault().post(new PostUpdateEventToPostDetailFragment(post));
} }
@ -2756,11 +2771,10 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeparateUpandDownVotes){ if(mSeparateUpandDownVotes){
if(post.getVoteType() == -1) int upvotes = (post.getVoteType() == 1) ? post.getUpvotes() + 1 : post.getUpvotes();
downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getDownvotes() + 1 )); int downvotes = (post.getVoteType() == -1) ? post.getDownvotes() + 1 : post.getDownvotes();
else if (post.getVoteType() == 1){ scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getUpvotes() + 1)); downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
}
}else { }else {
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType())); scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType()));
} }
@ -2793,7 +2807,9 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
upvoteButton.setColorFilter(mPostIconAndInfoColor, android.graphics.PorterDuff.Mode.SRC_IN); upvoteButton.setColorFilter(mPostIconAndInfoColor, android.graphics.PorterDuff.Mode.SRC_IN);
if (!mHideTheNumberOfVotes) { if (!mHideTheNumberOfVotes) {
if(mSeparateUpandDownVotes){ if(mSeparateUpandDownVotes){
int upvotes = (post.getVoteType() == 1) ? post.getUpvotes() + 1 : post.getUpvotes();
int downvotes = (post.getVoteType() == -1) ? post.getDownvotes() + 1 : post.getDownvotes(); int downvotes = (post.getVoteType() == -1) ? post.getDownvotes() + 1 : post.getDownvotes();
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, upvotes));
downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes)); downvoteTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, downvotes));
} else { } else {
scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType())); scoreTextView.setText(Utils.getNVotes(mShowAbsoluteNumberOfVotes, post.getScore() + post.getVoteType()));

View File

@ -234,6 +234,22 @@ public class Comment implements Parcelable {
return upvotes-downvotes; return upvotes-downvotes;
} }
public int getDownvotes() {
return downvotes;
}
public void setDownvotes(int downvotes) {
this.downvotes = downvotes;
}
public int getUpvotes() {
return upvotes;
}
public void setUpvotes(int upvotes) {
this.upvotes = upvotes;
}
public boolean isSubmitter() { public boolean isSubmitter() {
return isSubmitter; return isSubmitter;
} }

View File

@ -657,7 +657,7 @@ public class ParsePost {
post.setVoteType(data.getInt("my_vote")); post.setVoteType(data.getInt("my_vote"));
if(post.getVoteType() == 1) if(post.getVoteType() == 1)
post.setUpvotes(post.getUpvotes() - 1); post.setUpvotes(post.getUpvotes() - 1);
else else if(post.getVoteType() == -1)
post.setDownvotes(post.getDownvotes() - 1); post.setDownvotes(post.getDownvotes() - 1);
} }
if (!data.getJSONObject("post").isNull("body")) { if (!data.getJSONObject("post").isNull("body")) {

View File

@ -197,6 +197,19 @@
app:layout_constraintStart_toEndOf="@+id/score_text_view_item_post_comment" app:layout_constraintStart_toEndOf="@+id/score_text_view_item_post_comment"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/downvote_text_view_item_post_comment"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:gravity="start"
android:textSize="?attr/font_12"
android:textStyle="bold"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/down_vote_button_item_post_comment"
app:layout_constraintTop_toTopOf="parent" />
<View <View
android:id="@+id/placeholder_item_post_comment" android:id="@+id/placeholder_item_post_comment"
android:layout_width="0dp" android:layout_width="0dp"

View File

@ -289,6 +289,19 @@
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_gallery" app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_gallery"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/downvote_text_view_item_post_detail_gallery"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:gravity="start"
android:visibility="gone"
android:textSize="?attr/font_12"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_gallery"
app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
android:id="@+id/comments_count_item_post_detail_gallery" android:id="@+id/comments_count_item_post_detail_gallery"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -301,7 +314,7 @@
android:textSize="?attr/font_12" android:textSize="?attr/font_12"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_gallery" app:layout_constraintStart_toEndOf="@id/downvote_text_view_item_post_detail_gallery"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<ImageView <ImageView

View File

@ -294,6 +294,19 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_image_and_gif_autoplay" /> app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_image_and_gif_autoplay" />
<TextView
android:id="@+id/downvote_text_view_item_post_detail_image_and_gif_autoplay"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="start"
android:textSize="?attr/font_12"
android:textStyle="bold"
android:fontFamily="?attr/font_family"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_image_and_gif_autoplay" />
<TextView <TextView
android:id="@+id/comments_count_item_post_detail_image_and_gif_autoplay" android:id="@+id/comments_count_item_post_detail_image_and_gif_autoplay"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -307,7 +320,7 @@
android:drawablePadding="12dp" android:drawablePadding="12dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_image_and_gif_autoplay" /> app:layout_constraintStart_toEndOf="@id/downvote_text_view_item_post_detail_image_and_gif_autoplay" />
<ImageView <ImageView
android:id="@+id/save_button_item_post_detail_image_and_gif_autoplay" android:id="@+id/save_button_item_post_detail_image_and_gif_autoplay"

View File

@ -304,6 +304,19 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_link" /> app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_link" />
<TextView
android:id="@+id/downvote_text_view_item_post_detail_link"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="start"
android:textSize="?attr/font_12"
android:textStyle="bold"
android:fontFamily="?attr/font_family"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_link" />
<TextView <TextView
android:id="@+id/comments_count_item_post_detail_link" android:id="@+id/comments_count_item_post_detail_link"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -317,7 +330,7 @@
android:drawablePadding="12dp" android:drawablePadding="12dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_link" /> app:layout_constraintStart_toEndOf="@id/downvote_text_view_item_post_detail_link" />
<ImageView <ImageView
android:id="@+id/save_button_item_post_detail_link" android:id="@+id/save_button_item_post_detail_link"

View File

@ -271,6 +271,19 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_no_preview_link" /> app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_no_preview_link" />
<TextView
android:id="@+id/downvote_text_view_item_post_detail_no_preview_link"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="start"
android:textSize="?attr/font_12"
android:textStyle="bold"
android:fontFamily="?attr/font_family"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_no_preview_link" />
<TextView <TextView
android:id="@+id/comments_count_item_post_detail_no_preview_link" android:id="@+id/comments_count_item_post_detail_no_preview_link"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -284,7 +297,7 @@
android:drawablePadding="12dp" android:drawablePadding="12dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_no_preview_link" /> app:layout_constraintStart_toEndOf="@id/downvote_text_view_item_post_detail_no_preview_link" />
<ImageView <ImageView
android:id="@+id/save_button_item_post_detail_no_preview_link" android:id="@+id/save_button_item_post_detail_no_preview_link"

View File

@ -255,6 +255,19 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_text" /> app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_text" />
<TextView
android:id="@+id/downvote_text_view_item_post_detail_text"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="start"
android:textSize="?attr/font_12"
android:textStyle="bold"
android:fontFamily="?attr/font_family"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_text" />
<TextView <TextView
android:id="@+id/comments_count_item_post_detail_text" android:id="@+id/comments_count_item_post_detail_text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -268,7 +281,7 @@
android:drawablePadding="12dp" android:drawablePadding="12dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_text" /> app:layout_constraintStart_toEndOf="@id/downvote_text_view_item_post_detail_text" />
<ImageView <ImageView
android:id="@+id/save_button_item_post_detail_text" android:id="@+id/save_button_item_post_detail_text"

View File

@ -307,6 +307,19 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_video_and_gif_preview" /> app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_video_and_gif_preview" />
<TextView
android:id="@+id/downvote_text_view_item_post_detail_video_and_gif_preview"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="start"
android:textSize="?attr/font_12"
android:textStyle="bold"
android:fontFamily="?attr/font_family"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_video_and_gif_preview" />
<TextView <TextView
android:id="@+id/comments_count_item_post_detail_video_and_gif_preview" android:id="@+id/comments_count_item_post_detail_video_and_gif_preview"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -320,7 +333,7 @@
android:drawablePadding="12dp" android:drawablePadding="12dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_video_and_gif_preview" /> app:layout_constraintStart_toEndOf="@id/downvote_text_view_item_post_detail_video_and_gif_preview" />
<ImageView <ImageView
android:id="@+id/save_button_item_post_detail_video_and_gif_preview" android:id="@+id/save_button_item_post_detail_video_and_gif_preview"

View File

@ -288,6 +288,19 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_video_autoplay" /> app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_video_autoplay" />
<TextView
android:id="@+id/downvote_text_view_item_post_detail_video_autoplay"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="start"
android:textSize="?attr/font_12"
android:textStyle="bold"
android:fontFamily="?attr/font_family"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_video_autoplay" />
<TextView <TextView
android:id="@+id/comments_count_item_post_detail_video_autoplay" android:id="@+id/comments_count_item_post_detail_video_autoplay"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -301,7 +314,7 @@
android:drawablePadding="12dp" android:drawablePadding="12dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_video_autoplay" /> app:layout_constraintStart_toEndOf="@id/downvote_text_view_item_post_detail_video_autoplay" />
<ImageView <ImageView
android:id="@+id/save_button_item_post_detail_video_autoplay" android:id="@+id/save_button_item_post_detail_video_autoplay"

View File

@ -289,6 +289,19 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_video_autoplay" /> app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_video_autoplay" />
<TextView
android:id="@+id/downvote_text_view_item_post_detail_video_autoplay"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="start"
android:textSize="?attr/font_12"
android:textStyle="bold"
android:fontFamily="?attr/font_family"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_video_autoplay" />
<TextView <TextView
android:id="@+id/comments_count_item_post_detail_video_autoplay" android:id="@+id/comments_count_item_post_detail_video_autoplay"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -302,7 +315,7 @@
android:drawablePadding="12dp" android:drawablePadding="12dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_video_autoplay" /> app:layout_constraintStart_toEndOf="@id/downvote_text_view_item_post_detail_video_autoplay" />
<ImageView <ImageView
android:id="@+id/save_button_item_post_detail_video_autoplay" android:id="@+id/save_button_item_post_detail_video_autoplay"

View File

@ -975,4 +975,24 @@
<string name="label_reddit">Lemmy</string> <string name="label_reddit">Lemmy</string>
<string name="about">Az appról</string> <string name="about">Az appról</string>
<string name="settings_open_navigation_drawer">Navigációs fiók megnyitása</string> <string name="settings_open_navigation_drawer">Navigációs fiók megnyitása</string>
<string name="post_gallery_activity_label">Galéria Poszt</string>
<string name="action_block_user">Felhasználó tiltása</string>
<string name="trending_activity_label">Felkapott</string>
<string name="wiki_activity_label">Wiki</string>
<string name="edit_profile_activity_label">Profil szerkesztése</string>
<string name="action_open_external_browser">Megnyitás böngészőben</string>
<string name="action_delete_logs">Logok törlése</string>
<string name="post_poll_activity_label">Szavazás Poszt</string>
<string name="history_activity_label">Előzmények</string>
<string name="action_create_github_issue">Codeberg hibajegy létrehozása</string>
<string name="action_go_to_wiki">Menj Wiki-re</string>
<string name="action_share_post_link">Poszt link megosztása</string>
<string name="action_playback_speed">Lejátszási sebesség</string>
<string name="action_more_options">További műveletek</string>
<string name="anonymous_homepage_not_implemented">Az Anonymous főoldal még nincs implementálva</string>
<string name="history">Előzmények</string>
<string name="inbox_with_count">Bejövő üzenetek (%1$,d)</string>
<string name="trending">Felkapott</string>
<string name="invalid_response">Érvénytelen válasz a kiszolgálótól</string>
<string name="invalid_username_or_password">Helytelen felhasználónév vagy jelszó</string>
</resources> </resources>

View File

@ -90,7 +90,7 @@
<string name="action_open_external_browser">Open in browser</string> <string name="action_open_external_browser">Open in browser</string>
<string name="action_add_to_post_filter">Add to Post Filter</string> <string name="action_add_to_post_filter">Add to Post Filter</string>
<string name="action_delete_logs">Delete Logs</string> <string name="action_delete_logs">Delete Logs</string>
<string name="action_create_github_issue">Create GitHub Issue</string> <string name="action_create_github_issue">Create Codeberg Issue</string>
<string name="action_share_post_link">Share Post Link</string> <string name="action_share_post_link">Share Post Link</string>
<string name="action_go_to_wiki">Go to Wiki</string> <string name="action_go_to_wiki">Go to Wiki</string>
<string name="action_playback_speed">Playback Speed</string> <string name="action_playback_speed">Playback Speed</string>