mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-06-02 03:16:07 +02:00
c1fd0b77ad
Co-authored-by: hrglpfrmpf <hrglpfrmpf@web.de> Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2831 Co-authored-by: hrglpfrmpf <hrglpfrmpf@noreply.codeberg.org> Co-committed-by: hrglpfrmpf <hrglpfrmpf@noreply.codeberg.org>
77 lines
2.5 KiB
Java
77 lines
2.5 KiB
Java
/* Copyright (C) 2021 Frank Ertl
|
|
|
|
This file is part of Gadgetbridge.
|
|
|
|
Gadgetbridge is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU Affero General Public License as published
|
|
by the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
Gadgetbridge is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Affero General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
package nodomain.freeyourgadget.gadgetbridge.service.devices.withingssteelhr.communication.notification;
|
|
|
|
import java.nio.ByteBuffer;
|
|
import java.nio.ByteOrder;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.Random;
|
|
|
|
public class GetNotificationAttributes {
|
|
private byte commandID;
|
|
private int notificationUID;
|
|
private List<RequestedNotificationAttribute> attributes = new ArrayList<>();
|
|
|
|
public byte getCommandID() {
|
|
return commandID;
|
|
}
|
|
|
|
public void setCommandID(byte commandID) {
|
|
this.commandID = commandID;
|
|
}
|
|
|
|
public int getNotificationUID() {
|
|
return notificationUID;
|
|
}
|
|
|
|
public void setNotificationUID(int notificationUID) {
|
|
this.notificationUID = notificationUID;
|
|
}
|
|
|
|
public List<RequestedNotificationAttribute> getAttributes() {
|
|
return Collections.unmodifiableList(attributes);
|
|
}
|
|
|
|
public void addAttribute(RequestedNotificationAttribute attribute) {
|
|
attributes.add(attribute);
|
|
}
|
|
|
|
public void deserialize(byte[] rawData) {
|
|
ByteBuffer buffer = ByteBuffer.wrap(rawData);
|
|
commandID = buffer.get();
|
|
notificationUID = buffer.getInt();
|
|
while (buffer.hasRemaining()) {
|
|
RequestedNotificationAttribute requestedNotificationAttribute = new RequestedNotificationAttribute();
|
|
int length = 1;
|
|
if (buffer.remaining() >= 3) {
|
|
length = 3;
|
|
}
|
|
|
|
byte[] rawAttributeData = new byte[length];
|
|
buffer.get(rawAttributeData);
|
|
requestedNotificationAttribute.deserialize(rawAttributeData);
|
|
attributes.add(requestedNotificationAttribute);
|
|
}
|
|
}
|
|
|
|
public byte[] serialize() {
|
|
return new byte[0];
|
|
}
|
|
}
|