// Path: app/src/main/java/com/antest1/kcanotify/KcaApiData.java
// public static JsonObject getUserItemStatusById(int id, String list, String kclist) {
//     if (helper == null || kcGameData == null) return null;
//     String data = helper.getItemValue(id);
//     if (data != null) {
//         JsonObject userData = new JsonParser().parse(data).getAsJsonObject();
//         int kc_item_id = userData.get("api_slotitem_id").getAsInt();
//         JsonObject kcData = getKcItemStatusById(kc_item_id, kclist);
// 
//         if (list.equals("all")) {
//             for (Map.Entry<String, JsonElement> k : userData.entrySet()) {
//                 kcData.add(k.getKey(), userData.get(k.getKey()));
//             }
//         } else {
//             String[] requestList = list.split(",");
//             for (int i = 0; i < requestList.length; i++) {
//                 String orig_api_item = requestList[i];
//                 String api_item = orig_api_item;
//                 if (!api_item.startsWith("api_")) {
//                     api_item = "api_" + api_item;
//                 }
//                 if (userData.has(api_item)) {
//                     kcData.add(orig_api_item, userData.get(api_item));
//                 }
//             }
//         }
//         kcData.remove("");
//         return kcData;
//     } else {
//         return null;
//     }
// }
// 
// Path: app/src/main/java/com/antest1/kcanotify/KcaApiData.java
// public static JsonObject getUserItemStatusById(int id, String list, String kclist) {
//     if (helper == null || kcGameData == null) return null;
//     String data = helper.getItemValue(id);
//     if (data != null) {
//         JsonObject userData = new JsonParser().parse(data).getAsJsonObject();
//         int kc_item_id = userData.get("api_slotitem_id").getAsInt();
//         JsonObject kcData = getKcItemStatusById(kc_item_id, kclist);
// 
//         if (list.equals("all")) {
//             for (Map.Entry<String, JsonElement> k : userData.entrySet()) {
//                 kcData.add(k.getKey(), userData.get(k.getKey()));
//             }
//         } else {
//             String[] requestList = list.split(",");
//             for (int i = 0; i < requestList.length; i++) {
//                 String orig_api_item = requestList[i];
//                 String api_item = orig_api_item;
//                 if (!api_item.startsWith("api_")) {
//                     api_item = "api_" + api_item;
//                 }
//                 if (userData.has(api_item)) {
//                     kcData.add(orig_api_item, userData.get(api_item));
//                 }
//             }
//         }
//         kcData.remove("");
//         return kcData;
//     } else {
//         return null;
//     }
// }
// 
// Path: app/src/main/java/com/antest1/kcanotify/KcaApiData.java
// public static Set<Integer> kcTaisenOverPlaneItemData = new HashSet<>();
// 
// Path: app/src/main/java/com/antest1/kcanotify/KcaUtils.java
// public static int getId(String resourceName, Class<?> c) {
//     try {
//         Field idField = c.getDeclaredField(resourceName);
//         return idField.getInt(idField);
//     } catch (Exception e) {
//         throw new RuntimeException("No resource ID found for: "
//                 + resourceName + " / " + c, e);
//     }
// }


