mirror of
https://github.com/nextcloud/notes-android.git
synced 2024-10-25 22:26:00 +03:00
parent
eccc4e2aa0
commit
eff22edc8f
1 changed files with 31 additions and 3 deletions
|
@ -4,6 +4,7 @@ import android.content.SharedPreferences;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.text.method.LinkMovementMethod;
|
import android.text.method.LinkMovementMethod;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
@ -35,6 +36,8 @@ public class NotePreviewFragment extends BaseNoteFragment {
|
||||||
|
|
||||||
private NoteSQLiteOpenHelper db = null;
|
private NoteSQLiteOpenHelper db = null;
|
||||||
|
|
||||||
|
private String changedText;
|
||||||
|
|
||||||
MarkdownProcessor markdownProcessor;
|
MarkdownProcessor markdownProcessor;
|
||||||
|
|
||||||
@BindView(R.id.swiperefreshlayout)
|
@BindView(R.id.swiperefreshlayout)
|
||||||
|
@ -71,9 +74,34 @@ public class NotePreviewFragment extends BaseNoteFragment {
|
||||||
ButterKnife.bind(this, Objects.requireNonNull(getView()));
|
ButterKnife.bind(this, Objects.requireNonNull(getView()));
|
||||||
markdownProcessor = new MarkdownProcessor(getActivity());
|
markdownProcessor = new MarkdownProcessor(getActivity());
|
||||||
markdownProcessor.factory(TextFactory.create());
|
markdownProcessor.factory(TextFactory.create());
|
||||||
markdownProcessor.config(MarkDownUtil.getMarkDownConfiguration(noteContent.getContext()).build());
|
markdownProcessor.config(
|
||||||
|
MarkDownUtil.getMarkDownConfiguration(noteContent.getContext())
|
||||||
|
.setOnTodoClickCallback((view, line, lineNumber) -> {
|
||||||
|
String[] lines = TextUtils.split(note.getContent(), "\\r?\\n");
|
||||||
|
/*
|
||||||
|
* Workaround for a bug when checkbox is the last line:
|
||||||
|
* When (un)checking a checkbox which is in the last line, every time it gets toggled, the last character of the line gets lost.
|
||||||
|
*/
|
||||||
|
if ((lines.length - 1) == lineNumber) {
|
||||||
|
if(lines[lineNumber].contains("- [ ]")) {
|
||||||
|
lines[lineNumber] = lines[lineNumber].replace("- [ ]", "- [x]");
|
||||||
|
} else {
|
||||||
|
lines[lineNumber] = lines[lineNumber].replace("- [x]", "- [ ]");
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (lines.length >= lineNumber) {
|
||||||
|
lines[lineNumber] = line;
|
||||||
|
}
|
||||||
|
changedText = TextUtils.join("\n", lines);
|
||||||
|
noteContent.setText(markdownProcessor.parse(changedText));
|
||||||
|
saveNote(null);
|
||||||
|
return line;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.build());
|
||||||
setActiveTextView(noteContent);
|
setActiveTextView(noteContent);
|
||||||
noteContent.setText(markdownProcessor.parse(note.getContent()));
|
noteContent.setText(markdownProcessor.parse(note.getContent()));
|
||||||
|
changedText = note.getContent();
|
||||||
noteContent.setMovementMethod(LinkMovementMethod.getInstance());
|
noteContent.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
|
||||||
db = NoteSQLiteOpenHelper.getInstance(getActivity().getApplicationContext());
|
db = NoteSQLiteOpenHelper.getInstance(getActivity().getApplicationContext());
|
||||||
|
@ -81,7 +109,7 @@ public class NotePreviewFragment extends BaseNoteFragment {
|
||||||
swipeRefreshLayout.setOnRefreshListener(() -> {
|
swipeRefreshLayout.setOnRefreshListener(() -> {
|
||||||
if (db.getNoteServerSyncHelper().isSyncPossible()) {
|
if (db.getNoteServerSyncHelper().isSyncPossible()) {
|
||||||
swipeRefreshLayout.setRefreshing(true);
|
swipeRefreshLayout.setRefreshing(true);
|
||||||
db.getNoteServerSyncHelper().addCallbackPull( new ICallback() {
|
db.getNoteServerSyncHelper().addCallbackPull(new ICallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onFinish() {
|
public void onFinish() {
|
||||||
noteContent.setText(markdownProcessor.parse(db.getNote(note.getAccountId(), note.getId()).getContent()));
|
noteContent.setText(markdownProcessor.parse(db.getNote(note.getAccountId(), note.getId()).getContent()));
|
||||||
|
@ -108,6 +136,6 @@ public class NotePreviewFragment extends BaseNoteFragment {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getContent() {
|
protected String getContent() {
|
||||||
return note.getContent();
|
return changedText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue