Amazfit Active 2: Fix some errors during initialization

This commit is contained in:
José Rebelo
2025-03-20 00:05:44 +00:00
parent d6df9d6d85
commit bcf3c317a9
2 changed files with 12 additions and 11 deletions
@@ -59,7 +59,6 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.BuildConfig;
import nodomain.freeyourgadget.gadgetbridge.activities.SettingsActivity;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsUtils;
import nodomain.freeyourgadget.gadgetbridge.capabilities.GpsCapability;
@@ -1310,12 +1309,8 @@ public class ZeppOsConfigService extends AbstractZeppOsService {
private Map<String, Object> singletonMap(final String key, final Object value) {
if (key == null) {
LOG.error("Null key in prefs update");
if (BuildConfig.DEBUG) {
// Crash
throw new IllegalStateException("Null key in prefs update");
}
return Collections.emptyMap();
LOG.warn("Null key in prefs update, val = {}", value);
return new HashMap<>();
}
return new HashMap<String, Object>() {{
@@ -47,7 +47,6 @@ import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder;
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.zeppos.ZeppOsSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.zeppos.AbstractZeppOsService;
import nodomain.freeyourgadget.gadgetbridge.util.BitmapUtil;
import nodomain.freeyourgadget.gadgetbridge.util.GB;
import nodomain.freeyourgadget.gadgetbridge.util.LimitedQueue;
import nodomain.freeyourgadget.gadgetbridge.util.NotificationUtils;
import nodomain.freeyourgadget.gadgetbridge.util.StringUtils;
@@ -126,15 +125,22 @@ public class ZeppOsNotificationService extends AbstractZeppOsService {
LOG.warn("Unsupported notification service version {}", version);
}
if (version >= 4) {
// GTR 4: 02 05 64:00 01 01 05 00:01:02:03:04:05 01 01
// Active 2: 02 05 64:00 01 00 01 01 01
final short unk1 = buf.getShort(); // 100
final byte unk2 = buf.get(); // 1
final byte unk3 = buf.get(); // 1
final short unk4count = buf.getShort();
buf.get(new byte[unk4count]);
final byte hastList = buf.get(); // 0/1
if (hastList != 0) {
final short numItems = buf.getShort();
buf.get(new byte[numItems]);
}
}
if (version >= 5) {
supportsPictures = buf.get() != 0;
supportsNotificationKey = buf.get() != 0;
if (buf.hasRemaining()) {
final byte unk3 = buf.get();
}
}
LOG.info("Notification service version={}, supportsPictures={}", version, supportsPictures);
break;