package io.lqd.sdk.model; import android.support.v4.util.ArrayMap; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; public class LQInAppMessage { private String mId; private String mFormulaId; private String mTitleColor; private String mTitle; private String mBgColor; private String mMessage; private String mMessageColor; private String mDismissEventName; private ArrayMap<String, Object> mDismissAttributes; private String mType; private String mLayout; private ArrayList<Cta> mCtas = new ArrayList<>(); public LQInAppMessage(JSONObject inapp){ try { mLayout = inapp.optString("layout"); if ("modal".equals(mLayout)) try { mTitle = inapp.getString("title"); mTitleColor = inapp.getString("title_color"); } catch (JSONException e) { e.printStackTrace(); } mBgColor = inapp.getString("bg_color"); mMessage = inapp.getString("message"); mMessageColor = inapp.getString("message_color"); mDismissEventName = inapp.getString("dismiss_event_name"); mType = inapp.getString("type"); JSONObject event_attributes = inapp.getJSONObject("event_attributes"); mFormulaId = event_attributes.getString("formula_id"); mId = event_attributes.getString("id"); mDismissAttributes = new ArrayMap<>(); mDismissAttributes.put("formula_id", mFormulaId); mDismissAttributes.put("id", mId); JSONArray ctas = inapp.getJSONArray("ctas"); int ctas_length = ctas.length(); for (int j = 0; j < ctas_length; j++) { mCtas.add(new Cta(ctas.getJSONObject(j))); } } catch (JSONException e) { e.printStackTrace(); } } public String getLayout(){ return mLayout; } public String getFormulaId(){ return mFormulaId; } public String getId(){ return mId; } public String getTitle() { return mTitle; } public String getTitleColor(){ return mTitleColor; }; public String getMessage(){ return mMessage; } public String getMessageColor(){ return mMessageColor; } public String getBgColor(){ return mBgColor; } public String getType(){ return mType; } public String getDismissEventName() { return mDismissEventName; } public ArrayMap<String, Object> getDismissAttributes(){ return mDismissAttributes; } public ArrayList<Cta> getCtas() { return mCtas; } public static class Cta { private String mDeepLink; private String mCtaId; private String mCtaFormulaId; private String mButtonColor; private String mButtonText; private String mButtonTextColor; private String mCtasEventName; private ArrayMap<String , Object> mCtasAttributes; public Cta(JSONObject cta) { try { mButtonColor = cta.getString("bg_color"); mCtasEventName = cta.getString("event_name"); JSONObject cta_attributes = cta.getJSONObject("cta_attributes"); mCtaFormulaId = cta_attributes.getString("formula_id"); mCtaId = cta_attributes.getString("id"); mCtasAttributes = new ArrayMap<>(); mCtasAttributes.put("formula_id", mCtaFormulaId); mCtasAttributes.put("cta_id", mCtaId); mButtonText = cta.getString("title"); mButtonTextColor = cta.getString("title_color"); mDeepLink = cta.getString("android_url"); } catch (JSONException e) { e.printStackTrace(); } } public String getDeepLink() { return mDeepLink; } public String getButtonText(){ return mButtonText; } public String getButtonTextColor(){ return mButtonTextColor; } public String getButtonColor(){ return mButtonColor; } public String getCtasEventName(){ return mCtasEventName; } public ArrayMap<String, Object> getCtasAttributes(){ return mCtasAttributes; } } }