Added Android code
[wl-app.git] / Android / folioreader / src / main / java / com / folioreader / model / sqlite / FolioDatabaseHelper.java
1 package com.folioreader.model.sqlite;
2
3 import android.content.Context;
4 import android.database.sqlite.SQLiteDatabase;
5 import android.database.sqlite.SQLiteOpenHelper;
6 import android.util.Log;
7
8 public class FolioDatabaseHelper extends SQLiteOpenHelper {
9     @SuppressWarnings("unused")
10     private static final String TAG = "SQLiteOpenHelper";
11
12     private static FolioDatabaseHelper mInstance;
13     private static SQLiteDatabase myWritableDb;
14
15     public static final String DATABASE_NAME = "FolioReader.db";
16     private static final int DATABASE_VERSION = 2;
17
18     public static final String KEY_ID = "_id";
19     private final Context mContext;
20
21     public FolioDatabaseHelper(final Context context) {
22         super(context, DATABASE_NAME, null, DATABASE_VERSION);
23         mContext = context;
24     }
25
26     public static FolioDatabaseHelper getInstance(Context context) {
27         if (mInstance == null) {
28             mInstance = new FolioDatabaseHelper(context);
29         }
30         return mInstance;
31     }
32
33     public SQLiteDatabase getMyWritableDatabase() {
34         if ((myWritableDb == null) || (!myWritableDb.isOpen())) {
35             myWritableDb = this.getWritableDatabase();
36         }
37
38         return myWritableDb;
39     }
40
41     @Override
42     public void close() {
43         super.close();
44         if (myWritableDb != null) {
45             myWritableDb.close();
46             myWritableDb = null;
47         }
48     }
49
50     @Override
51     public final void onCreate(final SQLiteDatabase db) {
52         Log.d("create table highlight", "****" + HighLightTable.SQL_CREATE);
53         db.execSQL(HighLightTable.SQL_CREATE);
54     }
55
56     @Override
57     public final void onUpgrade(final SQLiteDatabase db, final int oldVersion,
58                                 final int newVersion) {
59                 /* PROTECTED REGION ID(DatabaseUpdate) ENABLED START */
60
61         // TODO Implement your database update functionality here and remove the
62         // following method call!
63         //onUpgradeDropTables(db);
64         //onCreate(db);
65         resetAllPreferences(mContext);
66
67                 /* PROTECTED REGION END */
68     }
69
70     /**
71      * This basic upgrade functionality will destroy all old data on upgrade
72      */
73     private final void onUpgradeDropTables(final SQLiteDatabase db) {
74
75     }
76
77     /**
78      * Resets all shared preferences
79      *
80      * @param context
81      */
82     private final void resetAllPreferences(Context context) {
83
84     }
85 }