mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-24 10:56:50 +01:00
Huawei: Fix flood of PhoneInfo messages
PR #3858 resulted in a flood of PhoneInfo messages. This fixes that.
This commit is contained in:
parent
b6f9faff80
commit
e7fb74a18f
@ -785,6 +785,7 @@ public class DeviceConfig {
|
||||
}
|
||||
|
||||
public static class Response extends HuaweiPacket {
|
||||
public boolean isAck = false;
|
||||
public byte[] info;
|
||||
|
||||
public Response(ParamsProvider paramsProvider) {
|
||||
@ -795,7 +796,12 @@ public class DeviceConfig {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parseTlv() {
|
||||
public void parseTlv() throws MissingTagException {
|
||||
if (this.tlv.get().size() == 1 && this.tlv.contains(0x7f) && this.tlv.getInteger(0x7f) == 0x186A0) {
|
||||
this.isAck = true;
|
||||
return;
|
||||
}
|
||||
|
||||
info = new byte[this.tlv.length()];
|
||||
int i = 0;
|
||||
for (TLV tlv : this.tlv.get()) {
|
||||
|
@ -382,6 +382,10 @@ public class AsynchronousResponse {
|
||||
return;
|
||||
}
|
||||
DeviceConfig.PhoneInfo.Response phoneInfoResp = (DeviceConfig.PhoneInfo.Response) response;
|
||||
if (phoneInfoResp.isAck) {
|
||||
LOG.info("Not responding to ack for PhoneInfo");
|
||||
return;
|
||||
}
|
||||
GetPhoneInfoRequest getPhoneInfoReq = new GetPhoneInfoRequest(this.support, phoneInfoResp.info);
|
||||
try {
|
||||
getPhoneInfoReq.doPerform();
|
||||
|
Loading…
Reference in New Issue
Block a user