Skip to content

Commit 5827426

Browse files
committed
Add de/serializer for MinDiskFree
1 parent bdef820 commit 5827426

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.nutomic.syncthingandroid.model;
2+
3+
import android.util.Log;
4+
5+
import com.google.gson.JsonDeserializationContext;
6+
import com.google.gson.JsonDeserializer;
7+
import com.google.gson.JsonElement;
8+
import com.google.gson.JsonObject;
9+
import com.google.gson.JsonParseException;
10+
11+
import java.lang.reflect.Type;
12+
13+
public class MinDiskFreeDeserializer implements JsonDeserializer<MinDiskFree> {
14+
15+
private static final String TAG = "MinDiskFreeDeserializer";
16+
17+
@Override
18+
public MinDiskFree deserialize(final JsonElement json, final Type typeOfT,
19+
final JsonDeserializationContext context) throws JsonParseException {
20+
JsonObject jsonObject = json.getAsJsonObject();
21+
MinDiskFree minDiskFree = new MinDiskFree();
22+
minDiskFree.unit = getFieldAsString(jsonObject, "unit");
23+
minDiskFree.value = getFieldAsFloat(jsonObject, "value");
24+
Log.v(TAG, "TEST unit " + minDiskFree.unit);
25+
Log.v(TAG, "TEST value " + minDiskFree.value);
26+
return minDiskFree;
27+
}
28+
29+
private String getFieldAsString(JsonObject jsonObject, String serializedName) {
30+
if (jsonObject.get(serializedName) == null) {
31+
Log.v(TAG, "getFieldAsString: " + serializedName + " == null");
32+
return null;
33+
}
34+
return jsonObject.get(serializedName).getAsString();
35+
}
36+
37+
private float getFieldAsFloat(JsonObject jsonObject, String serializedName) {
38+
if (jsonObject.get(serializedName) == null) {
39+
Log.v(TAG, "getFieldAsFloat: " + serializedName + " == null");
40+
return 0;
41+
}
42+
return jsonObject.get(serializedName).getAsFloat();
43+
}
44+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.nutomic.syncthingandroid.model;
2+
3+
import android.util.Log;
4+
5+
import com.google.gson.JsonSerializationContext;
6+
import com.google.gson.JsonSerializer;
7+
import com.google.gson.JsonElement;
8+
import com.google.gson.JsonObject;
9+
10+
import java.lang.reflect.Type;
11+
12+
public class MinDiskFreeSerializer implements JsonSerializer<MinDiskFree> {
13+
14+
private static final String TAG = "MinDiskFreeSerializer";
15+
16+
@Override
17+
public JsonElement serialize(final MinDiskFree minDiskFree, Type typeOfSrc,
18+
final JsonSerializationContext context) {
19+
JsonObject jsonObject = new JsonObject();
20+
jsonObject.addProperty("unit", minDiskFree.unit);
21+
jsonObject.addProperty("value", minDiskFree.value);
22+
Log.v(TAG, "TEST SERIALIZE " + minDiskFree.unit);
23+
Log.v(TAG, "TEST SERIALIZE " + minDiskFree.value);
24+
return jsonObject;
25+
}
26+
}

0 commit comments

Comments
 (0)