Reset revisions on converting to plain, small improvements

pull/156/head
M66B 6 years ago
parent a5cb29d263
commit 0356d86a4a

@ -546,7 +546,7 @@ public class FragmentCompose extends FragmentBase {
args.putLong("id", working); args.putLong("id", working);
args.putString("body", HtmlHelper.toHtml(etBody.getText())); args.putString("body", HtmlHelper.toHtml(etBody.getText()));
new SimpleTask<Void>() { new SimpleTask<EntityMessage>() {
@Override @Override
protected void onPreExecute(Bundle args) { protected void onPreExecute(Bundle args) {
ibReferenceEdit.setEnabled(false); ibReferenceEdit.setEnabled(false);
@ -558,7 +558,7 @@ public class FragmentCompose extends FragmentBase {
} }
@Override @Override
protected Void onExecute(Context context, Bundle args) throws Throwable { protected EntityMessage onExecute(Context context, Bundle args) throws Throwable {
long id = args.getLong("id"); long id = args.getLong("id");
String body = args.getString("body"); String body = args.getString("body");
@ -581,16 +581,22 @@ public class FragmentCompose extends FragmentBase {
refFile.delete(); refFile.delete();
draft.plain_only = true;
draft.revision = null;
draft.revisions = null;
db.message().setMessagePlainOnly(draft.id, true); db.message().setMessagePlainOnly(draft.id, true);
db.message().setMessageRevision(draft.id, null);
db.message().setMessageRevisions(draft.id, null);
return null; return draft;
} }
@Override @Override
protected void onExecuted(Bundle args, Void data) { protected void onExecuted(Bundle args, EntityMessage draft) {
plain_only = true; plain_only = true;
getActivity().invalidateOptionsMenu(); getActivity().invalidateOptionsMenu();
showDraft(working); showDraft(draft);
} }
@Override @Override
@ -2794,7 +2800,7 @@ public class FragmentCompose extends FragmentBase {
String body = Helper.readText(draft.getFile(context)); String body = Helper.readText(draft.getFile(context));
Spanned spannedBody = HtmlHelper.fromHtml(body, cidGetter, null); Spanned spannedBody = HtmlHelper.fromHtml(body, cidGetter, null);
Spanned spannedReference = null; Spanned spannedRef = null;
File refFile = draft.getRefFile(context); File refFile = draft.getRefFile(context);
if (refFile.exists()) { if (refFile.exists()) {
String quote = HtmlHelper.sanitize(context, Helper.readText(refFile)); String quote = HtmlHelper.sanitize(context, Helper.readText(refFile));
@ -2829,10 +2835,13 @@ public class FragmentCompose extends FragmentBase {
builder.removeSpan(quoteSpan); builder.removeSpan(quoteSpan);
} }
spannedReference = builder; spannedRef = builder;
} }
return new Spanned[]{spannedBody, spannedReference}; args.putBoolean("ref_has_images", spannedRef != null &&
spannedRef.getSpans(0, spannedRef.length(), ImageSpan.class).length > 0);
return new Spanned[]{spannedBody, spannedRef};
} }
@Override @Override
@ -2841,13 +2850,12 @@ public class FragmentCompose extends FragmentBase {
etBody.setSelection(0); etBody.setSelection(0);
grpBody.setVisibility(View.VISIBLE); grpBody.setVisibility(View.VISIBLE);
boolean has_images = (text[1] != null && boolean ref_has_images = args.getBoolean("ref_has_images");
text[1].getSpans(0, text[1].length(), ImageSpan.class).length > 0);
tvReference.setText(text[1]); tvReference.setText(text[1]);
grpReference.setVisibility(text[1] == null ? View.GONE : View.VISIBLE); grpReference.setVisibility(text[1] == null ? View.GONE : View.VISIBLE);
ibReferenceEdit.setVisibility(text[1] == null ? View.GONE : View.VISIBLE); ibReferenceEdit.setVisibility(text[1] == null ? View.GONE : View.VISIBLE);
ibReferenceImages.setVisibility(has_images && !show_images ? View.VISIBLE : View.GONE); ibReferenceImages.setVisibility(ref_has_images && !show_images ? View.VISIBLE : View.GONE);
new Handler().post(new Runnable() { new Handler().post(new Runnable() {
@Override @Override

Loading…
Cancel
Save