From 39c229434e07f38d5e4cbab686de3a7ceddbf28b Mon Sep 17 00:00:00 2001 From: Olga Miller Date: Tue, 28 Feb 2017 16:51:58 +0100 Subject: [PATCH] Moved version from Label to LabelCollection --- app/src/main/java/om/sstvencoder/TextOverlay/Label.java | 5 ----- .../java/om/sstvencoder/TextOverlay/LabelCollection.java | 9 ++++++++- .../java/om/sstvencoder/TextOverlay/LabelContainer.java | 2 -- .../main/java/om/sstvencoder/TextOverlayTemplate.java | 3 +-- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/om/sstvencoder/TextOverlay/Label.java b/app/src/main/java/om/sstvencoder/TextOverlay/Label.java index 3a7d5cc..94410eb 100644 --- a/app/src/main/java/om/sstvencoder/TextOverlay/Label.java +++ b/app/src/main/java/om/sstvencoder/TextOverlay/Label.java @@ -20,7 +20,6 @@ import android.graphics.Color; import java.io.Serializable; public class Label implements Serializable { - private final static int mVersion = 1; private String mText; private float mTextSize; private String mFamilyName; @@ -37,10 +36,6 @@ public class Label implements Serializable { mBackColor = Color.TRANSPARENT; } - public int getVersion() { - return mVersion; - } - public String getText() { return mText; } diff --git a/app/src/main/java/om/sstvencoder/TextOverlay/LabelCollection.java b/app/src/main/java/om/sstvencoder/TextOverlay/LabelCollection.java index 98536ff..3fd9a71 100644 --- a/app/src/main/java/om/sstvencoder/TextOverlay/LabelCollection.java +++ b/app/src/main/java/om/sstvencoder/TextOverlay/LabelCollection.java @@ -41,6 +41,7 @@ public class LabelCollection { } } + private final int mVersion; private final List mLabels; private Size mScreenSize; private float mTextSizeFactor; @@ -48,6 +49,7 @@ public class LabelCollection { private float mPreviousX, mPreviousY; public LabelCollection() { + mVersion = 1; mLabels = new LinkedList<>(); mPreviousX = 0f; mPreviousY = 0f; @@ -145,6 +147,7 @@ public class LabelCollection { public void write(@NonNull IWriter writer) throws IOException { writer.beginRootObject(); { + writer.write("version", mVersion); writer.write("width", mScreenSize.width()); writer.write("height", mScreenSize.height()); writer.write("factor", mTextSizeFactor); @@ -158,9 +161,12 @@ public class LabelCollection { writer.endObject(); } - public void read(@NonNull IReader reader) throws IOException { + public boolean read(@NonNull IReader reader) throws IOException { reader.beginRootObject(); { + if (reader.readInt() != mVersion) + return false; + float w = reader.readFloat(); float h = reader.readFloat(); float textSizeFactor = reader.readFloat(); @@ -176,5 +182,6 @@ public class LabelCollection { update(w, h, textSizeFactor); } reader.endObject(); + return true; } } diff --git a/app/src/main/java/om/sstvencoder/TextOverlay/LabelContainer.java b/app/src/main/java/om/sstvencoder/TextOverlay/LabelContainer.java index 9006293..26df673 100644 --- a/app/src/main/java/om/sstvencoder/TextOverlay/LabelContainer.java +++ b/app/src/main/java/om/sstvencoder/TextOverlay/LabelContainer.java @@ -97,7 +97,6 @@ class LabelContainer { } private void writeLabel(IWriter writer, Label label) throws IOException { - writer.write("version", label.getVersion()); writer.write("text", label.getText()); writer.write("text_size", label.getTextSize()); writer.write("family_name", label.getFamilyName()); @@ -108,7 +107,6 @@ class LabelContainer { } private void readLabel(IReader reader, Label label) throws IOException { - reader.readInt(); label.setText(reader.readString()); label.setTextSize(reader.readFloat()); label.setFamilyName(reader.readString()); diff --git a/app/src/main/java/om/sstvencoder/TextOverlayTemplate.java b/app/src/main/java/om/sstvencoder/TextOverlayTemplate.java index 060c40b..c439f1c 100644 --- a/app/src/main/java/om/sstvencoder/TextOverlayTemplate.java +++ b/app/src/main/java/om/sstvencoder/TextOverlayTemplate.java @@ -163,8 +163,7 @@ class TextOverlayTemplate { try { InputStream in = new FileInputStream(file); jsonReader = new JsonReader(new InputStreamReader(in, "UTF-8")); - labels.read(new LabelCollectionReader(jsonReader)); - loaded = true; + loaded = labels.read(new LabelCollectionReader(jsonReader)); } catch (Exception ignore) { } finally { if (jsonReader != null) {