Added Android code
[wl-app.git] / Android / folioreader / src / main / java / com / folioreader / model / sqlite / FolioDatabaseHelper.java
diff --git a/Android/folioreader/src/main/java/com/folioreader/model/sqlite/FolioDatabaseHelper.java b/Android/folioreader/src/main/java/com/folioreader/model/sqlite/FolioDatabaseHelper.java
new file mode 100755 (executable)
index 0000000..188898e
--- /dev/null
@@ -0,0 +1,85 @@
+package com.folioreader.model.sqlite;
+
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteOpenHelper;
+import android.util.Log;
+
+public class FolioDatabaseHelper extends SQLiteOpenHelper {
+    @SuppressWarnings("unused")
+    private static final String TAG = "SQLiteOpenHelper";
+
+    private static FolioDatabaseHelper mInstance;
+    private static SQLiteDatabase myWritableDb;
+
+    public static final String DATABASE_NAME = "FolioReader.db";
+    private static final int DATABASE_VERSION = 2;
+
+    public static final String KEY_ID = "_id";
+    private final Context mContext;
+
+    public FolioDatabaseHelper(final Context context) {
+        super(context, DATABASE_NAME, null, DATABASE_VERSION);
+        mContext = context;
+    }
+
+    public static FolioDatabaseHelper getInstance(Context context) {
+        if (mInstance == null) {
+            mInstance = new FolioDatabaseHelper(context);
+        }
+        return mInstance;
+    }
+
+    public SQLiteDatabase getMyWritableDatabase() {
+        if ((myWritableDb == null) || (!myWritableDb.isOpen())) {
+            myWritableDb = this.getWritableDatabase();
+        }
+
+        return myWritableDb;
+    }
+
+    @Override
+    public void close() {
+        super.close();
+        if (myWritableDb != null) {
+            myWritableDb.close();
+            myWritableDb = null;
+        }
+    }
+
+    @Override
+    public final void onCreate(final SQLiteDatabase db) {
+        Log.d("create table highlight", "****" + HighLightTable.SQL_CREATE);
+        db.execSQL(HighLightTable.SQL_CREATE);
+    }
+
+    @Override
+    public final void onUpgrade(final SQLiteDatabase db, final int oldVersion,
+                                final int newVersion) {
+               /* PROTECTED REGION ID(DatabaseUpdate) ENABLED START */
+
+        // TODO Implement your database update functionality here and remove the
+        // following method call!
+        //onUpgradeDropTables(db);
+        //onCreate(db);
+        resetAllPreferences(mContext);
+
+               /* PROTECTED REGION END */
+    }
+
+    /**
+     * This basic upgrade functionality will destroy all old data on upgrade
+     */
+    private final void onUpgradeDropTables(final SQLiteDatabase db) {
+
+    }
+
+    /**
+     * Resets all shared preferences
+     *
+     * @param context
+     */
+    private final void resetAllPreferences(Context context) {
+
+    }
+}