mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-02-03 05:14:45 +01:00
Add a mic icon if the user is the submitter in comments. Add a mod icon if the user is a moderator. Tweak the vertical bar colors in comments in dark theme.
This commit is contained in:
parent
837e461451
commit
edf85c2bc3
4
.idea/assetWizardSettings.xml
generated
4
.idea/assetWizardSettings.xml
generated
@ -159,8 +159,8 @@
|
|||||||
<map>
|
<map>
|
||||||
<entry key="assetSourceType" value="FILE" />
|
<entry key="assetSourceType" value="FILE" />
|
||||||
<entry key="color" value="ffffff" />
|
<entry key="color" value="ffffff" />
|
||||||
<entry key="outputName" value="ic_bookmark_border_18dp" />
|
<entry key="outputName" value="ic_verified_user_14dp" />
|
||||||
<entry key="sourceFile" value="$USER_HOME$/Documents/24px.svg" />
|
<entry key="sourceFile" value="$USER_HOME$/Downloads/verified_user-24px.svg" />
|
||||||
</map>
|
</map>
|
||||||
</option>
|
</option>
|
||||||
</PersistentState>
|
</PersistentState>
|
||||||
|
@ -568,6 +568,20 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie
|
|||||||
String authorPrefixed = "u/" + comment.getAuthor();
|
String authorPrefixed = "u/" + comment.getAuthor();
|
||||||
((CommentViewHolder) holder).authorTextView.setText(authorPrefixed);
|
((CommentViewHolder) holder).authorTextView.setText(authorPrefixed);
|
||||||
|
|
||||||
|
if(comment.isSubmitter()) {
|
||||||
|
((CommentViewHolder) holder).authorTextView.setTextColor(ContextCompat.getColor(mActivity, R.color.submitter));
|
||||||
|
((CommentViewHolder) holder).authorTypeImageView.setVisibility(View.VISIBLE);
|
||||||
|
((CommentViewHolder) holder).authorTypeImageView.
|
||||||
|
setColorFilter(ContextCompat.getColor(mActivity, R.color.submitter), android.graphics.PorterDuff.Mode.SRC_IN);
|
||||||
|
((CommentViewHolder) holder).authorTypeImageView.setImageResource(R.drawable.ic_mic_14dp);
|
||||||
|
} else if(comment.isModerator()) {
|
||||||
|
((CommentViewHolder) holder).authorTextView.setTextColor(ContextCompat.getColor(mActivity, R.color.moderator));
|
||||||
|
((CommentViewHolder) holder).authorTypeImageView.setVisibility(View.VISIBLE);
|
||||||
|
((CommentViewHolder) holder).authorTypeImageView.
|
||||||
|
setColorFilter(ContextCompat.getColor(mActivity, R.color.moderator), android.graphics.PorterDuff.Mode.SRC_IN);
|
||||||
|
((CommentViewHolder) holder).authorTypeImageView.setImageResource(R.drawable.ic_verified_user_14dp);
|
||||||
|
}
|
||||||
|
|
||||||
((CommentViewHolder) holder).commentTimeTextView.setText(comment.getCommentTime());
|
((CommentViewHolder) holder).commentTimeTextView.setText(comment.getCommentTime());
|
||||||
|
|
||||||
mMarkwon.setMarkdown(((CommentViewHolder) holder).commentMarkdownView, comment.getCommentContent());
|
mMarkwon.setMarkdown(((CommentViewHolder) holder).commentMarkdownView, comment.getCommentContent());
|
||||||
@ -1151,6 +1165,10 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie
|
|||||||
@Override
|
@Override
|
||||||
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
|
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
|
||||||
if (holder instanceof CommentViewHolder) {
|
if (holder instanceof CommentViewHolder) {
|
||||||
|
((CommentViewHolder) holder).authorTextView.setTextColor(
|
||||||
|
ContextCompat.getColor(mActivity, R.color.colorPrimaryDarkDayNightTheme));
|
||||||
|
mGlide.clear(((CommentViewHolder) holder).authorTypeImageView);
|
||||||
|
((CommentViewHolder) holder).authorTypeImageView.setVisibility(View.GONE);
|
||||||
((CommentViewHolder) holder).moreButton.setVisibility(View.GONE);
|
((CommentViewHolder) holder).moreButton.setVisibility(View.GONE);
|
||||||
((CommentViewHolder) holder).expandButton.setVisibility(View.GONE);
|
((CommentViewHolder) holder).expandButton.setVisibility(View.GONE);
|
||||||
((CommentViewHolder) holder).upVoteButton.clearColorFilter();
|
((CommentViewHolder) holder).upVoteButton.clearColorFilter();
|
||||||
@ -1415,6 +1433,7 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie
|
|||||||
|
|
||||||
class CommentViewHolder extends RecyclerView.ViewHolder {
|
class CommentViewHolder extends RecyclerView.ViewHolder {
|
||||||
@BindView(R.id.author_text_view_item_post_comment) TextView authorTextView;
|
@BindView(R.id.author_text_view_item_post_comment) TextView authorTextView;
|
||||||
|
@BindView(R.id.author_type_image_view_item_comment) ImageView authorTypeImageView;
|
||||||
@BindView(R.id.comment_time_text_view_item_post_comment) TextView commentTimeTextView;
|
@BindView(R.id.comment_time_text_view_item_post_comment) TextView commentTimeTextView;
|
||||||
@BindView(R.id.comment_markdown_view_item_post_comment) TextView commentMarkdownView;
|
@BindView(R.id.comment_markdown_view_item_post_comment) TextView commentMarkdownView;
|
||||||
@BindView(R.id.up_vote_button_item_post_comment) ImageView upVoteButton;
|
@BindView(R.id.up_vote_button_item_post_comment) ImageView upVoteButton;
|
||||||
|
@ -22,6 +22,7 @@ class CommentData implements Parcelable {
|
|||||||
private int score;
|
private int score;
|
||||||
private int voteType;
|
private int voteType;
|
||||||
private boolean isSubmitter;
|
private boolean isSubmitter;
|
||||||
|
private String distinguished;
|
||||||
private String permalink;
|
private String permalink;
|
||||||
private int depth;
|
private int depth;
|
||||||
private boolean collapsed;
|
private boolean collapsed;
|
||||||
@ -37,8 +38,9 @@ class CommentData implements Parcelable {
|
|||||||
private boolean isLoadingMoreChildren;
|
private boolean isLoadingMoreChildren;
|
||||||
private boolean loadMoreChildrenFailed;
|
private boolean loadMoreChildrenFailed;
|
||||||
|
|
||||||
CommentData(String id, String fullName, String author, String linkAuthor, String commentTime, String commentContent,
|
CommentData(String id, String fullName, String author, String linkAuthor, String commentTime,
|
||||||
String linkId, String subredditName, String parentId, int score, int voteType, boolean isSubmitter, String permalink,
|
String commentContent, String linkId, String subredditName, String parentId, int score,
|
||||||
|
int voteType, boolean isSubmitter, String distinguished, String permalink,
|
||||||
int depth, boolean collapsed, boolean hasReply, boolean scoreHidden, boolean saved) {
|
int depth, boolean collapsed, boolean hasReply, boolean scoreHidden, boolean saved) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.fullName = fullName;
|
this.fullName = fullName;
|
||||||
@ -52,6 +54,7 @@ class CommentData implements Parcelable {
|
|||||||
this.score = score;
|
this.score = score;
|
||||||
this.voteType = voteType;
|
this.voteType = voteType;
|
||||||
this.isSubmitter = isSubmitter;
|
this.isSubmitter = isSubmitter;
|
||||||
|
this.distinguished = distinguished;
|
||||||
this.permalink = RedditUtils.API_BASE_URI + permalink;
|
this.permalink = RedditUtils.API_BASE_URI + permalink;
|
||||||
this.depth = depth;
|
this.depth = depth;
|
||||||
this.collapsed = collapsed;
|
this.collapsed = collapsed;
|
||||||
@ -84,6 +87,7 @@ class CommentData implements Parcelable {
|
|||||||
score = in.readInt();
|
score = in.readInt();
|
||||||
voteType = in.readInt();
|
voteType = in.readInt();
|
||||||
isSubmitter = in.readByte() != 0;
|
isSubmitter = in.readByte() != 0;
|
||||||
|
distinguished = in.readString();
|
||||||
permalink = in.readString();
|
permalink = in.readString();
|
||||||
depth = in.readInt();
|
depth = in.readInt();
|
||||||
collapsed = in.readByte() != 0;
|
collapsed = in.readByte() != 0;
|
||||||
@ -170,6 +174,10 @@ class CommentData implements Parcelable {
|
|||||||
return isSubmitter;
|
return isSubmitter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isModerator() {
|
||||||
|
return distinguished != null && distinguished.equals("moderator");
|
||||||
|
}
|
||||||
|
|
||||||
public String getPermalink() {
|
public String getPermalink() {
|
||||||
return permalink;
|
return permalink;
|
||||||
}
|
}
|
||||||
@ -312,6 +320,7 @@ class CommentData implements Parcelable {
|
|||||||
parcel.writeInt(score);
|
parcel.writeInt(score);
|
||||||
parcel.writeInt(voteType);
|
parcel.writeInt(voteType);
|
||||||
parcel.writeByte((byte) (isSubmitter ? 1 : 0));
|
parcel.writeByte((byte) (isSubmitter ? 1 : 0));
|
||||||
|
parcel.writeString(distinguished);
|
||||||
parcel.writeString(permalink);
|
parcel.writeString(permalink);
|
||||||
parcel.writeInt(depth);
|
parcel.writeInt(depth);
|
||||||
parcel.writeByte((byte) (collapsed ? 1 : 0));
|
parcel.writeByte((byte) (collapsed ? 1 : 0));
|
||||||
|
@ -299,7 +299,14 @@ public class MainActivity extends AppCompatActivity implements SortTypeBottomShe
|
|||||||
getCurrentAccountAndBindView();
|
getCurrentAccountAndBindView();
|
||||||
}
|
}
|
||||||
|
|
||||||
fab.setOnClickListener(view -> postTypeBottomSheetFragment.show(getSupportFragmentManager(), postTypeBottomSheetFragment.getTag()));
|
fab.setOnClickListener(view -> {
|
||||||
|
if(mAccessToken == null) {
|
||||||
|
Toast.makeText(MainActivity.this, R.string.login_first, Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
postTypeBottomSheetFragment.show(getSupportFragmentManager(), postTypeBottomSheetFragment.getTag());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getCurrentAccountAndBindView() {
|
private void getCurrentAccountAndBindView() {
|
||||||
|
@ -217,6 +217,7 @@ class ParseComment {
|
|||||||
String subredditName = singleCommentData.getString(JSONUtils.SUBREDDIT_KEY);
|
String subredditName = singleCommentData.getString(JSONUtils.SUBREDDIT_KEY);
|
||||||
String parentId = singleCommentData.getString(JSONUtils.PARENT_ID_KEY);
|
String parentId = singleCommentData.getString(JSONUtils.PARENT_ID_KEY);
|
||||||
boolean isSubmitter = singleCommentData.getBoolean(JSONUtils.IS_SUBMITTER_KEY);
|
boolean isSubmitter = singleCommentData.getBoolean(JSONUtils.IS_SUBMITTER_KEY);
|
||||||
|
String distinguished = singleCommentData.getString(JSONUtils.DISTINGUISHED_KEY);
|
||||||
String commentContent = "";
|
String commentContent = "";
|
||||||
if(!singleCommentData.isNull(JSONUtils.BODY_KEY)) {
|
if(!singleCommentData.isNull(JSONUtils.BODY_KEY)) {
|
||||||
commentContent = Utils.addSubredditAndUserLink(singleCommentData.getString(JSONUtils.BODY_KEY).trim());
|
commentContent = Utils.addSubredditAndUserLink(singleCommentData.getString(JSONUtils.BODY_KEY).trim());
|
||||||
@ -247,8 +248,8 @@ class ParseComment {
|
|||||||
boolean hasReply = !(singleCommentData.get(JSONUtils.REPLIES_KEY) instanceof String);
|
boolean hasReply = !(singleCommentData.get(JSONUtils.REPLIES_KEY) instanceof String);
|
||||||
|
|
||||||
return new CommentData(id, fullName, author, linkAuthor, formattedSubmitTime, commentContent,
|
return new CommentData(id, fullName, author, linkAuthor, formattedSubmitTime, commentContent,
|
||||||
linkId, subredditName, parentId, score, voteType, isSubmitter, permalink, depth, collapsed,
|
linkId, subredditName, parentId, score, voteType, isSubmitter, distinguished,
|
||||||
hasReply, scoreHidden, saved);
|
permalink, depth, collapsed, hasReply, scoreHidden, saved);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@ -197,7 +197,7 @@ public class ViewSubredditDetailActivity extends AppCompatActivity implements So
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
subredditName = getIntent().getExtras().getString(EXTRA_SUBREDDIT_NAME_KEY);
|
subredditName = getIntent().getStringExtra(EXTRA_SUBREDDIT_NAME_KEY);
|
||||||
|
|
||||||
if(savedInstanceState == null) {
|
if(savedInstanceState == null) {
|
||||||
mMessageFullname = getIntent().getStringExtra(EXTRA_MESSAGE_FULLNAME);
|
mMessageFullname = getIntent().getStringExtra(EXTRA_MESSAGE_FULLNAME);
|
||||||
@ -313,7 +313,14 @@ public class ViewSubredditDetailActivity extends AppCompatActivity implements So
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
fab.setOnClickListener(view -> postTypeBottomSheetFragment.show(getSupportFragmentManager(), postTypeBottomSheetFragment.getTag()));
|
fab.setOnClickListener(view -> {
|
||||||
|
if(mAccessToken == null) {
|
||||||
|
Toast.makeText(ViewSubredditDetailActivity.this, R.string.login_first, Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
postTypeBottomSheetFragment.show(getSupportFragmentManager(), postTypeBottomSheetFragment.getTag());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getCurrentAccountAndBindView() {
|
private void getCurrentAccountAndBindView() {
|
||||||
|
4
app/src/main/res/drawable/ic_mic_14dp.xml
Normal file
4
app/src/main/res/drawable/ic_mic_14dp.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<vector android:height="14dp" android:viewportHeight="24"
|
||||||
|
android:viewportWidth="24" android:width="14dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#FF000000" android:pathData="M12,14c1.66,0 2.99,-1.34 2.99,-3L15,5c0,-1.66 -1.34,-3 -3,-3S9,3.34 9,5v6c0,1.66 1.34,3 3,3zM17.3,11c0,3 -2.54,5.1 -5.3,5.1S6.7,14 6.7,11L5,11c0,3.41 2.72,6.23 6,6.72L11,21h2v-3.28c3.28,-0.48 6,-3.3 6,-6.72h-1.7z"/>
|
||||||
|
</vector>
|
4
app/src/main/res/drawable/ic_verified_user_14dp.xml
Normal file
4
app/src/main/res/drawable/ic_verified_user_14dp.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<vector android:height="14dp" android:viewportHeight="24"
|
||||||
|
android:viewportWidth="24" android:width="14dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#FF000000" android:pathData="M12,1L3,5v6c0,5.55 3.84,10.74 9,12 5.16,-1.26 9,-6.45 9,-12L21,5l-9,-4zM10,17l-4,-4 1.41,-1.41L10,14.17l6.59,-6.59L18,9l-8,8z"/>
|
||||||
|
</vector>
|
@ -30,23 +30,33 @@
|
|||||||
android:id="@+id/author_text_view_item_post_comment"
|
android:id="@+id/author_text_view_item_post_comment"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="16dp"
|
|
||||||
android:textColor="@color/colorPrimaryDarkDayNightTheme"
|
android:textColor="@color/colorPrimaryDarkDayNightTheme"
|
||||||
android:textSize="?attr/font_default"
|
android:textSize="?attr/font_default"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@id/comment_time_text_view_item_post_comment"
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
app:layout_constraintHorizontal_bias="0" />
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/author_type_image_view_item_comment"
|
||||||
|
android:layout_width="?attr/font_default"
|
||||||
|
android:layout_height="?attr/font_default"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/author_text_view_item_post_comment" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/comment_time_text_view_item_post_comment"
|
android:id="@+id/comment_time_text_view_item_post_comment"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
android:textSize="?attr/font_default"
|
android:textSize="?attr/font_default"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/author_type_image_view_item_comment"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="1" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
@ -54,5 +54,13 @@
|
|||||||
|
|
||||||
<color name="defaultTextColor">#B3FFFFFF</color>
|
<color name="defaultTextColor">#B3FFFFFF</color>
|
||||||
|
|
||||||
|
<color name="commentVerticalBar1">#1565C0</color>
|
||||||
|
<color name="commentVerticalBar2">#C300B3</color>
|
||||||
|
<color name="commentVerticalBar3">#00B8DA</color>
|
||||||
|
<color name="commentVerticalBar4">#EDCA00</color>
|
||||||
|
<color name="commentVerticalBar5">#EE0219</color>
|
||||||
|
<color name="commentVerticalBar6">#00B925</color>
|
||||||
|
<color name="commentVerticalBar7">#EE4602</color>
|
||||||
|
|
||||||
<color name="greyTabBackgroundColor">#282828</color>
|
<color name="greyTabBackgroundColor">#282828</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -71,4 +71,8 @@
|
|||||||
<color name="commentVerticalBar7">#EE4602</color>
|
<color name="commentVerticalBar7">#EE4602</color>
|
||||||
|
|
||||||
<color name="greyTabBackgroundColor">@color/colorPrimary</color>
|
<color name="greyTabBackgroundColor">@color/colorPrimary</color>
|
||||||
|
|
||||||
|
<color name="submitter">#EE8A02</color>
|
||||||
|
|
||||||
|
<color name="moderator">#00BA81</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user