import android.content.Context;
import androidx.core.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import static com.antest1.kcanotify.KcaApiData.getUserItemStatusById;
import static com.antest1.kcanotify.KcaApiData.getUserItemStatusById;
import static com.antest1.kcanotify.KcaApiData.kcTaisenOverPlaneItemData;
import static com.antest1.kcanotify.KcaUtils.getId;

        if (is_combined) {
            holder.ship_cb_indicator.setVisibility(View.VISIBLE);
            if (data.has("cb_flag")) {
                holder.ship_cb_indicator.setBackgroundColor(ContextCompat.getColor(context, R.color.colorStatSallyArea2));
            } else {
                holder.ship_cb_indicator.setBackgroundColor(ContextCompat.getColor(context, R.color.colorStatSallyArea1));
            }
        } else {
            holder.ship_cb_indicator.setVisibility(View.GONE);
        }

        int ship_stype = kcdata.get("stype").getAsInt();
        int ship_init_lk = kcdata.getAsJsonArray("luck").get(0).getAsInt();
        int ship_slot_num = kcdata.get("slot_num").getAsInt();

        JsonArray ship_slot = userdata.getAsJsonArray("api_slot");
        JsonArray ship_onslot = userdata.getAsJsonArray("api_onslot");
        int ship_slot_ex = userdata.get("api_slot_ex").getAsInt();
        String ship_ex_item_name = "";
        int ship_ex_item_icon = 0;
        int ship_ex_item_lv = 0;

        int slot_sum = 0;
        boolean flag_plane_taisen_over_7 = false;
        JsonArray ship_item = new JsonArray();

        for (int j = 0; j < ship_slot.size(); j++) {
            int item_id = ship_slot.get(j).getAsInt();
            if (item_id > 0) {
// Path: app/src/main/java/com/antest1/kcanotify/KcaApiData.java
// public static JsonObject getUserItemStatusById(int id, String list, String kclist) {
//     if (helper == null || kcGameData == null) return null;
//     String data = helper.getItemValue(id);
//     if (data != null) {
//         JsonObject userData = new JsonParser().parse(data).getAsJsonObject();
//         int kc_item_id = userData.get("api_slotitem_id").getAsInt();
//         JsonObject kcData = getKcItemStatusById(kc_item_id, kclist);
// 
//         if (list.equals("all")) {
//             for (Map.Entry<String, JsonElement> k : userData.entrySet()) {
//                 kcData.add(k.getKey(), userData.get(k.getKey()));
//             }
//         } else {
//             String[] requestList = list.split(",");
//             for (int i = 0; i < requestList.length; i++) {
//                 String orig_api_item = requestList[i];
//                 String api_item = orig_api_item;
//                 if (!api_item.startsWith("api_")) {
//                     api_item = "api_" + api_item;
//                 }
//                 if (userData.has(api_item)) {
//                     kcData.add(orig_api_item, userData.get(api_item));
//                 }
//             }
//         }
//         kcData.remove("");
//         return kcData;
//     } else {
//         return null;
//     }
// }
// 
// Path: app/src/main/java/com/antest1/kcanotify/KcaApiData.java
// public static JsonObject getUserItemStatusById(int id, String list, String kclist) {
//     if (helper == null || kcGameData == null) return null;
//     String data = helper.getItemValue(id);
//     if (data != null) {
//         JsonObject userData = new JsonParser().parse(data).getAsJsonObject();
//         int kc_item_id = userData.get("api_slotitem_id").getAsInt();
//         JsonObject kcData = getKcItemStatusById(kc_item_id, kclist);
// 
//         if (list.equals("all")) {
//             for (Map.Entry<String, JsonElement> k : userData.entrySet()) {
//                 kcData.add(k.getKey(), userData.get(k.getKey()));
//             }
//         } else {
//             String[] requestList = list.split(",");
//             for (int i = 0; i < requestList.length; i++) {
//                 String orig_api_item = requestList[i];
//                 String api_item = orig_api_item;
//                 if (!api_item.startsWith("api_")) {
//                     api_item = "api_" + api_item;
//                 }
//                 if (userData.has(api_item)) {
//                     kcData.add(orig_api_item, userData.get(api_item));
//                 }
//             }
//         }
//         kcData.remove("");
//         return kcData;
//     } else {
//         return null;
//     }
// }
// 
// Path: app/src/main/java/com/antest1/kcanotify/KcaApiData.java
// public static Set<Integer> kcTaisenOverPlaneItemData = new HashSet<>();
// 
// Path: app/src/main/java/com/antest1/kcanotify/KcaUtils.java
// public static int getId(String resourceName, Class<?> c) {
//     try {
//         Field idField = c.getDeclaredField(resourceName);
//         return idField.getInt(idField);
//     } catch (Exception e) {
//         throw new RuntimeException("No resource ID found for: "
//                 + resourceName + " / " + c, e);
//     }
// }


// Path: app/src/main/java/com/antest1/kcanotify/KcaFleetInfoItemAdapter.java
import android.content.Context;
import androidx.core.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import static com.antest1.kcanotify.KcaApiData.getUserItemStatusById;
import static com.antest1.kcanotify.KcaApiData.getUserItemStatusById;
import static com.antest1.kcanotify.KcaApiData.kcTaisenOverPlaneItemData;
import static com.antest1.kcanotify.KcaUtils.getId;


        if (is_combined) {
            holder.ship_cb_indicator.setVisibility(View.VISIBLE);
            if (data.has("cb_flag")) {
                holder.ship_cb_indicator.setBackgroundColor(ContextCompat.getColor(context, R.color.colorStatSallyArea2));
            } else {
                holder.ship_cb_indicator.setBackgroundColor(ContextCompat.getColor(context, R.color.colorStatSallyArea1));
            }
        } else {
            holder.ship_cb_indicator.setVisibility(View.GONE);
        }

        int ship_stype = kcdata.get("stype").getAsInt();
        int ship_init_lk = kcdata.getAsJsonArray("luck").get(0).getAsInt();
        int ship_slot_num = kcdata.get("slot_num").getAsInt();

        JsonArray ship_slot = userdata.getAsJsonArray("api_slot");
        JsonArray ship_onslot = userdata.getAsJsonArray("api_onslot");
        int ship_slot_ex = userdata.get("api_slot_ex").getAsInt();
        String ship_ex_item_name = "";
        int ship_ex_item_icon = 0;
        int ship_ex_item_lv = 0;

        int slot_sum = 0;
        boolean flag_plane_taisen_over_7 = false;
        JsonArray ship_item = new JsonArray();

        for (int j = 0; j < ship_slot.size(); j++) {
            int item_id = ship_slot.get(j).getAsInt();
            if (item_id > 0) {
                JsonObject itemData = getUserItemStatusById(item_id, "level,alv", "id,type,name");