diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java index 67e936d7a..d3e8ada6d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java @@ -28,9 +28,11 @@ public class SonySWR12DeviceCoordinator extends AbstractDeviceCoordinator { @NonNull @Override public DeviceType getSupportedType(GBDeviceCandidate candidate) { - String name = candidate.getDevice().getName(); - if (!name.isEmpty() && name.toLowerCase().contains("swr12")) - return getDeviceType(); + try { + String name = candidate.getDevice().getName(); + if (name != null && !name.isEmpty() && name.toLowerCase().contains("swr12")) + return getDeviceType(); + } catch (Exception exc){} return DeviceType.UNKNOWN; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityBase.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityBase.java index 1cb102fb6..a168620fe 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityBase.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityBase.java @@ -1,10 +1,7 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.entities.activity; -import nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.util.UIntBitWriter; - public abstract class ActivityBase { protected final ActivityType type; - protected final int timeOffsetMin; private final long timeStampSec; public ActivityBase(ActivityType type, int timeOffsetMin, long timeStampSec) { @@ -12,8 +9,7 @@ public abstract class ActivityBase { throw new IllegalArgumentException("activity time offset out of range: " + timeOffsetMin); } this.type = type; - this.timeOffsetMin = timeOffsetMin; - this.timeStampSec = timeStampSec + this.timeOffsetMin * 60; + this.timeStampSec = timeStampSec + timeOffsetMin * 60; } public final int getTimeStampSec() { @@ -23,13 +19,4 @@ public abstract class ActivityBase { public final ActivityType getType() { return this.type; } - - protected final UIntBitWriter getWriterWithTypeAndOffset() { - UIntBitWriter uIntBitWriter = new UIntBitWriter(32); - uIntBitWriter.append(4, this.type.value); - uIntBitWriter.append(12, this.timeOffsetMin); - return uIntBitWriter; - } - - public abstract long toLong(); } \ No newline at end of file diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityHeartRate.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityHeartRate.java index 611c64c33..e722f6439 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityHeartRate.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityHeartRate.java @@ -1,7 +1,5 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.entities.activity; -import nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.util.UIntBitWriter; - public class ActivityHeartRate extends ActivityBase { public final int bpm; @@ -12,11 +10,4 @@ public class ActivityHeartRate extends ActivityBase { } this.bpm = bpm; } - - @Override - public long toLong() { - UIntBitWriter writerWithTypeAndOffset = this.getWriterWithTypeAndOffset(); - writerWithTypeAndOffset.append(16, this.bpm); - return writerWithTypeAndOffset.getValue(); - } } \ No newline at end of file diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivitySleep.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivitySleep.java index f8afb9703..4f8842673 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivitySleep.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivitySleep.java @@ -1,7 +1,5 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.entities.activity; -import nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.util.UIntBitWriter; - public class ActivitySleep extends ActivityBase { public final SleepLevel sleepLevel; public final int durationMin; @@ -11,12 +9,4 @@ public class ActivitySleep extends ActivityBase { this.durationMin = durationMin; this.sleepLevel = sleepLevel; } - - @Override - public long toLong() { - UIntBitWriter writerWithTypeAndOffset = this.getWriterWithTypeAndOffset(); - writerWithTypeAndOffset.append(14, this.durationMin); - writerWithTypeAndOffset.append(2, this.sleepLevel.value); - return writerWithTypeAndOffset.getValue(); - } } \ No newline at end of file diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityWithData.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityWithData.java index 37348177b..1c1773b88 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityWithData.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/ActivityWithData.java @@ -1,7 +1,5 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.entities.activity; -import nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.util.UIntBitWriter; - public class ActivityWithData extends ActivityBase { public final int data; @@ -12,11 +10,4 @@ public class ActivityWithData extends ActivityBase { } this.data = data; } - - @Override - public long toLong() { - UIntBitWriter writerWithTypeAndOffset = this.getWriterWithTypeAndOffset(); - writerWithTypeAndOffset.append(16, this.data); - return writerWithTypeAndOffset.getValue(); - } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/EventWithActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/EventWithActivity.java index e7c804ddd..a1f866e6c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/EventWithActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/sonyswr12/entities/activity/EventWithActivity.java @@ -7,7 +7,6 @@ import nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.SonySWR12U import nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.util.IntFormat; import nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.util.UIntBitReader; import nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.util.ByteArrayReader; -import nodomain.freeyourgadget.gadgetbridge.service.devices.sonyswr12.util.ByteArrayWriter; public class EventWithActivity extends EventBase { public final long timeStampSec; @@ -30,8 +29,8 @@ public class EventWithActivity extends EventBase { ActivityBase activityPayload; switch (activityType) { case SLEEP: { - SleepLevel sleepLevel = SleepLevel.fromInt(uIntBitReader.read(2)); int duration = uIntBitReader.read(14); + SleepLevel sleepLevel = SleepLevel.fromInt(uIntBitReader.read(2)); activityPayload = new ActivitySleep(offsetMin, duration, sleepLevel, timeStampSec); break; } @@ -50,13 +49,4 @@ public class EventWithActivity extends EventBase { } return new EventWithActivity(timeStampSec, activities); } - - public byte[] toByteArray() { - ByteArrayWriter byteArrayWriter = this.getValueWriter(); - byteArrayWriter.appendUint32(this.timeStampSec); - for (ActivityBase activity : activityList){ - byteArrayWriter.appendUint32(activity.toLong()); - } - return byteArrayWriter.getByteArray(); - } }