The weather service was suffering from an off-by-one error. This is now
fixed. The weather also sends more days in its forecast. There is an
issue open in the AsteroidOS weather app to perhaps add more days to its
forcast so this should cover for it.
There is also a fix for the time not being set upon connection. I'm not
quite sure why this wasn't happening before, but it is happening now. It
might be a bit kludgy, but it is what it is.
Related to this crash on Huawei Watch GT:
nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiPacket$MissingTagException: Missing tag: 6
at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getBytes(HuaweiTLV.java:219)
at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getString(HuaweiTLV.java:239)
at nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.Watchface$WatchfaceParams$Response.parseTlv(Watchface.java:125)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.requests.Request.handleResponse(Request.java:243)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.ResponseManager.handleData(ResponseManager.java:131)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiSupportProvider.onCharacteristicChanged(HuaweiSupportProvider.java:875)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiLESupport.onCharacteristicChanged(HuaweiLESupport.java:80)
at nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEQueue$InternalGattCallback.onCharacteristicChanged(BtLEQueue.java:679)
at android.bluetooth.BluetoothGattCallback.onCharacteristicChanged(BluetoothGattCallback.java:194)
at android.bluetooth.BluetoothGatt$1$8.run(BluetoothGatt.java:581)
at android.bluetooth.BluetoothGatt.runOrQueueCallback(BluetoothGatt.java:948)
at android.bluetooth.BluetoothGatt.-$$Nest$mrunOrQueueCallback(Unknown Source:0)
at android.bluetooth.BluetoothGatt$1.onNotify(BluetoothGatt.java:575)
at android.bluetooth.IBluetoothGattCallback$Stub.onTransact(IBluetoothGattCallback.java:329)
at android.os.Binder.execTransactInternal(Binder.java:1299)
at android.os.Binder.execTransact(Binder.java:1253)
Devices might be connected at bluetooth-level, but not yet paired in
Gadgetbridge. These devices will not fire discovery events, so
Gadgetbridge would not be able to discover them.
Core: added BLE GATT Client
Core: fixed string comparisons
Core: unified intent APIs
Core: fixed notification and publication bugs
Core: extracted BLE Intent API logic
Core: introduced finer BLE API permissions
Core: use device name when adding test device through DiscoveryActivity
Core: avoid reporting same device state multiple times
Core: read firmware version on GATT Client connect connect
Core: use onSendConfiguration instead of direct subscription
Core: I18N for GATT API settings
Core: I18N for GATT API settings
Core: only show BLE API settings for BLE devices
Core: refactored intent handler
Core: extracted ble API to own class
Core: fixed unitialized BLE Api
BLE Intent API: I18N
BLE Intent API: refactoring
BLE Intent API: added back legacy API
BLE Intent API: removed new DEVICE_CHANGED and CONNECT endpoints
BLE Intent API: removed redundant ble api setting
Parse the error code and throw an exception instead of doing strange
things due to invalid step ID being used.
To investigate issue #4061.
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>