package com.xiaomi.xms.sales.model; import android.text.TextUtils; import com.xiaomi.xms.sales.util.LogUtil; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; public class HomeInfo { public static final String TAG = "HomeInfo"; private Image mHomeThumbnail; private Image mHomePhoto; private int mItemType; private String mActivityUrl; private String mProductId; private String mProductName; private String mProductDetail; private String mProductPrice; private String mFullPrice; private Image mActivityIcon; public Image mHomeBigPhoto; // 预留的扩展字段,如果服务端需要添加新字段,旧版本app从该字段内解析内容进行显示 private ArrayList<?> mProductExt; public static final int ITEM_TYPE_AD = 0; public static final int ITEM_TYPE_PRODUCT = 1; public static final int ITEM_TYPE_MIPHONE = 2; public static final int ITEM_TYPE_FULLSCREEN_AD = 3; public HomeInfo(Image homeThumbnail, Image homePhoto, int itemType, String activityUrl, String productId, String productName, String productDetail, String productPrice, String fullPrice, Image activityIcon, ArrayList<?> productExt, Image homeBigPhoto) { mHomeThumbnail = homeThumbnail; mHomePhoto = homePhoto; mItemType = itemType; mActivityUrl = activityUrl; mProductId = productId; mProductName = productName; mProductDetail = productDetail; mProductPrice = productPrice; mFullPrice = fullPrice; mActivityIcon = activityIcon; mProductExt = productExt; mHomeBigPhoto = homeBigPhoto; } public static ArrayList<HomeInfo> valueOf(JSONObject json) throws JSONException { LogUtil.d(TAG, "parseResult:" + json); ArrayList<HomeInfo> list = null; if (Tags.isJSONResultOK(json)) { JSONArray itemsJsonArray = json.getJSONObject(Tags.DATA).getJSONArray( Tags.Home.ITEMS); // JSONArray itemsJsonArray = json.getJSONArray(Tags.DATA); if (itemsJsonArray != null) { list = new ArrayList<HomeInfo>(); for (int i = 0; i < itemsJsonArray.length(); i++) { if (!itemsJsonArray.isNull(i)) { JSONObject itemJsonObject = (JSONObject) itemsJsonArray.get(i); int itemType = itemJsonObject.getInt(Tags.Home.ITEM_TYPE); String thumbnailUrl = itemJsonObject.getString(Tags.Home.THUMBNAIL_URL); String photoUrl = itemJsonObject.optString(Tags.Home.PHOTO_URL); HomeInfo entry = null; // 展示项是产品 JSONObject productJsonObject = itemJsonObject .getJSONObject(Tags.Home.PRODUCT); LogUtil.d(TAG, productJsonObject.toString()); String productId = productJsonObject .getString(Tags.Home.PRODUCT_ID); String productName = productJsonObject .getString(Tags.Home.PRODUCT_NAME); String productDetail = productJsonObject .getString(Tags.Home.PRODUCT_DETAIL); String productPrice = productJsonObject .optString(Tags.Home.PRODUCT_PRICE); String fullPrice = productJsonObject .optString(Tags.Home.FULL_PRICE); String activityIcon = productJsonObject .getString(Tags.Home.ACTIVITY_ICON); Image iconImage = (TextUtils.isEmpty(activityIcon)) ? null : new Image(activityIcon); String activityUrl = itemJsonObject.getString(Tags.Home.ACTIVITY_URL); String bigImageUrl = itemJsonObject.optString(Tags.Home.BIG_PHOTO_URL); Image homeBigPhoto = null; if (!TextUtils.isEmpty(bigImageUrl)) { homeBigPhoto = new Image(bigImageUrl); } entry = new HomeInfo(new Image(thumbnailUrl), new Image(photoUrl), itemType, activityUrl, productId, productName, productDetail, productPrice, fullPrice, iconImage, null, homeBigPhoto); list.add(entry); } } } } return list; } public Image getHomeThumbnail() { return mHomeThumbnail; } public Image getHomePhoto() { return mHomePhoto; } public int getItemType() { return mItemType; } public String getActivityUrl() { return mActivityUrl; } public String getProductId() { return mProductId; } public String getProductName() { return mProductName; } public String getProductDetail() { return mProductDetail; } public String getProductPrice() { return mProductPrice; } public String getFullPrice() { return mFullPrice; } public Image getActivityIcon() { return mActivityIcon; } public ArrayList<?> getProductExt() { return mProductExt; } public Image getHomeBigPhoto() { return mHomeBigPhoto; } }