package com.infonuascape.osrshelper.grandexchange; import android.util.Log; import com.infonuascape.osrshelper.utils.grandexchange.Item; import java.util.ArrayList; import org.json.*; public class GESearchResults { public ArrayList<Item> itemsSearch; public GESearchResults(String jsonObject) { itemsSearch = new ArrayList<Item>(); if(jsonObject != null) { JSONObject json = null; try { json = new JSONObject(jsonObject); JSONArray items = (JSONArray) json.get("items"); if (items != null) { for (int i = 0; i < items.length(); i++) { Item iterItem = new Item(); JSONObject currItem = (JSONObject) items.get(i); iterItem.id = (Integer) currItem.get("id"); iterItem.type = (String) currItem.get("type"); iterItem.description = (String) currItem.get("description"); iterItem.name = (String) currItem.get("name"); iterItem.icon = (String) currItem.get("icon"); iterItem.iconLarge = (String) currItem.get("icon_large"); if (currItem.get("members").equals("true")) { iterItem.members = true; } //Trends iterItem.today = parseTrend((JSONObject) currItem.get("today")); iterItem.current = parseTrend((JSONObject) currItem.get("current")); itemsSearch.add(iterItem); } } } catch (JSONException e) { e.printStackTrace(); } } } private Item.Trend parseTrend(JSONObject jsonObject) { try { Object priceObj = jsonObject.get("price"); String priceStr = ""; if (priceObj instanceof Integer) { priceStr = String.valueOf(priceObj); } else { priceStr = (String) priceObj; } String priceTemp = priceStr; priceTemp = priceTemp.replaceAll("[- ,.]", ""); priceTemp = priceTemp.replace("+", ""); priceTemp = priceTemp.replace("k", "00"); priceTemp = priceTemp.replace("m", "00000"); priceTemp = priceTemp.replace("b", "00000000"); if(!priceStr.endsWith("k") && !priceStr.endsWith("b") && !priceStr.endsWith("m")) { priceStr += "gp"; } int price = Integer.parseInt(priceTemp); return new Item().new Trend(priceStr, price, Item.getTrendRateEnum((String) jsonObject.get("trend"))); } catch(JSONException e) { e.printStackTrace(); } return null; } }