diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSDeviceCoordinator.java index 158d5d585..51b1426ff 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSDeviceCoordinator.java @@ -73,13 +73,6 @@ public class AsteroidOSDeviceCoordinator extends AbstractDeviceCoordinator { if (candidate.supportsService(AsteroidOSConstants.SERVICE_UUID)) { return DeviceType.ASTEROIDOS; } - { - LOG.debug("Name: " + candidate.getName()); - LOG.debug("Num services: " + candidate.getServiceUuids().length); - for (ParcelUuid uuid : candidate.getServiceUuids()) { - LOG.debug("Service UUID: " + uuid.toString()); - } - } return DeviceType.UNKNOWN; } @@ -131,7 +124,7 @@ public class AsteroidOSDeviceCoordinator extends AbstractDeviceCoordinator { @Override public boolean supportsFindDevice() { - return false; + return true; } @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSMediaCommand.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSMediaCommand.java index 3215b63f3..e68688aa8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSMediaCommand.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSMediaCommand.java @@ -2,6 +2,7 @@ package nodomain.freeyourgadget.gadgetbridge.devices.asteroidos; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEvent; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventMusicControl; +import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventNotificationControl; public class AsteroidOSMediaCommand { public static final byte COMMAND_PREVIOUS = 0x0; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSNotification.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSNotification.java index f75053881..52f289762 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSNotification.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/asteroidos/AsteroidOSNotification.java @@ -4,6 +4,8 @@ import android.content.Context; import androidx.annotation.NonNull; +import java.util.Locale; + import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.model.CallSpec; @@ -27,17 +29,7 @@ public class AsteroidOSNotification { @NonNull @Override public String toString() { - switch (this) { - case STRONG: - return "strong"; - case NORMAL: - return "normal"; - case RINGTONE: - return "ringtone"; - case NONE: - return "none"; - } - return ""; + return name().toLowerCase(Locale.ROOT); } } private VibrationStrength vibrationStrength = VibrationStrength.NORMAL; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/asteroidos/AsteroidOSDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/asteroidos/AsteroidOSDeviceSupport.java index dea7ca061..cedcd0f88 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/asteroidos/AsteroidOSDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/asteroidos/AsteroidOSDeviceSupport.java @@ -135,7 +135,7 @@ public class AsteroidOSDeviceSupport extends AbstractBTLEDeviceSupport { ByteArrayOutputStream baos = new ByteArrayOutputStream(); baos.write((byte) nowTime.getYear()); baos.write((byte) nowTime.getMonth()); - baos.write((byte) nowTime.getDay()); + baos.write((byte) nowTime.getDay() + 1); baos.write((byte) nowTime.getHours()); baos.write((byte) nowTime.getMinutes()); baos.write((byte) nowTime.getSeconds()); @@ -176,25 +176,14 @@ public class AsteroidOSDeviceSupport extends AbstractBTLEDeviceSupport { @Override public void onSetMusicInfo(MusicSpec musicSpec) { + TransactionBuilder builder = new TransactionBuilder("send music information"); // Send title - { - TransactionBuilder builder = new TransactionBuilder("set music title"); - safeWriteToCharacteristic(builder, AsteroidOSConstants.MEDIA_TITLE_CHAR, musicSpec.track.getBytes(StandardCharsets.UTF_8)); - builder.queue(getQueue()); - } + safeWriteToCharacteristic(builder, AsteroidOSConstants.MEDIA_TITLE_CHAR, musicSpec.track.getBytes(StandardCharsets.UTF_8)); // Send album - { - TransactionBuilder builder = new TransactionBuilder("set music album"); - safeWriteToCharacteristic(builder, AsteroidOSConstants.MEDIA_ALBUM_CHAR, musicSpec.album.getBytes(StandardCharsets.UTF_8)); - builder.queue(getQueue()); - } + safeWriteToCharacteristic(builder, AsteroidOSConstants.MEDIA_ALBUM_CHAR, musicSpec.album.getBytes(StandardCharsets.UTF_8)); // Send artist - { - TransactionBuilder builder = new TransactionBuilder("set music artist"); - safeWriteToCharacteristic(builder, AsteroidOSConstants.MEDIA_ARTIST_CHAR, musicSpec.artist.getBytes(StandardCharsets.UTF_8)); - builder.queue(getQueue()); - } - + safeWriteToCharacteristic(builder, AsteroidOSConstants.MEDIA_ARTIST_CHAR, musicSpec.artist.getBytes(StandardCharsets.UTF_8)); + builder.queue(getQueue()); } @Override @@ -254,7 +243,10 @@ public class AsteroidOSDeviceSupport extends AbstractBTLEDeviceSupport { @Override public void onFindDevice(boolean start) { - + final CallSpec callSpec = new CallSpec(); + callSpec.command = start ? CallSpec.CALL_INCOMING : CallSpec.CALL_END; + callSpec.name = "Gadgetbridge"; + onSetCallState(callSpec); } @Override @@ -305,30 +297,17 @@ public class AsteroidOSDeviceSupport extends AbstractBTLEDeviceSupport { @Override public void onSendWeather(WeatherSpec weatherSpec) { AsteroidOSWeather asteroidOSWeather = new AsteroidOSWeather(weatherSpec); - // Send weather city - { - TransactionBuilder builder = new TransactionBuilder("send weather city"); - safeWriteToCharacteristic(builder, AsteroidOSConstants.WEATHER_CITY_CHAR, asteroidOSWeather.getCityName()); - builder.queue(getQueue()); - } - // Send weather conditions - { - TransactionBuilder builder = new TransactionBuilder("send weather conditions"); - safeWriteToCharacteristic(builder, AsteroidOSConstants.WEATHER_IDS_CHAR, asteroidOSWeather.getWeatherConditions()); - builder.queue(getQueue()); - } + TransactionBuilder builder = new TransactionBuilder("send weather info"); + // Send city name + safeWriteToCharacteristic(builder, AsteroidOSConstants.WEATHER_CITY_CHAR, asteroidOSWeather.getCityName()); + // Send conditions + safeWriteToCharacteristic(builder, AsteroidOSConstants.WEATHER_IDS_CHAR, asteroidOSWeather.getWeatherConditions()); // Send min temps - { - TransactionBuilder builder = new TransactionBuilder("send weather min temps"); - safeWriteToCharacteristic(builder, AsteroidOSConstants.WEATHER_MIN_TEMPS_CHAR, asteroidOSWeather.getMinTemps()); - builder.queue(getQueue()); - } + safeWriteToCharacteristic(builder, AsteroidOSConstants.WEATHER_MIN_TEMPS_CHAR, asteroidOSWeather.getMinTemps()); // Send max temps - { - TransactionBuilder builder = new TransactionBuilder("send weather max temps"); - safeWriteToCharacteristic(builder, AsteroidOSConstants.WEATHER_MAX_TEMPS_CHAR, asteroidOSWeather.getMaxTemps()); - builder.queue(getQueue()); - } + safeWriteToCharacteristic(builder, AsteroidOSConstants.WEATHER_MAX_TEMPS_CHAR, asteroidOSWeather.getMaxTemps()); + // Flush queue + builder.queue(getQueue()); } @Override