// Path: liquid/src/main/java/io/lqd/sdk/LQLog.java
// public class LQLog {
// 
//     private static int LOG_LEVEL = 2;
// 
//     public static final int PATHS = 7;
//     public static final int HTTP = 6;
//     public static final int DATA = 5;
//     public static final int INFO_VERBOSE = 4;
//     public static final int INFO = 3;
//     public static final int WARNING = 2;
//     public static final int ERROR = 1;
// 
//     /**
//      * Changes the current Log level (Debugging proposes)
//      * @param level LogLevel
//      */
//     public static void setLevel(int level) {
//         if( level < 1 || level > 7)
//             throw new IllegalArgumentException("Log levels are between 1 and 7");
//         LOG_LEVEL = level;
//     }
// 
//     /**
//      * Gets the current log level
//      * @return the log level
//      */
//     public static int getLevel() {
//         return LOG_LEVEL;
//     }
// 
//     public static void paths(String message) {
//         if(LOG_LEVEL >= PATHS) {
//             Log.d(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void http(String message) {
//         if(LOG_LEVEL >= HTTP) {
//             Log.d(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void data(String message) {
//         if(LOG_LEVEL >= DATA) {
//             Log.v(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void infoVerbose(String message) {
//         if(LOG_LEVEL >= INFO_VERBOSE) {
//             Log.i(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void warning(String message) {
//         if(LOG_LEVEL >= WARNING) {
//             Log.w(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void info(String message) {
//         if(LOG_LEVEL >= INFO) {
//             Log.i(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void error(String message) {
//         if(LOG_LEVEL >= ERROR) {
//             Log.e(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
// }


import io.lqd.sdk.LQLog;
import android.content.Context;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
        ArrayList<LQValue> tempvar =  new ArrayList<LQValue>();

        for(LQValue value : mValues) {
            if(!value.getVariable().getName().equals(variableKey)) {
                tempvar.add(value);
                --valueItems;
            }
        }
        mValues = tempvar;
        return valueItems > 0;
    }

    public void saveToDisk(Context context) {
        LQLog.data("Saving to local storage");
        try {
            FileOutputStream fileOutputStream = context.openFileOutput(
                    LIQUID_PACKAGE_FILENAME + ".vars",
                    Context.MODE_PRIVATE);
            ObjectOutputStream objectOutputStream = new ObjectOutputStream(
                    fileOutputStream);
            objectOutputStream.writeObject(this);
            objectOutputStream.flush();
            objectOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
            LQLog.infoVerbose("Could not save liquid package to file");
        }
    }

    public static LQLiquidPackage loadFromDisk(Context context){
// Path: liquid/src/main/java/io/lqd/sdk/LQLog.java
// public class LQLog {
// 
//     private static int LOG_LEVEL = 2;
// 
//     public static final int PATHS = 7;
//     public static final int HTTP = 6;
//     public static final int DATA = 5;
//     public static final int INFO_VERBOSE = 4;
//     public static final int INFO = 3;
//     public static final int WARNING = 2;
//     public static final int ERROR = 1;
// 
//     /**
//      * Changes the current Log level (Debugging proposes)
//      * @param level LogLevel
//      */
//     public static void setLevel(int level) {
//         if( level < 1 || level > 7)
//             throw new IllegalArgumentException("Log levels are between 1 and 7");
//         LOG_LEVEL = level;
//     }
// 
//     /**
//      * Gets the current log level
//      * @return the log level
//      */
//     public static int getLevel() {
//         return LOG_LEVEL;
//     }
// 
//     public static void paths(String message) {
//         if(LOG_LEVEL >= PATHS) {
//             Log.d(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void http(String message) {
//         if(LOG_LEVEL >= HTTP) {
//             Log.d(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void data(String message) {
//         if(LOG_LEVEL >= DATA) {
//             Log.v(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void infoVerbose(String message) {
//         if(LOG_LEVEL >= INFO_VERBOSE) {
//             Log.i(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void warning(String message) {
//         if(LOG_LEVEL >= WARNING) {
//             Log.w(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void info(String message) {
//         if(LOG_LEVEL >= INFO) {
//             Log.i(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
//     public static void error(String message) {
//         if(LOG_LEVEL >= ERROR) {
//             Log.e(Liquid.TAG_LIQUID, message);
//         }
//     }
// 
// }


// Path: liquid/src/main/java/io/lqd/sdk/model/LQLiquidPackage.java
import io.lqd.sdk.LQLog;
import android.content.Context;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;

        ArrayList<LQValue> tempvar =  new ArrayList<LQValue>();

        for(LQValue value : mValues) {
            if(!value.getVariable().getName().equals(variableKey)) {
                tempvar.add(value);
                --valueItems;
            }
        }
        mValues = tempvar;
        return valueItems > 0;
    }

    public void saveToDisk(Context context) {
        LQLog.data("Saving to local storage");
        try {
            FileOutputStream fileOutputStream = context.openFileOutput(
                    LIQUID_PACKAGE_FILENAME + ".vars",
                    Context.MODE_PRIVATE);
            ObjectOutputStream objectOutputStream = new ObjectOutputStream(
                    fileOutputStream);
            objectOutputStream.writeObject(this);
            objectOutputStream.flush();
            objectOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
            LQLog.infoVerbose("Could not save liquid package to file");
        }
    }

    public static LQLiquidPackage loadFromDisk(Context context){
        LQLog.data("Loading from local storage");