@@ -0,0 +1,1547 @@
+package org.commcare.models.database.user;%0A%0Aimport android.content.ContentValues;%0A%0Aimport net.sqlcipher.database.SQLiteDatabase;%0A%0Aimport org.commcare.models.database.SqlStorage;%0Aimport org.javarosa.core.services.storage.ExpressionCacheStorage;%0Aimport org.javarosa.xpath.InFormCacheableExpr;%0A%0A/**%0A * Created by amstone326 on 1/10/18.%0A */%0A%0Apublic class AndroidExpressionCacheStorage implements ExpressionCacheStorage %7B%0A    private final static String formExpressionCacheTableName = %22InFormExpressionCache%22;%0A    private final static String CACHE_KEY_COL = %22cache_key%22;%0A    private final static String CACHE_VAL_COL = %22cache_value%22;%0A%0A    private SQLiteDatabase db;%0A%0A    public AndroidExpressionCacheStorage(SQLiteDatabase userDb) %7B%0A        createExpressionCacheTable(userDb);%0A    %7D%0A%0A    @Override%0A    public void cache(InFormCacheableExpr key, Object value) %7B%0A        ContentValues cv = new ContentValues();%0A        db.insertOrThrow(formExpressionCacheTableName, null, cv);%0A    %7D%0A%0A    @Override%0A    public Object getCachedValue(InFormCacheableExpr key) %7B%0A        return null;%0A    %7D%0A%0A    public static void createExpressionCacheTable(SQLiteDatabase db) %7B%0A        String createStatement =%0A                %22CREATE TABLE IF NOT EXISTS %22%0A                        + formExpressionCacheTableName%0A                        + %22 (%22 + CACHE_KEY_COL + %22, %22 + CACHE_VAL_COL + %22);%22;%0A        db.execSQL(createStatement);%0A    %7D%0A%0A    public static void wipeExpressionCacheTable(SQLiteDatabase db) %7B%0A        SqlStorage.wipeTable(db, formExpressionCacheTableName);%0A    %7D%0A%7D%0A

add Android class for expr cache storage