From b3da83e3735e974d14cbc002c562e33f58b846b2 Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Wed, 6 Jan 2021 15:03:15 +0800 Subject: Quote and code block are added to MarkdownBottomBarRecyclerViewAdapter. Fix issues in header size selection. --- .../activities/InboxActivity.java | 2 +- .../MarkdownBottomBarRecyclerViewAdapter.java | 52 ++++++++++++++++++---- 2 files changed, 45 insertions(+), 9 deletions(-) (limited to 'app/src/main/java/ml/docilealligator/infinityforreddit') diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/InboxActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/InboxActivity.java index 60906ec5..1b8366a5 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/InboxActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/InboxActivity.java @@ -166,7 +166,7 @@ public class InboxActivity extends BaseActivity implements ActivityToolbarInterf mNewAccountName = getIntent().getStringExtra(EXTRA_NEW_ACCOUNT_NAME); getCurrentAccountAndFetchMessage(savedInstanceState); } - + viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener(){ @Override public void onPageSelected(int position) { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/MarkdownBottomBarRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/MarkdownBottomBarRecyclerViewAdapter.java index 6dd2fff3..8145e8a0 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/MarkdownBottomBarRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/MarkdownBottomBarRecyclerViewAdapter.java @@ -26,8 +26,10 @@ public class MarkdownBottomBarRecyclerViewAdapter extends RecyclerView.Adapter " + currentSelection + "\n\n", 0, "> \n\n".length() + currentSelection.length()); + } else { + commentEditText.getText().replace(start, end, + "> \n\n", 0, "> \n\n".length()); + commentEditText.setSelection(start + "> ".length()); + } + break; + } + case CODE_BLOCK: { + int start = Math.max(commentEditText.getSelectionStart(), 0); + int end = Math.max(commentEditText.getSelectionEnd(), 0); + if (end != start) { + String currentSelection = commentEditText.getText().subSequence(start, end).toString(); + commentEditText.getText().replace(Math.min(start, end), Math.max(start, end), + "```\n" + currentSelection + "\n```\n", 0, "```\n\n```\n".length() + currentSelection.length()); + } else { + commentEditText.getText().replace(start, end, + "```\n\n```\n", 0, "```\n\n```\n".length()); + commentEditText.setSelection(start + "```\n".length()); + } + break; + } } } -- cgit v1.2.3