aboutsummaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/CommentActivity.java119
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsRecyclerViewAdapter.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/CommentMoreBottomSheetFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/fragments/ViewPostDetailFragment.java2
-rw-r--r--app/src/main/res/layout/activity_comment.xml8
6 files changed, 55 insertions, 84 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CommentActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CommentActivity.java
index 78d4af7b..b17ba0f4 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CommentActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CommentActivity.java
@@ -11,6 +11,7 @@ import android.os.Environment;
import android.os.Handler;
import android.provider.MediaStore;
import android.text.Spanned;
+import android.text.TextUtils;
import android.text.util.Linkify;
import android.view.Menu;
import android.view.MenuItem;
@@ -19,6 +20,7 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.FileProvider;
@@ -86,8 +88,7 @@ import retrofit2.Retrofit;
public class CommentActivity extends BaseActivity implements UploadImageEnabledActivity, AccountChooserBottomSheetFragment.AccountChooserListener {
- public static final String EXTRA_COMMENT_PARENT_TEXT_KEY = "ECPTK";
- public static final String EXTRA_COMMENT_PARENT_TEXT_MARKDOWN_KEY = "ECPTMK";
+ public static final String EXTRA_COMMENT_PARENT_TITLE_KEY = "ECPTK";
public static final String EXTRA_COMMENT_PARENT_BODY_KEY = "ECPBK";
public static final String EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY = "ECPBMK";
public static final String EXTRA_PARENT_FULLNAME_KEY = "EPFK";
@@ -132,13 +133,17 @@ public class CommentActivity extends BaseActivity implements UploadImageEnabledA
private int parentPosition;
private boolean isSubmitting = false;
private boolean isReplying;
- private int markdownColor;
- private int spoilerBackgroundColor;
private Uri capturedImageUri;
private ArrayList<UploadedImage> uploadedImages = new ArrayList<>();
private Menu mMenu;
- private int commentColor;
- private int commentSpoilerBackgroundColor;
+
+ /**
+ * Post or comment body text color
+ */
+ @ColorInt
+ private int parentTextColor;
+ @ColorInt
+ private int parentSpoilerBackgroundColor;
private ActivityCommentBinding binding;
@Override
@@ -153,6 +158,8 @@ public class CommentActivity extends BaseActivity implements UploadImageEnabledA
EventBus.getDefault().register(this);
+ Intent intent = getIntent();
+ isReplying = intent.getExtras().getBoolean(EXTRA_IS_REPLYING_KEY);
applyCustomTheme();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && isChangeStatusBarIconColor()) {
@@ -165,67 +172,24 @@ public class CommentActivity extends BaseActivity implements UploadImageEnabledA
return;
}
- Intent intent = getIntent();
- String parentTextMarkdown = intent.getStringExtra(EXTRA_COMMENT_PARENT_TEXT_MARKDOWN_KEY);
- String parentText = intent.getStringExtra(EXTRA_COMMENT_PARENT_TEXT_KEY);
-
- int linkColor = mCustomThemeWrapper.getLinkColor();
- Markwon markwon = Markwon.builder(this)
- .usePlugin(MarkwonInlineParserPlugin.create(plugin -> {
- plugin.excludeInlineProcessor(AutolinkInlineProcessor.class);
- plugin.excludeInlineProcessor(HtmlInlineProcessor.class);
- plugin.excludeInlineProcessor(BangInlineProcessor.class);
- plugin.addInlineProcessor(new SuperscriptInlineProcessor());
- }))
- .usePlugin(HtmlPlugin.create(plugin -> {
- plugin.excludeDefaults(true).addHandler(new SuperScriptHandler());
- }))
- .usePlugin(new AbstractMarkwonPlugin() {
- @NonNull
- @Override
- public String processMarkdown(@NonNull String markdown) {
- return Utils.fixSuperScript(markdown);
- }
-
- @Override
- public void configureConfiguration(@NonNull MarkwonConfiguration.Builder builder) {
- builder.linkResolver((view, link) -> {
- Intent intent = new Intent(CommentActivity.this, LinkResolverActivity.class);
- Uri uri = Uri.parse(link);
- intent.setData(uri);
- startActivity(intent);
- });
- }
-
- @Override
- public void configureTheme(@NonNull MarkwonTheme.Builder builder) {
- builder.linkColor(linkColor);
- }
- })
- .usePlugin(SpoilerParserPlugin.create(commentColor, commentSpoilerBackgroundColor))
- .usePlugin(RedditHeadingPlugin.create())
- .usePlugin(StrikethroughPlugin.create())
- .usePlugin(LinkifyPlugin.create(Linkify.WEB_URLS))
- .build();
- if (parentTextMarkdown != null) {
- binding.commentCommentParentMarkwonView.setOnLongClickListener(view -> {
+ String parentTitle = intent.getStringExtra(EXTRA_COMMENT_PARENT_TITLE_KEY);
+ if (!TextUtils.isEmpty(parentTitle)) {
+ binding.commentParentTitleTextView.setVisibility(View.VISIBLE);
+ binding.commentParentTitleTextView.setText(parentTitle);
+ binding.commentParentTitleTextView.setOnLongClickListener(view -> {
Utils.hideKeyboard(CommentActivity.this);
- if (parentText == null) {
- CopyTextBottomSheetFragment.show(getSupportFragmentManager(),
- parentTextMarkdown, null);
- } else {
- CopyTextBottomSheetFragment.show(getSupportFragmentManager(),
- parentText, parentTextMarkdown);
- }
+ CopyTextBottomSheetFragment.show(getSupportFragmentManager(),
+ parentTitle, null);
return true;
});
- markwon.setMarkdown(binding.commentCommentParentMarkwonView, parentTextMarkdown);
}
+
String parentBodyMarkdown = intent.getStringExtra(EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY);
String parentBody = intent.getStringExtra(EXTRA_COMMENT_PARENT_BODY_KEY);
if (parentBodyMarkdown != null && !parentBodyMarkdown.equals("")) {
- binding.commentContentMarkdownView.setVisibility(View.VISIBLE);
- binding.commentContentMarkdownView.setNestedScrollingEnabled(false);
+ binding.contentMarkdownRecyclerView.setVisibility(View.VISIBLE);
+ binding.contentMarkdownRecyclerView.setNestedScrollingEnabled(false);
+ int linkColor = mCustomThemeWrapper.getLinkColor();
Markwon postBodyMarkwon = Markwon.builder(this)
.usePlugin(MarkwonInlineParserPlugin.create(plugin -> {
plugin.excludeInlineProcessor(AutolinkInlineProcessor.class);
@@ -248,7 +212,7 @@ public class CommentActivity extends BaseActivity implements UploadImageEnabledA
if (contentTypeface != null) {
textView.setTypeface(contentTypeface);
}
- textView.setTextColor(markdownColor);
+ textView.setTextColor(parentTextColor);
textView.setOnLongClickListener(view -> {
Utils.hideKeyboard(CommentActivity.this);
CopyTextBottomSheetFragment.show(getSupportFragmentManager(),
@@ -272,7 +236,7 @@ public class CommentActivity extends BaseActivity implements UploadImageEnabledA
builder.linkColor(linkColor);
}
})
- .usePlugin(SpoilerParserPlugin.create(markdownColor, spoilerBackgroundColor))
+ .usePlugin(SpoilerParserPlugin.create(parentTextColor, parentSpoilerBackgroundColor))
.usePlugin(RedditHeadingPlugin.create())
.usePlugin(StrikethroughPlugin.create())
.usePlugin(LinkifyPlugin.create(Linkify.WEB_URLS))
@@ -291,7 +255,6 @@ public class CommentActivity extends BaseActivity implements UploadImageEnabledA
parentFullname = intent.getStringExtra(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) {
binding.commentToolbar.setTitle(getString(R.string.comment_activity_label_is_replying));
}
@@ -393,22 +356,26 @@ public class CommentActivity extends BaseActivity implements UploadImageEnabledA
@Override
protected void applyCustomTheme() {
- binding.commentCoordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(binding.commentAppbarLayout, null, binding.commentToolbar);
- commentColor = mCustomThemeWrapper.getCommentColor();
- commentSpoilerBackgroundColor = commentColor | 0xFF000000;
- binding.commentCommentParentMarkwonView.setTextColor(commentColor);
- binding.commentDivider.setBackgroundColor(mCustomThemeWrapper.getDividerColor());
- binding.commentCommentEditText.setTextColor(mCustomThemeWrapper.getCommentColor());
+ binding.coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
+ applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(binding.appBarLayout, null, toolbar);
+ binding.commentParentTitleTextView.setTextColor(customThemeWrapper.getPostTitleColor());
+ binding.divider.setBackgroundColor(mCustomThemeWrapper.getDividerColor());
+ binding.commentEditText.setTextColor(mCustomThemeWrapper.getCommentColor());
int secondaryTextColor = mCustomThemeWrapper.getSecondaryTextColor();
- binding.commentCommentEditText.setHintTextColor(secondaryTextColor);
- markdownColor = secondaryTextColor;
- spoilerBackgroundColor = markdownColor | 0xFF000000;
- binding.commentAccountNameTextView.setTextColor(mCustomThemeWrapper.getPrimaryTextColor());
+ binding.commentEditText.setHintTextColor(secondaryTextColor);
+ if (isReplying) {
+ parentTextColor = mCustomThemeWrapper.getCommentColor();
+ } else {
+ parentTextColor = mCustomThemeWrapper.getPostContentColor();
+ }
+ parentSpoilerBackgroundColor = parentTextColor | 0xFF000000;
+ binding.accountNameTextView.setTextColor(mCustomThemeWrapper.getPrimaryTextColor());
if (typeface != null) {
- binding.commentCommentParentMarkwonView.setTypeface(typeface);
- binding.commentCommentEditText.setTypeface(typeface);
+ commentEditText.setTypeface(typeface);
+ }
+ if (titleTypeface != null) {
+ commentParentTitleTextView.setTypeface(titleTypeface);
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsRecyclerViewAdapter.java
index 5836dacd..fe452064 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsRecyclerViewAdapter.java
@@ -1346,8 +1346,8 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
if (comment != null) {
Intent intent = new Intent(mActivity, CommentActivity.class);
intent.putExtra(CommentActivity.EXTRA_PARENT_DEPTH_KEY, comment.getDepth() + 1);
- intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TEXT_MARKDOWN_KEY, comment.getCommentMarkdown());
- intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TEXT_KEY, comment.getCommentRawText());
+ intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY, comment.getCommentMarkdown());
+ intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_KEY, comment.getCommentRawText());
intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, comment.getFullName());
intent.putExtra(CommentActivity.EXTRA_IS_REPLYING_KEY, true);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java
index 07f32735..3c517171 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java
@@ -1417,7 +1417,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
Intent intent = new Intent(mActivity, CommentActivity.class);
intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, mPost.getFullName());
- intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TEXT_MARKDOWN_KEY, mPost.getTitle());
+ intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TITLE_KEY, mPost.getTitle());
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY, mPost.getSelfText());
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_KEY, mPost.getSelfTextPlain());
intent.putExtra(CommentActivity.EXTRA_IS_REPLYING_KEY, false);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/CommentMoreBottomSheetFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/CommentMoreBottomSheetFragment.java
index a8e91634..4ff48bec 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/CommentMoreBottomSheetFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/CommentMoreBottomSheetFragment.java
@@ -148,8 +148,8 @@ public class CommentMoreBottomSheetFragment extends LandscapeExpandedRoundedBott
replyTextView.setOnClickListener(view -> {
Intent intent = new Intent(activity, CommentActivity.class);
intent.putExtra(CommentActivity.EXTRA_PARENT_DEPTH_KEY, comment.getDepth() + 1);
- intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TEXT_MARKDOWN_KEY, comment.getCommentMarkdown());
- intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TEXT_KEY, comment.getCommentRawText());
+ intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY, comment.getCommentMarkdown());
+ intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_KEY, comment.getCommentRawText());
intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, comment.getFullName());
intent.putExtra(CommentActivity.EXTRA_IS_REPLYING_KEY, true);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/ViewPostDetailFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/ViewPostDetailFragment.java
index 20e9d00c..cae1d8fa 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/ViewPostDetailFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/ViewPostDetailFragment.java
@@ -895,7 +895,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
}
Intent intent = new Intent(activity, CommentActivity.class);
- intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TEXT_MARKDOWN_KEY, mPost.getTitle());
+ intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TITLE_KEY, mPost.getTitle());
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY, mPost.getSelfText());
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_KEY, mPost.getSelfTextPlain());
intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, mPost.getFullName());
diff --git a/app/src/main/res/layout/activity_comment.xml b/app/src/main/res/layout/activity_comment.xml
index 7087b13f..4c685720 100644
--- a/app/src/main/res/layout/activity_comment.xml
+++ b/app/src/main/res/layout/activity_comment.xml
@@ -37,15 +37,19 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:paddingTop="16dp"
android:orientation="vertical">
<TextView
+ android:id="@+id/comment_parent_title_text_view"
android:id="@+id/comment_comment_parent_markwon_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="16dp"
+ android:layout_marginHorizontal="16dp"
+ android:layout_marginBottom="16dp"
android:textSize="?attr/title_font_16"
- android:fontFamily="?attr/content_font_family" />
+ android:fontFamily="?attr/title_font_family"
+ android:visibility="gone" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/comment_content_markdown_view"