diff --git a/GBDaoGenerator/src/nodomain/freeyourgadget/gadgetbridge/daogen/GBDaoGenerator.java b/GBDaoGenerator/src/nodomain/freeyourgadget/gadgetbridge/daogen/GBDaoGenerator.java index 29a28b51e5..8647c08586 100644 --- a/GBDaoGenerator/src/nodomain/freeyourgadget/gadgetbridge/daogen/GBDaoGenerator.java +++ b/GBDaoGenerator/src/nodomain/freeyourgadget/gadgetbridge/daogen/GBDaoGenerator.java @@ -56,7 +56,7 @@ public class GBDaoGenerator { public static void main(String[] args) throws Exception { - final Schema schema = new Schema(102, MAIN_PACKAGE + ".entities"); + final Schema schema = new Schema(103, MAIN_PACKAGE + ".entities"); Entity userAttributes = addUserAttributes(schema); Entity user = addUserInfo(schema, userAttributes); @@ -1539,6 +1539,9 @@ public class GBDaoGenerator { workoutSummary.addByteProperty("algType").notNull(); workoutSummary.addIntProperty("trainingPoints").notNull(); + workoutSummary.addIntProperty("longestStreak").notNull(); + workoutSummary.addIntProperty("tripped").notNull(); + return workoutSummary; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/schema/GadgetbridgeUpdate_103.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/schema/GadgetbridgeUpdate_103.java new file mode 100644 index 0000000000..e2059f35d2 --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/schema/GadgetbridgeUpdate_103.java @@ -0,0 +1,28 @@ +package nodomain.freeyourgadget.gadgetbridge.database.schema; + +import android.database.sqlite.SQLiteDatabase; + +import nodomain.freeyourgadget.gadgetbridge.database.DBHelper; +import nodomain.freeyourgadget.gadgetbridge.database.DBUpdateScript; +import nodomain.freeyourgadget.gadgetbridge.entities.HuaweiWorkoutSummarySampleDao; + +public class GadgetbridgeUpdate_103 implements DBUpdateScript { + @Override + public void upgradeSchema(final SQLiteDatabase db) { + if (!DBHelper.existsColumn(HuaweiWorkoutSummarySampleDao.TABLENAME, HuaweiWorkoutSummarySampleDao.Properties.LongestStreak.columnName, db)) { + final String statement = "ALTER TABLE " + HuaweiWorkoutSummarySampleDao.TABLENAME + " ADD COLUMN \"" + + HuaweiWorkoutSummarySampleDao.Properties.LongestStreak.columnName + "\" INTEGER NOT NULL DEFAULT -1;"; + db.execSQL(statement); + } + if (!DBHelper.existsColumn(HuaweiWorkoutSummarySampleDao.TABLENAME, HuaweiWorkoutSummarySampleDao.Properties.Tripped.columnName, db)) { + final String statement = "ALTER TABLE " + HuaweiWorkoutSummarySampleDao.TABLENAME + " ADD COLUMN \"" + + HuaweiWorkoutSummarySampleDao.Properties.Tripped.columnName + "\" INTEGER NOT NULL DEFAULT -1;"; + db.execSQL(statement); + } + } + + @Override + public void downgradeSchema(SQLiteDatabase database) { + + } +} diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/Workout.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/Workout.java index 820ce0555c..125fc3e7b2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/Workout.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/Workout.java @@ -186,6 +186,9 @@ public class Workout { public int trainingPoints = -1; + public int longestStreak = -1; + public int tripped = -1; + public Response(ParamsProvider paramsProvider) { super(paramsProvider); } @@ -272,6 +275,10 @@ public class Workout { this.runPaceZone4Time = container.getShort(0x59); if (container.contains(0x5a)) this.runPaceZone5Time = container.getShort(0x5a); + if (container.contains(0x5b)) + this.longestStreak = container.getAsInteger(0x5b); + if (container.contains(0x5c)) + this.tripped = container.getAsInteger(0x5c); if (container.contains(0x5d)) this.algType = container.getByte(0x5d); if (container.contains(0x63)) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/HuaweiSupportProvider.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/HuaweiSupportProvider.java index 88927f99d3..5ff93b0dfd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/HuaweiSupportProvider.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/HuaweiSupportProvider.java @@ -1903,7 +1903,9 @@ public class HuaweiSupportProvider { packet.runPaceZone4Time, packet.runPaceZone5Time, packet.algType, - packet.trainingPoints + packet.trainingPoints, + packet.longestStreak, + packet.tripped );