Skip to content

Commit be43291

Browse files
committed
Added buttons for checkboxes and horizontal rule in markdown editor.
1 parent 6b592d0 commit be43291

File tree

6 files changed

+62
-1
lines changed

6 files changed

+62
-1
lines changed

app/src/main/java/com/tpb/projects/editors/MarkdownButtonAdapter.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,36 @@ private void initViews() {
8686
});
8787
mScrollView.addView(preview);
8888

89+
preview = (ImageButton) LayoutInflater.from(mParent)
90+
.inflate(R.layout.shard_markdown_button, mScrollView,
91+
false
92+
);
93+
preview.setImageResource(R.drawable.ic_check_box_checked);
94+
preview.setOnClickListener((v) -> {
95+
if(mListener != null) mListener.snippetEntered(" [x] ", 5);
96+
});
97+
mScrollView.addView(preview);
98+
99+
preview = (ImageButton) LayoutInflater.from(mParent)
100+
.inflate(R.layout.shard_markdown_button, mScrollView,
101+
false
102+
);
103+
preview.setImageResource(R.drawable.ic_check_box_empty);
104+
preview.setOnClickListener((v) -> {
105+
if(mListener != null) mListener.snippetEntered(" [] ", 4);
106+
});
107+
mScrollView.addView(preview);
108+
109+
preview = (ImageButton) LayoutInflater.from(mParent)
110+
.inflate(R.layout.shard_markdown_button, mScrollView,
111+
false
112+
);
113+
preview.setImageResource(R.drawable.ic_horizontal_rule);
114+
preview.setOnClickListener((v) -> {
115+
if(mListener != null) mListener.snippetEntered("\n---\n ", 5);
116+
});
117+
mScrollView.addView(preview);
118+
89119
preview = (ImageButton) LayoutInflater.from(mParent)
90120
.inflate(R.layout.shard_markdown_button, mScrollView,
91121
false
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24.0"
5+
android:viewportHeight="24.0">
6+
<path
7+
android:fillColor="?attr/drawableColor"
8+
android:pathData="M19,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.11,0 2,-0.9 2,-2L21,5c0,-1.1 -0.89,-2 -2,-2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z"/>
9+
</vector>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24.0"
5+
android:viewportHeight="24.0">
6+
<path
7+
android:fillColor="?attr/drawableColor"
8+
android:pathData="M19,5v14H5V5h14m0,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2z"/>
9+
</vector>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24.0"
5+
android:viewportHeight="24.0">
6+
<path
7+
android:fillColor="?attr/drawableColor"
8+
android:pathData="M19,13H5v-2h14v2z"/>
9+
</vector>

markdowntextview/src/main/java/com/tpb/mdtext/Markdown.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.support.annotation.Nullable;
55
import android.support.v4.util.ArraySet;
66
import android.text.Html;
7+
import android.util.Base64;
78

89
import com.tpb.mdtext.emoji.Emoji;
910
import com.tpb.mdtext.emoji.EmojiLoader;
@@ -96,7 +97,7 @@ public void render(Node node) {
9697
html.line();
9798
html.tag("code");
9899
html.raw(String.format("[%1$s]%2$s<br>", block.getInfo(),
99-
Html.escapeHtml(block.getLiteral()).replace(" ", "&nbsp;").replace("\n", "<br>")
100+
Base64.encodeToString(block.getLiteral().getBytes(), Base64.DEFAULT)
100101
));
101102
html.tag("/code");
102103
html.tag("br");

markdowntextview/src/main/java/com/tpb/mdtext/views/spans/CodeSpan.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import android.support.annotation.NonNull;
1313
import android.support.annotation.Nullable;
1414
import android.text.style.ReplacementSpan;
15+
import android.util.Base64;
1516

1617
import com.tpb.mdtext.TextUtils;
1718
import com.tpb.mdtext.handlers.CodeClickHandler;
@@ -48,6 +49,7 @@ public void setCode(String code) {
4849
} else {
4950
mCode = code;
5051
}
52+
mCode = new String(Base64.decode(mCode, Base64.DEFAULT));
5153
}
5254

5355
@Override
@@ -88,6 +90,7 @@ public void draw(@NonNull Canvas canvas, CharSequence text, @IntRange(from = 0)
8890
}
8991

9092
public void onClick() {
93+
9194
if(mHandler.get() != null) mHandler.get().codeClicked(mCode, mLanguage);
9295
}
9396

0 commit comments

Comments
 (0)