From 2d2df640032bd3511ce7eb5433c62afa83a888a4 Mon Sep 17 00:00:00 2001 From: cpfeiffer Date: Mon, 16 May 2016 23:54:51 +0200 Subject: [PATCH] Port schema migration to greendao --- .../gadgetbridge/GBApplication.java | 5 ++-- .../database/ActivityDatabaseHandler.java | 1 - .../gadgetbridge/database/DBOpenHelper.java | 23 +++++++++++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBOpenHelper.java diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java index f6a083f3..8648051a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java @@ -29,8 +29,8 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.Appender; import nodomain.freeyourgadget.gadgetbridge.database.DBConstants; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; +import nodomain.freeyourgadget.gadgetbridge.database.DBOpenHelper; import nodomain.freeyourgadget.gadgetbridge.entities.DaoMaster; -import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceService; import nodomain.freeyourgadget.gadgetbridge.model.ActivityUser; import nodomain.freeyourgadget.gadgetbridge.model.DeviceService; @@ -203,7 +203,8 @@ public class GBApplication extends Application { } private void setupDatabase() { - DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "test-db", null); +// DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "test-db", null); + DBOpenHelper helper = new DBOpenHelper(this, "test-db", null); SQLiteDatabase db = helper.getWritableDatabase(); DaoMaster daoMaster = new DaoMaster(db); lockHandler = new LockHandler(daoMaster.newSession()); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/ActivityDatabaseHandler.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/ActivityDatabaseHandler.java index 8f92dd5d..1c8d881a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/ActivityDatabaseHandler.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/ActivityDatabaseHandler.java @@ -34,7 +34,6 @@ import static nodomain.freeyourgadget.gadgetbridge.database.DBConstants.KEY_TYPE import static nodomain.freeyourgadget.gadgetbridge.database.DBConstants.TABLE_GBACTIVITYSAMPLES; // TODO: can be removed entirely -// TODO: port schema migration to greendao first public class ActivityDatabaseHandler extends SQLiteOpenHelper implements DBHandler { private static final Logger LOG = LoggerFactory.getLogger(ActivityDatabaseHandler.class); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBOpenHelper.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBOpenHelper.java new file mode 100644 index 00000000..7542a708 --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBOpenHelper.java @@ -0,0 +1,23 @@ +package nodomain.freeyourgadget.gadgetbridge.database; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; + +import nodomain.freeyourgadget.gadgetbridge.database.schema.SchemaMigration; +import nodomain.freeyourgadget.gadgetbridge.entities.DaoMaster; + +public class DBOpenHelper extends DaoMaster.OpenHelper { + public DBOpenHelper(Context context, String dbName, SQLiteDatabase.CursorFactory factory) { + super(context, dbName, factory); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + new SchemaMigration().onUpgrade(db, oldVersion, newVersion); + } + + @Override + public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) { + new SchemaMigration().onDowngrade(db, oldVersion, newVersion); + } +}