/** * Copyright (c) 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ package com.facebook.keyframes.deserializers; import java.io.IOException; import android.util.JsonReader; import com.facebook.keyframes.model.KFAnimationFrame; /** * Deserializer for {@link KFAnimationFrame}. * * Root deserializer starts at {@link KFImageDeserializer}. */ public class KFAnimationFrameDeserializer { static final AbstractListDeserializer<KFAnimationFrame> LIST_DESERIALIZER = new AbstractListDeserializer<KFAnimationFrame>() { @Override KFAnimationFrame readObjectImpl(JsonReader reader) throws IOException { return readObject(reader); } }; public static KFAnimationFrame readObject(JsonReader reader) throws IOException { reader.beginObject(); KFAnimationFrame.Builder builder = new KFAnimationFrame.Builder(); while (reader.hasNext()) { String name = reader.nextName(); switch (name) { case KFAnimationFrame.START_FRAME_JSON_FIELD: builder.startFrame = reader.nextInt(); break; case KFAnimationFrame.DATA_JSON_FIELD: builder.data = CommonDeserializerHelper.readFloatArray(reader); break; default: reader.skipValue(); } } reader.endObject(); return builder.build(); } }