aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2019-06-14 10:14:49 +0000
committerAlex Ning <chineseperson5@gmail.com>2019-06-14 10:14:49 +0000
commit502cbe02ba9ad397d616961bd7cb85ae66aced8e (patch)
treea35426388cc2e86d2841c3c9bcc37eee1d790bfb
parent72d811186f09aea6a6be93b5e4cf1d35083d2462 (diff)
downloadinfinity-for-reddit-502cbe02ba9ad397d616961bd7cb85ae66aced8e.tar
infinity-for-reddit-502cbe02ba9ad397d616961bd7cb85ae66aced8e.tar.gz
infinity-for-reddit-502cbe02ba9ad397d616961bd7cb85ae66aced8e.tar.bz2
infinity-for-reddit-502cbe02ba9ad397d616961bd7cb85ae66aced8e.tar.lz
infinity-for-reddit-502cbe02ba9ad397d616961bd7cb85ae66aced8e.tar.xz
infinity-for-reddit-502cbe02ba9ad397d616961bd7cb85ae66aced8e.tar.zst
infinity-for-reddit-502cbe02ba9ad397d616961bd7cb85ae66aced8e.zip
Reply to comments. Preparing for comment deletion.
-rw-r--r--.idea/assetWizardSettings.xml8
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/CommentActivity.java24
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/CommentMultiLevelRecyclerViewAdapter.java77
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/JSONUtils.java1
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/ParseComment.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/RedditAPI.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java8
-rw-r--r--app/src/main/res/drawable/ic_outline_share_20px.xml4
-rw-r--r--app/src/main/res/layout/activity_comment.xml9
-rw-r--r--app/src/main/res/layout/item_comment.xml15
-rw-r--r--app/src/main/res/values/strings.xml1
11 files changed, 119 insertions, 34 deletions
diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index 9bb2c988..7af04eea 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -33,9 +33,13 @@
</option>
<option name="values">
<map>
+ <entry key="assetSourceType" value="FILE" />
<entry key="color" value="ffffff" />
- <entry key="outputName" value="ic_send_white_24dp" />
- <entry key="sourceFile" value="$USER_HOME$/Downloads/outline-search-24px.svg" />
+ <entry key="height" value="20" />
+ <entry key="outputName" value="ic_outline_share_20px" />
+ <entry key="overrideSize" value="true" />
+ <entry key="sourceFile" value="$USER_HOME$/Downloads/outline-share-20px.svg" />
+ <entry key="width" value="20" />
</map>
</option>
</PersistentState>
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentActivity.java
index bc2697da..9bf4ebc7 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentActivity.java
@@ -3,10 +3,10 @@ package ml.docilealligator.infinityforreddit;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
-import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
@@ -21,6 +21,7 @@ import javax.inject.Named;
import butterknife.BindView;
import butterknife.ButterKnife;
import retrofit2.Retrofit;
+import ru.noties.markwon.view.MarkwonView;
public class CommentActivity extends AppCompatActivity {
@@ -28,15 +29,19 @@ public class CommentActivity extends AppCompatActivity {
static final String EXTRA_PARENT_FULLNAME_KEY = "EPFK";
static final String EXTRA_COMMENT_DATA_KEY = "ECDK";
static final String EXTRA_PARENT_DEPTH_KEY = "EPDK";
+ static final String EXTRA_PARENT_POSITION_KEY = "EPPK";
+ static final String EXTRA_IS_REPLYING_KEY = "EIRK";
static final int WRITE_COMMENT_REQUEST_CODE = 1;
@BindView(R.id.coordinator_layout_comment_activity) CoordinatorLayout coordinatorLayout;
@BindView(R.id.toolbar_comment_activity) Toolbar toolbar;
- @BindView(R.id.comment_parent_text_view_comment_activity) TextView commentParentTextView;
+ @BindView(R.id.comment_parent_markwon_view_comment_activity) MarkwonView commentParentMarkwonView;
@BindView(R.id.comment_edit_text_comment_activity) EditText commentEditText;
private String parentFullname;
private int parentDepth;
+ private int parentPosition;
+ private boolean isReplying;
@Inject
@Named("oauth")
@@ -55,12 +60,18 @@ public class CommentActivity extends AppCompatActivity {
((Infinity) getApplication()).getmAppComponent().inject(this);
- setSupportActionBar(toolbar);
-
Intent intent = getIntent();
- commentParentTextView.setText(intent.getExtras().getString(EXTRA_COMMENT_PARENT_TEXT_KEY));
+ commentParentMarkwonView.setMarkdown(intent.getExtras().getString(EXTRA_COMMENT_PARENT_TEXT_KEY));
parentFullname = intent.getExtras().getString(EXTRA_PARENT_FULLNAME_KEY);
parentDepth = intent.getExtras().getInt(EXTRA_PARENT_DEPTH_KEY);
+ parentPosition = intent.getExtras().getInt(EXTRA_PARENT_POSITION_KEY);
+ isReplying = intent.getExtras().getBoolean(EXTRA_IS_REPLYING_KEY);
+ if(isReplying) {
+ toolbar.setTitle(getString(R.string.comment_activity_label_is_replying));
+ }
+
+ Log.i("fullname", parentFullname);
+ setSupportActionBar(toolbar);
}
@Override
@@ -89,6 +100,9 @@ public class CommentActivity extends AppCompatActivity {
public void sendCommentSuccess(CommentData commentData) {
Intent returnIntent = new Intent();
returnIntent.putExtra(EXTRA_COMMENT_DATA_KEY, commentData);
+ if(isReplying) {
+ returnIntent.putExtra(EXTRA_PARENT_POSITION_KEY, parentPosition);
+ }
setResult(RESULT_OK, returnIntent);
finish();
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentMultiLevelRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentMultiLevelRecyclerViewAdapter.java
index 10a89be2..1f5795fe 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentMultiLevelRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentMultiLevelRecyclerViewAdapter.java
@@ -1,6 +1,6 @@
package ml.docilealligator.infinityforreddit;
-import android.content.Context;
+import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.ColorFilter;
@@ -33,7 +33,7 @@ import ru.noties.markwon.SpannableConfiguration;
import ru.noties.markwon.view.MarkwonView;
class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
- private Context mContext;
+ private Activity mActivity;
private Retrofit mRetrofit;
private Retrofit mOauthRetrofit;
private SharedPreferences mSharedPreferences;
@@ -43,12 +43,12 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
private String article;
private Locale locale;
- CommentMultiLevelRecyclerViewAdapter(Context context, Retrofit retrofit, Retrofit oauthRetrofit,
+ CommentMultiLevelRecyclerViewAdapter(Activity activity, Retrofit retrofit, Retrofit oauthRetrofit,
SharedPreferences sharedPreferences, ArrayList<CommentData> commentData,
MultiLevelRecyclerView multiLevelRecyclerView,
String subredditNamePrefixed, String article, Locale locale) {
super(commentData);
- mContext = context;
+ mActivity = activity;
mRetrofit = retrofit;
mOauthRetrofit = oauthRetrofit;
mSharedPreferences = sharedPreferences;
@@ -72,28 +72,28 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
String authorPrefixed = "u/" + commentItem.getAuthor();
((CommentViewHolder) holder).authorTextView.setText(authorPrefixed);
((CommentViewHolder) holder).authorTextView.setOnClickListener(view -> {
- Intent intent = new Intent(mContext, ViewUserDetailActivity.class);
+ Intent intent = new Intent(mActivity, ViewUserDetailActivity.class);
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, commentItem.getAuthor());
- mContext.startActivity(intent);
+ mActivity.startActivity(intent);
});
((CommentViewHolder) holder).commentTimeTextView.setText(commentItem.getCommentTime());
- SpannableConfiguration spannableConfiguration = SpannableConfiguration.builder(mContext).linkResolver((view, link) -> {
+ SpannableConfiguration spannableConfiguration = SpannableConfiguration.builder(mActivity).linkResolver((view, link) -> {
if (link.startsWith("/u/") || link.startsWith("u/")) {
- Intent intent = new Intent(mContext, ViewUserDetailActivity.class);
+ Intent intent = new Intent(mActivity, ViewUserDetailActivity.class);
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, link.substring(3));
- mContext.startActivity(intent);
+ mActivity.startActivity(intent);
} else if (link.startsWith("/r/") || link.startsWith("r/")) {
- Intent intent = new Intent(mContext, ViewSubredditDetailActivity.class);
+ Intent intent = new Intent(mActivity, ViewSubredditDetailActivity.class);
intent.putExtra(ViewSubredditDetailActivity.EXTRA_SUBREDDIT_NAME_KEY, link.substring(3));
- mContext.startActivity(intent);
+ mActivity.startActivity(intent);
} else {
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
// add share action to menu list
builder.addDefaultShareMenuItem();
- builder.setToolbarColor(mContext.getResources().getColor(R.color.colorPrimary));
+ builder.setToolbarColor(mActivity.getResources().getColor(R.color.colorPrimary));
CustomTabsIntent customTabsIntent = builder.build();
- customTabsIntent.launchUrl(mContext, Uri.parse(link));
+ customTabsIntent.launchUrl(mActivity, Uri.parse(link));
}
}).build();
@@ -105,6 +105,17 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
setExpandButton(((CommentViewHolder) holder).expandButton, commentItem.isExpanded());
}
+ ((CommentViewHolder) holder).shareButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent(Intent.ACTION_SEND);
+ intent.setType("text/plain");
+ String extraText = commentItem.getPermalink();
+ intent.putExtra(Intent.EXTRA_TEXT, extraText);
+ mActivity.startActivity(Intent.createChooser(intent, "Share"));
+ }
+ });
+
((CommentViewHolder) holder).expandButton.setOnClickListener(view -> {
if (commentItem.hasChildren() && commentItem.getChildren().size() > 0) {
mMultiLevelRecyclerView.toggleItemsGroup(holder.getAdapterPosition());
@@ -132,14 +143,23 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
}
});
+ ((CommentViewHolder) holder).replyButton.setOnClickListener(view -> {
+ Intent intent = new Intent(mActivity, CommentActivity.class);
+ intent.putExtra(CommentActivity.EXTRA_PARENT_DEPTH_KEY, commentItem.getDepth() + 1);
+ intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TEXT_KEY, commentItem.getCommentContent());
+ intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, commentItem.getFullName());
+ intent.putExtra(CommentActivity.EXTRA_IS_REPLYING_KEY, true);
+ mActivity.startActivityForResult(intent, CommentActivity.WRITE_COMMENT_REQUEST_CODE);
+ });
+
switch (commentItem.getVoteType()) {
case 1:
((CommentViewHolder) holder).upvoteButton
- .setColorFilter(ContextCompat.getColor(mContext, R.color.colorPrimary), android.graphics.PorterDuff.Mode.SRC_IN);
+ .setColorFilter(ContextCompat.getColor(mActivity, R.color.colorPrimary), android.graphics.PorterDuff.Mode.SRC_IN);
break;
case 2:
((CommentViewHolder) holder).downvoteButton
- .setColorFilter(ContextCompat.getColor(mContext, R.color.minusButtonColor), android.graphics.PorterDuff.Mode.SRC_IN);
+ .setColorFilter(ContextCompat.getColor(mActivity, R.color.minusButtonColor), android.graphics.PorterDuff.Mode.SRC_IN);
break;
}
@@ -156,7 +176,7 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
commentItem.setVoteType(1);
newVoteType = RedditUtils.DIR_UPVOTE;
((CommentViewHolder) holder).upvoteButton
- .setColorFilter(ContextCompat.getColor(mContext, R.color.backgroundColorPrimaryDark), android.graphics.PorterDuff.Mode.SRC_IN);
+ .setColorFilter(ContextCompat.getColor(mActivity, R.color.backgroundColorPrimaryDark), android.graphics.PorterDuff.Mode.SRC_IN);
} else {
//Upvoted before
commentItem.setVoteType(0);
@@ -172,7 +192,7 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
if(newVoteType.equals(RedditUtils.DIR_UPVOTE)) {
commentItem.setVoteType(1);
((CommentViewHolder) holder).upvoteButton
- .setColorFilter(ContextCompat.getColor(mContext, R.color.backgroundColorPrimaryDark), android.graphics.PorterDuff.Mode.SRC_IN);
+ .setColorFilter(ContextCompat.getColor(mActivity, R.color.backgroundColorPrimaryDark), android.graphics.PorterDuff.Mode.SRC_IN);
} else {
commentItem.setVoteType(0);
((CommentViewHolder) holder).upvoteButton.clearColorFilter();
@@ -184,7 +204,7 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
@Override
public void onVoteThingFail(int position1) {
- Toast.makeText(mContext, R.string.vote_failed, Toast.LENGTH_SHORT).show();
+ Toast.makeText(mActivity, R.string.vote_failed, Toast.LENGTH_SHORT).show();
commentItem.setVoteType(previousVoteType);
((CommentViewHolder) holder).scoreTextView.setText(Integer.toString(commentItem.getScore() + previousVoteType));
((CommentViewHolder) holder).upvoteButton.setColorFilter(previousUpvoteButtonColorFilter);
@@ -206,7 +226,7 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
commentItem.setVoteType(-1);
newVoteType = RedditUtils.DIR_DOWNVOTE;
((CommentViewHolder) holder).downvoteButton
- .setColorFilter(ContextCompat.getColor(mContext, R.color.colorAccent), android.graphics.PorterDuff.Mode.SRC_IN);
+ .setColorFilter(ContextCompat.getColor(mActivity, R.color.colorAccent), android.graphics.PorterDuff.Mode.SRC_IN);
} else {
//Downvoted before
commentItem.setVoteType(0);
@@ -222,7 +242,7 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
if(newVoteType.equals(RedditUtils.DIR_DOWNVOTE)) {
commentItem.setVoteType(-1);
((CommentViewHolder) holder).downvoteButton
- .setColorFilter(ContextCompat.getColor(mContext, R.color.colorAccent), android.graphics.PorterDuff.Mode.SRC_IN);
+ .setColorFilter(ContextCompat.getColor(mActivity, R.color.colorAccent), android.graphics.PorterDuff.Mode.SRC_IN);
} else {
commentItem.setVoteType(0);
((CommentViewHolder) holder).downvoteButton.clearColorFilter();
@@ -234,7 +254,7 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
@Override
public void onVoteThingFail(int position1) {
- Toast.makeText(mContext, R.string.vote_failed, Toast.LENGTH_SHORT).show();
+ Toast.makeText(mActivity, R.string.vote_failed, Toast.LENGTH_SHORT).show();
commentItem.setVoteType(previousVoteType);
((CommentViewHolder) holder).scoreTextView.setText(Integer.toString(commentItem.getScore() + previousVoteType));
((CommentViewHolder) holder).upvoteButton.setColorFilter(previousUpvoteButtonColorFilter);
@@ -263,6 +283,18 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
notifyItemInserted(0);
}
+ void addChildComment(CommentData comment, int parentPosition) {
+ List<RecyclerViewItem> childComments = mCommentData.get(parentPosition).getChildren();
+ if(childComments == null) {
+ childComments = new ArrayList<>();
+ }
+ childComments.add(0, comment);
+ mCommentData.get(parentPosition).addChildren(childComments);
+ mCommentData.get(parentPosition).setHasReply(true);
+ notifyItemChanged(parentPosition);
+ mMultiLevelRecyclerView.toggleItemsGroup(parentPosition);
+ }
+
private void setExpandButton(ImageView expandButton, boolean isExpanded) {
// set the icon based on the current state
expandButton.setVisibility(View.VISIBLE);
@@ -276,8 +308,9 @@ class CommentMultiLevelRecyclerViewAdapter extends MultiLevelAdapter {
@BindView(R.id.plus_button_item_post_comment) ImageView upvoteButton;
@BindView(R.id.score_text_view_item_post_comment) TextView scoreTextView;
@BindView(R.id.minus_button_item_post_comment) ImageView downvoteButton;
- @BindView(R.id.expand_button_item_post_comment) ImageView expandButton;
@BindView(R.id.load_more_comments_progress_bar) ProgressBar loadMoreCommentsProgressBar;
+ @BindView(R.id.expand_button_item_post_comment) ImageView expandButton;
+ @BindView(R.id.share_button_item_post_comment) ImageView shareButton;
@BindView(R.id.reply_button_item_post_comment) ImageView replyButton;
@BindView(R.id.vertical_block_item_post_comment) View verticalBlock;
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/JSONUtils.java b/app/src/main/java/ml/docilealligator/infinityforreddit/JSONUtils.java
index 1a219619..8b2f3374 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/JSONUtils.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/JSONUtils.java
@@ -64,7 +64,6 @@ public class JSONUtils {
static final String SUBSCRIBERS_KEY = "subscribers";
static final String PUBLIC_DESCRIPTION_KEY = "public_description";
static final String ACTIVE_USER_COUNT_KEY = "active_user_count";
- static final String LINK_ID_KEY = "link_id";
public static final String IS_GOLD_KEY = "is_gold";
public static final String IS_FRIEND_KEY = "is_friend";
static final String KIND_KEY = "kind";
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/ParseComment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/ParseComment.java
index fba61483..16aaa609 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/ParseComment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/ParseComment.java
@@ -232,7 +232,7 @@ class ParseComment {
private static CommentData parseSingleComment(JSONObject singleCommentData, int parentDepth, Locale locale) throws JSONException {
String id = singleCommentData.getString(JSONUtils.ID_KEY);
- String fullName = singleCommentData.getString(JSONUtils.LINK_ID_KEY);
+ String fullName = singleCommentData.getString(JSONUtils.NAME_KEY);
String author = singleCommentData.getString(JSONUtils.AUTHOR_KEY);
boolean isSubmitter = singleCommentData.getBoolean(JSONUtils.IS_SUBMITTER_KEY);
String commentContent = "";
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/RedditAPI.java b/app/src/main/java/ml/docilealligator/infinityforreddit/RedditAPI.java
index 682d4fb3..ebdb5f91 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/RedditAPI.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/RedditAPI.java
@@ -77,4 +77,8 @@ public interface RedditAPI {
@FormUrlEncoded
@POST("/api/comment")
Call<String> sendComment(@HeaderMap Map<String, String> headers, @FieldMap Map<String, String> params);
+
+ @FormUrlEncoded
+ @POST("/api/del")
+ Call<String> delete(@HeaderMap Map<String, String> headers, @FieldMap Map<String, String> params);
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java
index fc4a0fe5..741a3a57 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java
@@ -688,6 +688,7 @@ public class ViewPostDetailActivity extends AppCompatActivity {
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TEXT_KEY, mPost.getTitle());
intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, mPost.getFullName());
intent.putExtra(CommentActivity.EXTRA_PARENT_DEPTH_KEY, 0);
+ intent.putExtra(CommentActivity.EXTRA_IS_REPLYING_KEY, false);
startActivityForResult(intent, WRITE_COMMENT_REQUEST_CODE);
return true;
case android.R.id.home:
@@ -703,7 +704,12 @@ public class ViewPostDetailActivity extends AppCompatActivity {
if(data != null && resultCode == RESULT_OK && requestCode == WRITE_COMMENT_REQUEST_CODE) {
if(data.hasExtra(EXTRA_COMMENT_DATA_KEY)) {
CommentData comment = data.getExtras().getParcelable(EXTRA_COMMENT_DATA_KEY);
- mAdapter.addComment(comment);
+ if(comment.getDepth() == 0) {
+ mAdapter.addComment(comment);
+ } else {
+ int parentPosition = data.getExtras().getInt(CommentActivity.EXTRA_PARENT_POSITION_KEY);
+ mAdapter.addChildComment(comment, parentPosition);
+ }
} else {
Toast.makeText(this, R.string.send_comment_failed, Toast.LENGTH_SHORT).show();
}
diff --git a/app/src/main/res/drawable/ic_outline_share_20px.xml b/app/src/main/res/drawable/ic_outline_share_20px.xml
new file mode 100644
index 00000000..4c1a8bbb
--- /dev/null
+++ b/app/src/main/res/drawable/ic_outline_share_20px.xml
@@ -0,0 +1,4 @@
+<vector android:height="20dp" android:viewportHeight="24"
+ android:viewportWidth="24" android:width="20dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="#FF000000" android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92s2.92,-1.31 2.92,-2.92c0,-1.61 -1.31,-2.92 -2.92,-2.92zM18,4c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM6,13c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM18,20.02c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1z"/>
+</vector>
diff --git a/app/src/main/res/layout/activity_comment.xml b/app/src/main/res/layout/activity_comment.xml
index c494cf3f..4a7be7b0 100644
--- a/app/src/main/res/layout/activity_comment.xml
+++ b/app/src/main/res/layout/activity_comment.xml
@@ -28,11 +28,18 @@
android:padding="16dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
- <TextView
+ <!--<TextView
android:id="@+id/comment_parent_text_view_comment_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
+ android:textSize="16sp" />-->
+
+ <ru.noties.markwon.view.MarkwonView
+ android:id="@+id/comment_parent_markwon_view_comment_activity"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="16dp"
android:textSize="16sp" />
<EditText
diff --git a/app/src/main/res/layout/item_comment.xml b/app/src/main/res/layout/item_comment.xml
index c5bb40bc..d04f78b6 100644
--- a/app/src/main/res/layout/item_comment.xml
+++ b/app/src/main/res/layout/item_comment.xml
@@ -104,7 +104,7 @@
android:id="@+id/expand_button_item_post_comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_toStartOf="@id/reply_button_item_post_comment"
+ android:layout_toStartOf="@id/share_button_item_post_comment"
android:layout_centerVertical="true"
android:layout_marginEnd="16dp"
android:tint="@android:color/tab_indicator_text"
@@ -114,6 +114,19 @@
android:visibility="gone"/>
<ImageView
+ android:id="@+id/share_button_item_post_comment"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toStartOf="@id/reply_button_item_post_comment"
+ android:layout_centerVertical="true"
+ android:layout_marginEnd="16dp"
+ android:src="@drawable/ic_outline_share_20px"
+ android:tint="@android:color/tab_indicator_text"
+ android:background="?actionBarItemBackground"
+ android:clickable="true"
+ android:focusable="true"/>
+
+ <ImageView
android:id="@+id/reply_button_item_post_comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c9f5b44d..475ceb6c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -3,6 +3,7 @@
<string name="login_activity_label">Login</string>
<string name="search_activity_label">Search</string>
<string name="comment_activity_label">Add Comment</string>
+ <string name="comment_activity_label_is_replying">Reply</string>
<string name="navigation_drawer_open">Open navigation drawer</string>
<string name="navigation_drawer_close">Close navigation drawer</string>