Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit d3f0ac2a authored by tobiasKaminsky's avatar tobiasKaminsky
Browse files

ignore unhandled rich objects

parent 2c7ac048
Loading
Loading
Loading
Loading
+21 −8
Original line number Diff line number Diff line
@@ -95,26 +95,31 @@ public class RichElementTypeAdapter extends TypeAdapter<RichElement> {
        RichObject richObject = new RichObject();
        richObject.setTag(tag);
        while (in.hasNext()) {
            String name = in.nextName();
            String name;
            try {
                name = in.nextName();
            } catch (IllegalStateException e) {
                name = "";
            }
            
            switch (name) {
                case "type":
                    richObject.setType(in.nextString());
                    richObject.setType(getNextString(in));
                    break;
                case "id":
                    richObject.setId(in.nextString());
                    richObject.setId(getNextString(in));
                    break;
                case "name":
                    richObject.setName(in.nextString());
                    richObject.setName(getNextString(in));
                    break;
                case "path":
                    richObject.setPath(in.nextString());
                    richObject.setPath(getNextString(in));
                    break;
                case "link":
                    richObject.setLink(in.nextString());
                    richObject.setLink(getNextString(in));
                    break;
                case "server":
                    richObject.setLink(in.nextString());
                    richObject.setLink(getNextString(in));
                    break;
                default:
                    in.skipValue(); // ignore value
@@ -124,5 +129,13 @@ public class RichElementTypeAdapter extends TypeAdapter<RichElement> {
        in.endObject();
        return richObject;
    }

    private String getNextString(JsonReader in) {
        try {
            return in.nextString();
        } catch (IllegalStateException | IOException e) {
            return "";
        }
    }
}