Fixed signature dirty state

pull/199/head
M66B 4 years ago
parent d648ec712b
commit 9475c63f69

@ -63,6 +63,7 @@ public class ActivitySignature extends ActivityBase {
private BottomNavigationView style_bar; private BottomNavigationView style_bar;
private BottomNavigationView bottom_navigation; private BottomNavigationView bottom_navigation;
private boolean loaded = false;
private boolean dirty = false; private boolean dirty = false;
private static final int REQUEST_IMAGE = 1; private static final int REQUEST_IMAGE = 1;
@ -101,7 +102,7 @@ public class ActivitySignature extends ActivityBase {
@Override @Override
public void onTextChanged(CharSequence s, int start, int before, int count) { public void onTextChanged(CharSequence s, int start, int before, int count) {
if (count != s.length()) if (loaded)
dirty = true; dirty = true;
} }
@ -180,14 +181,17 @@ public class ActivitySignature extends ActivityBase {
setResult(RESULT_CANCELED, new Intent()); setResult(RESULT_CANCELED, new Intent());
load(); load(getIntent().getStringExtra("html"));
dirty = false;
} }
@Override @Override
protected void onNewIntent(Intent intent) { protected void onNewIntent(Intent intent) {
super.onNewIntent(intent); super.onNewIntent(intent);
setIntent(intent); setIntent(intent);
load();
load(getIntent().getStringExtra("html"));
dirty = false;
} }
@Override @Override
@ -229,8 +233,8 @@ public class ActivitySignature extends ActivityBase {
} }
} }
private void load() { private void load(String html) {
String html = getIntent().getStringExtra("html"); loaded = false;
if (html == null) if (html == null)
etText.setText(null); etText.setText(null);
else if (etText.isRaw()) else if (etText.isRaw())
@ -244,7 +248,7 @@ public class ActivitySignature extends ActivityBase {
return ImageHelper.decodeImage(ActivitySignature.this, -1, source, true, 0, 1.0f, etText); return ImageHelper.decodeImage(ActivitySignature.this, -1, source, true, 0, 1.0f, etText);
} }
}, null, this)); }, null, this));
dirty = false; loaded = true;
} }
private void delete() { private void delete() {
@ -262,16 +266,14 @@ public class ActivitySignature extends ActivityBase {
} }
private void html(boolean raw) { private void html(boolean raw) {
String html = getHtml(); String html = (dirty
? getHtml()
: getIntent().getStringExtra("html"));
etText.setRaw(raw); etText.setRaw(raw);
load(html);
if (!raw || dirty)
getIntent().putExtra("html", html);
if (raw) if (raw)
style_bar.setVisibility(View.GONE); style_bar.setVisibility(View.GONE);
load();
} }
private String getHtml() { private String getHtml() {

Loading…
Cancel
Save