package com.reactlibrary;

import android.util.Log;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import com.reactlibrary.interfaces.IVoiceChangerConstants;


public class JsonParsing {

    public static final String TAG = JsonParsing.class.getSimpleName();

    public static EffectObject jsonToEffectObject(String data){
        if (data != null && !data.isEmpty()) {
            try {
                JSONObject mJs = new JSONObject(data);
                String id = mJs.getString("id");
                String name = mJs.getString("name");
                int pitch =mJs.getInt("pitch") ;
                int rate =mJs.getInt("rate");

                EffectObject mEffectObject = new EffectObject(id, name, pitch, rate);

                return mEffectObject;
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        return null;
    }

    public static ArrayList<EffectObject> parsingListEffectObject(String data) {
        if (data != null && !data.isEmpty()) {
            try {
                JSONArray mJsonArray =new JSONArray(data);
                int size = mJsonArray.length();
                if (size > 0) {
                    ArrayList<EffectObject> mListEffectObjects = new ArrayList<EffectObject>();

                    for (int i = 0; i < size; i++) {
                        JSONObject mJs = mJsonArray.getJSONObject(i);

                        EffectObject mEffectObject = JsonParsing.jsonToEffectObject(mJs.toString());
                    }
                    Log.d(TAG, "===================>size effect ="+mListEffectObjects.size());
                    return mListEffectObjects;
                }
            }
            catch (JSONException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}
