// Path: app/src/main/java/org/swistowski/vaulthelper/models/Label.java
// public class Label implements Serializable {
//     private String name;
//     private long id;
//     private long color;
// 
//     public Label(String name, long id, long color) {
//         this.name = name;
//         this.id = id;
//         this.color = color;
//     }
// 
//     public long getId() {
//         return id;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setColor(long color){
//         this.color = color;
//     }
//     public long getColor(){
//         return color;
//     }
// 
//     public void save() {
//         if(id==-1){
//             Labels.getInstance().add(this);
//         } else {
//             Labels.getInstance().update(this);
//         }
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public void delete() {
//         Labels.getInstance().delete(this);
//     }
// }


import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import org.swistowski.vaulthelper.models.Label;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Set;
    private DBHelper helper;
    private SQLiteDatabase database;

    public DB(Context context) {
        helper = new DBHelper(context);
        database = helper.getWritableDatabase();
    }

    public HashMap<Long, Set<Long>> getAllItems() {
        String[] cols = new String[]{DBHelper.TABLE_ITEMS_COL_LABEL_ID, DBHelper.TABLE_ITEMS_COL_ITEM};
        Cursor cursor = database.query(true, DBHelper.TABLE_ITEMS_NAME, cols, null, null, null, null, null, null);
        /*
        if (cursor != null) {
            cursor.moveToFirst();
        }*/
        HashMap<Long, Set<Long>> allItems = new HashMap<>();
        while (cursor.moveToNext()) {
            Long labelId = cursor.getLong(0);
            Long item = cursor.getLong(1);
            if (allItems.get(labelId) == null) {
                allItems.put(labelId, new HashSet<Long>());
            }
            allItems.get(labelId).add(item);
        }
        cursor.close();
        return allItems;
    }

    ;

// Path: app/src/main/java/org/swistowski/vaulthelper/models/Label.java
// public class Label implements Serializable {
//     private String name;
//     private long id;
//     private long color;
// 
//     public Label(String name, long id, long color) {
//         this.name = name;
//         this.id = id;
//         this.color = color;
//     }
// 
//     public long getId() {
//         return id;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setColor(long color){
//         this.color = color;
//     }
//     public long getColor(){
//         return color;
//     }
// 
//     public void save() {
//         if(id==-1){
//             Labels.getInstance().add(this);
//         } else {
//             Labels.getInstance().update(this);
//         }
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public void delete() {
//         Labels.getInstance().delete(this);
//     }
// }


// Path: app/src/main/java/org/swistowski/vaulthelper/db/DB.java
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import org.swistowski.vaulthelper.models.Label;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Set;

    private DBHelper helper;
    private SQLiteDatabase database;

    public DB(Context context) {
        helper = new DBHelper(context);
        database = helper.getWritableDatabase();
    }

    public HashMap<Long, Set<Long>> getAllItems() {
        String[] cols = new String[]{DBHelper.TABLE_ITEMS_COL_LABEL_ID, DBHelper.TABLE_ITEMS_COL_ITEM};
        Cursor cursor = database.query(true, DBHelper.TABLE_ITEMS_NAME, cols, null, null, null, null, null, null);
        /*
        if (cursor != null) {
            cursor.moveToFirst();
        }*/
        HashMap<Long, Set<Long>> allItems = new HashMap<>();
        while (cursor.moveToNext()) {
            Long labelId = cursor.getLong(0);
            Long item = cursor.getLong(1);
            if (allItems.get(labelId) == null) {
                allItems.put(labelId, new HashSet<Long>());
            }
            allItems.get(labelId).add(item);
        }
        cursor.close();
        return allItems;
    }

    ;

    public Collection<Label> getLabels() {