mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-06-02 11:26:09 +02:00
4363f94661
This commit takes aims to bring many new garmin devices up to a working status, with basic functionalities such as: - garmin protocol initialization - basic message exchange - support for some messages in Garmin own format - support for some messages in protobuf format
46 lines
1.6 KiB
Java
46 lines
1.6 KiB
Java
package nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.messages;
|
|
|
|
|
|
import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventMusicControl;
|
|
|
|
public class MusicControlMessage extends GFDIMessage {
|
|
|
|
private static final MusicControlCapabilitiesMessage.GarminMusicControlCommand[] commands = MusicControlCapabilitiesMessage.GarminMusicControlCommand.values();
|
|
final int messageType;
|
|
private final GBDeviceEventMusicControl event;
|
|
|
|
public MusicControlMessage(int messageType, MusicControlCapabilitiesMessage.GarminMusicControlCommand command) {
|
|
this.event = new GBDeviceEventMusicControl();
|
|
this.messageType = messageType;
|
|
switch (command) {
|
|
case TOGGLE_PLAY_PAUSE:
|
|
event.event = GBDeviceEventMusicControl.Event.PLAYPAUSE;
|
|
break;
|
|
case SKIP_TO_NEXT_ITEM:
|
|
event.event = GBDeviceEventMusicControl.Event.NEXT;
|
|
break;
|
|
case SKIP_TO_PREVIOUS_ITEM:
|
|
event.event = GBDeviceEventMusicControl.Event.PREVIOUS;
|
|
break;
|
|
}
|
|
|
|
this.statusMessage = this.getStatusMessage(messageType);
|
|
}
|
|
|
|
public static MusicControlMessage parseIncoming(MessageReader reader, int messageType) {
|
|
MusicControlCapabilitiesMessage.GarminMusicControlCommand command = commands[reader.readByte()];
|
|
|
|
reader.warnIfLeftover();
|
|
return new MusicControlMessage(messageType, command);
|
|
}
|
|
|
|
public GBDeviceEventMusicControl getGBDeviceEvent() {
|
|
return event;
|
|
}
|
|
|
|
@Override
|
|
protected boolean generateOutgoing() {
|
|
return false;
|
|
}
|
|
}
|