// Path: phial-overlay/src/main/java/com/mindcoders/phial/internal/keyvalue/KVSaver.java
// static class KVCategory {
//     private final String name;
//     private final List<KVEntry> entries;
// 
//     KVCategory(String name, List<KVEntry> entries) {
//         this.name = name;
//         this.entries = entries;
//     }
// 
//     String getName() {
//         return name;
//     }
// 
//     List<KVEntry> entries() {
//         return entries;
//     }
// 
//     boolean isEmpty() {
//         return entries.isEmpty();
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         KVCategory that = (KVCategory) o;
// 
//         if (name != null ? !name.equals(that.name) : that.name != null) return false;
//         return entries != null ? entries.equals(that.entries) : that.entries == null;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = name != null ? name.hashCode() : 0;
//         result = 31 * result + (entries != null ? entries.hashCode() : 0);
//         return result;
//     }
// }
// 
// Path: phial-overlay/src/main/java/com/mindcoders/phial/internal/keyvalue/KVSaver.java
// static class KVEntry {
//     private final String name;
//     private final String value;
// 
//     KVEntry(String name, String value) {
//         this.name = name;
//         this.value = value;
//     }
// 
//     String getName() {
//         return name;
//     }
// 
//     String getValue() {
//         return value;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         KVEntry kvEntry = (KVEntry) o;
// 
//         if (name != null ? !name.equals(kvEntry.name) : kvEntry.name != null) return false;
//         return value != null ? value.equals(kvEntry.value) : kvEntry.value == null;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = name != null ? name.hashCode() : 0;
//         result = 31 * result + (value != null ? value.hashCode() : 0);
//         return result;
//     }
// }


import com.mindcoders.phial.R;
import com.mindcoders.phial.internal.keyvalue.KVSaver.KVCategory;
import com.mindcoders.phial.internal.keyvalue.KVSaver.KVEntry;
import java.util.ArrayList;
import java.util.List;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ExpandableListAdapter;
import android.widget.TextView;
        return items.get(position).getName().hashCode();
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return convertView;
    }

    public void swapData(List<KVCategory> items) {
        this.items.clear();
        this.items.addAll(items);
        notifyDataSetChanged();
    }

    @Override
    public int getGroupCount() {
        return items.size();
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        return getGroup(groupPosition).entries().size();
    }

    @Override
    public KVCategory getGroup(int groupPosition) {
        return items.get(groupPosition);
    }

    @Override
// Path: phial-overlay/src/main/java/com/mindcoders/phial/internal/keyvalue/KVSaver.java
// static class KVCategory {
//     private final String name;
//     private final List<KVEntry> entries;
// 
//     KVCategory(String name, List<KVEntry> entries) {
//         this.name = name;
//         this.entries = entries;
//     }
// 
//     String getName() {
//         return name;
//     }
// 
//     List<KVEntry> entries() {
//         return entries;
//     }
// 
//     boolean isEmpty() {
//         return entries.isEmpty();
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         KVCategory that = (KVCategory) o;
// 
//         if (name != null ? !name.equals(that.name) : that.name != null) return false;
//         return entries != null ? entries.equals(that.entries) : that.entries == null;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = name != null ? name.hashCode() : 0;
//         result = 31 * result + (entries != null ? entries.hashCode() : 0);
//         return result;
//     }
// }
// 
// Path: phial-overlay/src/main/java/com/mindcoders/phial/internal/keyvalue/KVSaver.java
// static class KVEntry {
//     private final String name;
//     private final String value;
// 
//     KVEntry(String name, String value) {
//         this.name = name;
//         this.value = value;
//     }
// 
//     String getName() {
//         return name;
//     }
// 
//     String getValue() {
//         return value;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         KVEntry kvEntry = (KVEntry) o;
// 
//         if (name != null ? !name.equals(kvEntry.name) : kvEntry.name != null) return false;
//         return value != null ? value.equals(kvEntry.value) : kvEntry.value == null;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = name != null ? name.hashCode() : 0;
//         result = 31 * result + (value != null ? value.hashCode() : 0);
//         return result;
//     }
// }


// Path: phial-overlay/src/main/java/com/mindcoders/phial/internal/keyvalue/KeyValueAdapter.java
import com.mindcoders.phial.R;
import com.mindcoders.phial.internal.keyvalue.KVSaver.KVCategory;
import com.mindcoders.phial.internal.keyvalue.KVSaver.KVEntry;
import java.util.ArrayList;
import java.util.List;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ExpandableListAdapter;
import android.widget.TextView;

        return items.get(position).getName().hashCode();
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return convertView;
    }

    public void swapData(List<KVCategory> items) {
        this.items.clear();
        this.items.addAll(items);
        notifyDataSetChanged();
    }

    @Override
    public int getGroupCount() {
        return items.size();
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        return getGroup(groupPosition).entries().size();
    }

    @Override
    public KVCategory getGroup(int groupPosition) {
        return items.get(groupPosition);
    }

    @Override
    public KVEntry getChild(int groupPosition, int childPosition) {