Added version to Settings

pull/3/head
Olga Miller 2017-02-28 16:38:20 +01:00
rodzic be8b66828b
commit 949eddfeed
1 zmienionych plików z 18 dodań i 3 usunięć

Wyświetl plik

@ -33,9 +33,11 @@ import java.io.OutputStreamWriter;
import om.sstvencoder.Modes.ModeFactory;
class Settings {
private final static String VERSION = "version";
private final static String IMAGE_URI = "image_uri";
private final static String TEXT_OVERLAY_PATH = "text_overlay_path";
private final static String MODE_CLASS_NAME = "mode_class_name";
private final int mVersion;
private final String mFileName;
private Context mContext;
private String mModeClassName;
@ -43,6 +45,7 @@ class Settings {
private String mTextOverlayPath;
private Settings() {
mVersion = 1;
mFileName = "settings.json";
mModeClassName = ModeFactory.getDefaultModeClassName();
}
@ -124,6 +127,7 @@ class Settings {
private void write(JsonWriter writer) throws IOException {
writer.beginObject();
{
writeVersion(writer);
writeModeClassName(writer);
writeImageUri(writer);
writeTextOverlayPath(writer);
@ -131,6 +135,10 @@ class Settings {
writer.endObject();
}
private void writeVersion(JsonWriter writer) throws IOException {
writer.name(VERSION).value(mVersion);
}
private void writeModeClassName(JsonWriter writer) throws IOException {
writer.name(MODE_CLASS_NAME).value(mModeClassName);
}
@ -146,13 +154,20 @@ class Settings {
private void read(JsonReader reader) throws IOException {
reader.beginObject();
{
readModeClassName(reader);
readImageUri(reader);
readTextOverlayPath(reader);
if (readVersion(reader) == mVersion) {
readModeClassName(reader);
readImageUri(reader);
readTextOverlayPath(reader);
}
}
reader.endObject();
}
private int readVersion(JsonReader reader) throws IOException {
reader.nextName();
return reader.nextInt();
}
private void readModeClassName(JsonReader reader) throws IOException {
reader.nextName();
mModeClassName = reader.nextString();