1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-14 05:59:26 +01:00
Commit Graph

4588 Commits

Author SHA1 Message Date
José Rebelo
f4b059f173 Introduce AbstractSettingsActivityV2
This class introduces some of the common logic across preference
screens, handling nested PreferenceScreens, as well as the back button
and action bar title setting.
2023-07-28 20:21:53 +00:00
José Rebelo
597373f126 Allow filtering notifications from work profile apps 2023-07-28 18:53:50 +01:00
José Rebelo
078d3e2a55 Make application list sorting case-insensitive 2023-07-28 18:50:02 +01:00
José Rebelo
48ee259d89 Bangle.js: Reorganize device settings 2023-07-27 18:38:15 +01:00
hrglpfrmpf
c1fd0b77ad Support for Withings Steel HR (#2831)
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>
2023-07-26 17:20:43 +00:00
José Rebelo
606e20a065 Amazfit GTR/S 3: Enable AGPS Updates 2023-07-25 21:47:12 +01:00
José Rebelo
69ae0817cf Upgrade Q-Hybrid watchface settings to androidx 2023-07-25 20:52:39 +01:00
José Rebelo
bac1d35479 Upgrade notification settings to androidx 2023-07-25 19:52:12 +01:00
Daniele Gobbetti
53c06b8c31 Introduce native app shortcuts for android > 30 2023-07-25 18:28:35 +02:00
Daniele Gobbetti
540a4499f6 Miband 6: enable PAI and Stress support 2023-07-25 18:23:15 +02:00
José Rebelo
cac92fdc26 Upgrade discovery and pairing preferences to androidx 2023-07-25 12:24:42 +01:00
Gordon Williams
1b281c7c62 Fixing SecurityErrors on Android 12+ discovered via Play Store (after API31 update)...
* Check for bluetooth permissions in DiscoveryActivity
 * At startup we now pop up a dialog explaining why we want *any* permissions
 * Fixing ControlCenterv2 permissions requests for Android S and later (requesting background location stopped *any* dialog appearing)
 * Fixing all errors in DiscoveryActivity from Android Studio by catching errors
 * Move permission requests around to ensure that we only call RequestMultiplePermissions from onCreate
 * Only show dialog if we have permissions to request
 * Fix "LifecycleOwners must call register before they are STARTED" on some Android devices: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3192/files#issuecomment-967267
2023-07-25 11:50:53 +01:00
José Rebelo
f08c08005b Upgrade about user preferences to androidx 2023-07-25 09:22:45 +01:00
José Rebelo
cac41ea945 Upgrade charts preferences to androidx 2023-07-25 09:22:41 +01:00
José Rebelo
116703adff Pull reusable preferences logic to AbstractPreferenceFragment 2023-07-24 23:34:00 +01:00
José Rebelo
dd91716680 Amazfit GTR 4: Whitelist fw 3.23.3.1 diff from 3.21.0.1 2023-07-24 20:08:35 +01:00
José Rebelo
3b7f4f7238 Allow for gatt write request responses
Allow for support classes to send a write request response to the
device, fi requested. The standard actually expects this to happen, but
Gadgetbridge did not originally support it, so there are concerns that
enabling this globally will cause issues for devices that do not expect
the response.

See also: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2831#issuecomment-941568
2023-07-24 18:16:23 +01:00
José Rebelo
a02a6cba14 Update device settings action bar title depending on current screen 2023-07-23 22:27:11 +01:00
José Rebelo
b1ceb96100 Fix notification filters by title if notification does not contain a body 2023-07-23 21:02:46 +01:00
José Rebelo
702651c119 Sony WH-1000XM3/WF-SP800N: Add volume setting 2023-07-23 19:40:11 +01:00
Damien 'Psolyca' Gaignon
916fb6b768 Add customize buffer size on BTBRQueue 2023-07-22 19:49:34 +00:00
José Rebelo
247a954920 Huami/Zepp OS: Improve reconnection
- Remove notification on unneeded characteristics for Zepp OS devices
- Reset MTU before initializing device, since the support class is
  reused when reconnecting, and keeping the previous high MTU before
  renegotiating again can make the initialization fail sometimes
  (band will never reply)
- If any of the chunked characteristics is null during initialization,
  mark the device as waiting for reconnect, which will make it retry the
  connection later with a backoff delay.
2023-07-22 20:31:26 +01:00
José Rebelo
aa87c5abeb Fix reconnect delay reset after all devices are initialized 2023-07-22 20:28:25 +01:00
José Rebelo
db4349bfc9 Huami: Display fetch operation description 2023-07-22 20:27:20 +01:00
José Rebelo
07ec8a095b Zepp OS: Handle fitness goals in Huami2021Support
HuamiSupport handles configurations with performInitialize, which may
trigger a device reinitialization if called while the device is already
initializing.

Handle fitness goals in Huami2021Support, which should be one of the
last settings still missing.
2023-07-22 14:35:54 +01:00
José Rebelo
76576af324 Huami 2021: Do not initialize device for chunked ack
Since we now handle chunked acks as of 74dac3f5c, these may happen
during device initialization. We must not use performInitialized, or
initializeDevice will be called twice, since the device will still not
be in INITIALIZING state.
2023-07-22 13:50:54 +01:00
Arjan Schrijver
f58c655449 Fossil/Skagen Hybrids: Strip unicode characters that the watch can't display 2023-07-22 12:13:25 +02:00
mormegil
8f5c32fbee Fix PineTime firmware upload for Android 12 target
Now that the target SDK was changed to 31, the `no.nordicsemi.android:dfu`
library needs to be updated, as the current version dies on Android 12+.

However, the fixed version (1.12.0) also fixed MTU handling: The previous
versions ignored the MTU settings completely for legacy DFU.
<https://github.com/NordicSemiconductor/Android-DFU-Library/pull/260>

And while our `PineTimeJFSupport` code always tried to set MTU to 517, it was
ignored. Which was good because PineTime does not support larger MTUs. So that
we need to set the correct low MTU now the library really applies it.

Note that the current version of the DFU library cannot be used right now, it
does not even compile because of androidx dependency mismatch.

Fixes #3203
2023-07-22 09:54:45 +00:00
Johannes Krude
9700fef111 Casio GMW-B5000: separate DeviceType, but still using the CasioGWB5600DeviceSupport 2023-07-22 09:39:56 +00:00
Johannes Krude
685ccfd1c9 Casio GW-B5600: setAutoReconnect(true) on first connection 2023-07-22 09:39:56 +00:00
Johannes Krude
7cb060c9fe Casio GW-B5600: initial support 2023-07-22 09:39:56 +00:00
Johannes Krude
91415e2500 Casio: Refactoring 2023-07-22 09:39:56 +00:00
José Rebelo
57ef0ded64 Sony WH-1000XM5: Fix speak-to-chat enable/disable 2023-07-22 10:24:33 +01:00
José Rebelo
5c78488e93 Fix emoji transliteration 2023-07-20 21:54:31 +01:00
mormegil
cc8a1dbdaa Added copyright header to all new Garmin Vivomove files 2023-07-20 20:30:14 +00:00
mormegil
a4ec3a62aa PR-related improvements
- rename service identifiers for clarity
- define BLE scan filter in the coordinator (even though GB does not use those currently)
- rename `DownloadedFitFile` to `GarminFitFile`
- bump DB schema version to 49
2023-07-20 20:30:14 +00:00
mormegil
dccb8ed1c4 Changes suggested in PR
- use `BLETypeConversions`, added the missing functions there (+ unit tests for all)
- change Java package of Protobuf definitions so that they are not discarded by Proguard
-- +add subpackages to the Proguard rules so we can subdivide the classes

+ disable device-specific settings for Vivomove (no settings yet)
2023-07-20 20:30:14 +00:00
Mormegil
3a58314db6 Garmin Vivomove HR support
- communication protocols
- device support implementation
- download FIT file storage

Features:
- basic connectivity: time sync, battery status, HW/FW version info
- real-time activity tracking
- fitness data sync
- find the device, find the phone
- factory reset

Features implemented but not working:
- notifications: fully implemented, seem to communicate correctly, but not shown on watch

Features implemented partially (not expected to work now):
- weather information (and in future possibly weather alerts)
- music info
- firmware update: only the initial file upload implemented, not used

Things to improve/change:
- Device name hardcoded in `VivomoveHrCoordinator.getSupportedType`, service UUIDs not available
- Download FIT file storage: Should be store (and offer the user to export?) the FIT data forever?
- Obviously, various code improvements, cleanup, etc.
2023-07-20 20:30:14 +00:00
Mormegil
114f6fcbf0 First piece of Garmin Vivomove HR support basics
- `DeviceType` definition
- Definition of activity sample table
- Coordinator and sample provider
2023-07-20 20:30:14 +00:00
José Rebelo
bdb904faf9 Fix character mark removal before flattening to ASCII 2023-07-17 22:42:53 +01:00
José Rebelo
12dd9651e7 Fix opening screenshots from notification on external apps 2023-07-17 00:09:10 +01:00
vanous
849337b447 Amazfit Neo: Enable PAI 2023-07-16 22:57:18 +02:00
José Rebelo
258023a05d Zepp OS: Fix reminder creation
Regression introduced by 9d3c480414
2023-07-12 23:27:15 +01:00
José Rebelo
525f1567c1 Huami: Prevent activity data fetch if there is no data to fetch
More information in #3201

Fixes #3196
2023-07-12 23:21:56 +01:00
José Rebelo
ccfc112e2b Huami: Persist workout raw details even if gpx has no points 2023-07-12 23:18:31 +01:00
Richard de Boer
8e270fcbf7
Bangle.js: refactoring
Extract handling of packet types with large code blocks.
Incidentally fixes "intent" packets launching a full calendar sync if
intents are disabled in GB settings.
2023-07-11 20:46:50 +02:00
José Rebelo
4c7920133b Amazfit GTS 2e: Add activate display on lift sensitivity 2023-07-11 18:19:43 +01:00
José Rebelo
226ccd9fad Remove duplicated media session handling code 2023-07-09 17:39:21 +01:00
José Rebelo
3da539be23 Bohemic Smart Bracelet: Initial support 2023-07-09 14:29:39 +00:00
José Rebelo
298dbbe777 LeFun: Broadcast when HR samples are received 2023-07-09 14:29:39 +00:00