1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2025-01-10 09:55:50 +01:00
Commit Graph

5565 Commits

Author SHA1 Message Date
Daniele Gobbetti
9c68acce2e Add support for exclusive audio focus
This pauses temporarily other apps that are playing sound while our notifications get spoken.
2024-05-14 16:06:03 +02:00
Martin.JM
9ba96231c3 [Huawei] Implement remote camera shutter 2024-05-13 21:28:43 +00:00
Martin.JM
4c4ba623c4 Add camera implementation
This is to support watches with remote shutter applets that do not
act as remote triggers for other apps automatically.
2024-05-13 21:28:43 +00:00
Arjan Schrijver
d9863786de Dashboard: Use more intuitive time markings in today widget
Fixes #3717
2024-05-13 21:07:43 +02:00
Daniel Dakhno
3b01422a45 device-cycling-sensor (#3705)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3705
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2024-05-10 20:43:45 +00:00
Martin.JM
25b1f8f3fa [Huawei] Change to use MediaManager 2024-05-09 20:03:36 +02:00
José Rebelo
b909e123a4 Huawei Band 9: Fix device name 2024-05-08 22:49:57 +01:00
Damien 'Psolyca' Gaignon
39ea1774a4 [Huawei] Add Huawei Band 9 gadget 2024-05-08 21:49:12 +00:00
Damien 'Psolyca' Gaignon
f2c360ae8a [Huawei] Add Huawei Watch Fit 3 gadget 2024-05-08 21:49:12 +00:00
José Rebelo
41aab5135f Fossil Q Hybrid: Migrate global preferences to device-specific 2024-05-08 21:42:29 +00:00
Damien 'Psolyca' Gaignon
690d01dcac
[Huawei] Remove unneeded data 2024-05-08 22:48:47 +02:00
Damien 'Psolyca' Gaignon
02b052fcaf
[Huawei] Add Huawei Watch 4 Pro gadget
fix
2024-05-08 22:48:46 +02:00
ahormann
ac8d1ed6a0 New Device Soundcore Liberty 3 Pro (#3753)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3753
Co-authored-by: ahormann <ahormann@gmx.net>
Co-committed-by: ahormann <ahormann@gmx.net>
2024-05-07 22:39:13 +00:00
MrYoranimo
508a86b8ed Xiaomi: fix determining fall asleep time
Because the previous implementation of determining the time the user
falls asleep in a given time range would take the 24 hours in advance
into account, graphs displaying sleep data would erroneously indicate
that the user has been asleep since the start of the timeframe if
the user was asleep during the rollover of the time frame 24 hours
before.

This commit change the algorithm to only fetch the last sleep stage
sample and sleep range sample from the database that occurred before
the given time range. This saves having to process 24 hours worth of
samples before the time range in both cases, and prevents taking into
account irrelevant sleep ranges.
2024-05-07 13:33:52 +02:00
MrYoranimo
f581d57c01 Xiaomi: fix sleep stages not getting parsed from sleep details files
Not all packets use the payload length byte/short for the payload
length. Instead, some packets do not carry a payload, in which case
the payload length bytes are assumed to represent some state or flag.
Therefore, for packets with a type known not to carry a payload, the
payload extraction is skipped, allowing other packets to get
successfully parsed again.
2024-05-07 13:17:10 +02:00
José Rebelo
bed67ef1fb Xiaomi: Allow transliteration 2024-05-05 12:36:23 +01:00
José Rebelo
04237b7727 Prevent query for devices that have activity card disabled
Even if the activity card was disabled, all devices would be queried for
data. This slows down the UI when there are a lot of devices, especially
if multiple of them have data and only a few have the card enabled.
2024-05-04 23:51:19 +01:00
Alik Aslanyan
dc1ffdafcd Rework Armenian transliteration to handle more edge cases around mixed letters 2024-05-04 20:45:35 +04:00
José Rebelo
eaf7c03f61 Galaxy Buds 2: Fix recognition of some versions 2024-05-04 11:06:07 +01:00
José Rebelo
7892afa304 Xiaomi: Fix barometer
Thanks to MrYoranimo for the fix.
2024-05-03 22:27:57 +01:00
José Rebelo
0ff8774fce DebugActivity: Omit manufacturer for test devices if name contains it 2024-05-01 23:34:14 +01:00
rymut
7a50df61b8 [Huawei] refactor: removed isExperimental override 2024-05-01 22:35:12 +02:00
rymut
8860b4b678 [Huawei] fix: use correct coordinator for watch fit 2 2024-05-01 22:24:36 +02:00
Martin.JM
83fd09939f [Huawei] Fix PR #3742, add workout frequency and altitude 2024-05-01 16:32:27 +00:00
Damien 'Psolyca' Gaignon
2d32822ff8
[Huawei] Add Huawei Watch Fit 2 gadget 2024-05-01 12:03:59 +02:00
José Rebelo
18e08d13da Fix tests and linter 2024-04-30 20:43:23 +01:00
Martin.JM
1c2c1f710e [Huawei] Add support for workout calories and cycling power 2024-04-30 21:08:23 +02:00
José Rebelo
013ffe5559 Format pace as mm:ss 2024-04-29 19:50:57 +01:00
Martin.JM
bcd35b02da [Huawei] Add HR and SpO support for two watches
- Huawei Watch GT4
- Huawei Watch Ultimate
2024-04-29 10:58:24 +02:00
Gonk
b7d2808392 Added debug end call to the API 2024-04-28 23:19:24 +02:00
José Rebelo
9bef90a151 HPlus: Migrate global preferences to device-specific 2024-04-28 19:02:20 +01:00
Vitaliy Tomin
4d0d9e298e huawei: feature: File upload and watchface management (#3671)
Co-authored-by: Vitaliy Tomin <highwaystar.ru@gmail.com>
Co-committed-by: Vitaliy Tomin <highwaystar.ru@gmail.com>
2024-04-27 21:37:15 +00:00
aGoodUsername
aad03ddf0e bangle.js: normalized activity intensity 2024-04-27 05:22:48 +00:00
Damien 'Psolyca' Gaignon
c1e0b1fcd5 [Huawei] Enable sleep detection 2024-04-26 19:50:37 +00:00
José Rebelo
408f4b75dd Serbian transliterator: Map Đ and đ 2024-04-25 18:09:25 +01:00
José Rebelo
31408394b4 Serbian transliterator: Map Č and č 2024-04-25 18:08:55 +01:00
José Rebelo
61af26d7ce Add Serbian transliterator
As discussed in #3727
2024-04-25 17:51:45 +01:00
José Rebelo
500e930237 Refactor location service
- Refactor the code from a static global instance to a lifecycle-aware
  service instantiated in the DeviceCommunicationService
- Fix number of devices reported in the notification
- Prevents leaks and properly stops when devices get disconnected
2024-04-25 17:08:53 +01:00
José Rebelo
3799ffb72c Zepp OS: Sync calendar event reminders 2024-04-25 15:58:57 +01:00
José Rebelo
13d6c49bb5 Xiaomi: Sync calendar event reminders 2024-04-25 15:00:48 +01:00
Vitaliy Tomin
67cf9b2f00 huawei: Add huawei account support (#3721)
* this feature allows to pair HarmonyOS devices without factory reset to
  GB and Huawei Health.

* huawei account has form of 17 digit string and could be retrived from
  logcat filtering by huid=

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3721
Co-authored-by: Vitaliy Tomin <highwaystar.ru@gmail.com>
Co-committed-by: Vitaliy Tomin <highwaystar.ru@gmail.com>
2024-04-25 12:19:00 +00:00
Daniele Gobbetti
173e2d29b0 Include Organizer and Reminders when reading calendar events
Also use the named column indexes instead of numeric ids when retrieving the contents to make it more clear and more robust in case further fields are added later.

Reminders are set as absolute timestamp.
2024-04-25 11:46:34 +02:00
Marcel Alexandru Nitan
2190c82ed7 feature: Sleep as android support
Implement support for Sleep As Android with an usable example for ZeppOs
devices

Sleep as Android documentation:

https://docs.sleep.urbandroid.org/devs/wearable_api.html

Signed-off-by: Marcel Alexandru Nitan <nitan.marcel@protonmail.com>
2024-04-20 12:15:42 +03:00
Arjan Schrijver
f186053dab Dashboard: Add preference for drawing midnight at bottom of 24h chart 2024-04-18 20:06:56 +02:00
Arjan Schrijver
a2c861f66c Add preference for hiding bottom navigation bar 2024-04-17 21:58:23 +02:00
Damien 'Psolyca' Gaignon
4059566a25
[Huawei] Fix notification length 2024-04-16 23:10:01 +02:00
Damien 'Psolyca' Gaignon
84070dd0ba
[Huawei] Fix TimeZone offset calculation 2024-04-15 21:37:57 +02:00
Alik Aslanyan
f0a9ab7f98 Add Armenian transliteration 2024-04-15 19:58:27 +04:00
José Rebelo
9ae02f65ed Zepp OS: Change settings category to "calls and notifications" 2024-04-13 15:11:39 +01:00
Arjan Schrijver
523d02ae7f Generalize auto-pickup and read-notifications-aloud features 2024-04-13 14:10:54 +00:00
José Rebelo
320fccbaae Xiaomi: Fix crash when deleting last widget screen 2024-04-12 22:41:11 +01:00
MrYoranimo
5e6bf798a4 Xiaomi: implement setAutoReconnect on XiaomiSupport
The DeviceCommunicationService calls `#setAutoReconnect` on new device
supports before it calls the connect method. Since this method did not
get relayed to the connection-specific support classes, Xiaomi devices
using a BLE connection did not automatically reconnect because the
`mAutoReconnect` field in `AbstractBTLEDeviceSupport` never got set.
2024-04-12 20:54:49 +02:00
MrYoranimo
d39f86f3c8 Xiaomi: fix music volume command only increasing volume
Earlier Xiaomi devices would send either 0 or 100 for the requested
volume to indicate whether the app should increase or decrease the
phone's volume. Newer devices send the volume to change to, based on the
known current volume. We therefore need to check whether the device
increased or decreased the volume based on the current volume ourselves
in order to determine which event we want to fire.
2024-04-12 20:54:49 +02:00
MrYoranimo
35217aa405 Xiaomi: add support for 2x3 widget layouts
The Xiaomi Smart Band 8 Pro shows widgets in a two by three grid.
Previously, opening the widget configuration for such a device from the
device-specific preferences would crash Gadgetbridge because the layouts
in such a grid was not supported.

This commit adds definitions for layouts in a 2x3 grid to the
WidgetLayout enum, adds a definition for a full screen widget to the
WidgetType enum, defines rendering definitions for the new layouts to
WidgetScreenDetailsActivity, and defines translations for the new
layouts and type to XiaomiWidgetManager.
2024-04-12 20:54:49 +02:00
MrYoranimo
0b731611b9 Xiaomi: refactor WidgetManager for Redmi Watch 4
The Redmi Watch 4 reports both an unsupported widget type and layout
style:

- The firmware supports a screen layout for a single full screens
  widget, which is defined by layout ID 128;
- A full screen widget is a single 2x2 part, which is not supported.

This commit adds support for both the new layout and the new widget
type.

Furthermore, this commit refactors the XiaomiWidgetManager. Previously,
the supported layouts were determined by the types of parts supported by
the device. However, the supported layouts are reported by the device
through a bitfield in the widget capabilities message of which the purpose
was unknown, which is now used to determine the supported layouts.
2024-04-12 20:54:49 +02:00
MrYoranimo
796f26f74f Redmi Watch 4: initial experimental support 2024-04-12 20:54:49 +02:00
Daniele Gobbetti
ff9207cd9a Nothing: add option to read aloud incoming notifications.
Also fixes a bug where the call would be accepted twice if the tts was not bound.
2024-04-12 16:51:49 +02:00
Daniele Gobbetti
1a8689d4bf Add "Delta Chat" to the recognized applications and as generic chat 2024-04-12 09:21:54 +02:00
Arjan Schrijver
cd8e9b5ea6 Dashboard: Fix crash on start when Devices is first screen 2024-04-10 22:11:45 +02:00
Arjan Schrijver
6f103b2897 Dashboard: Implement horizontal swiping and fix fragment related crashes 2024-04-10 21:53:03 +02:00
Ganblejs
96bbd578c8 Bangle.js: add wake on notification response OPEN 2024-04-10 19:36:17 +00:00
Ganblejs
594c409067 WakeActivity: add start method 2024-04-10 19:36:17 +00:00
Ganblejs
dae5a77b17 Add setting to wake+unlock on OPEN notif response 2024-04-10 19:36:17 +00:00
Daniele Gobbetti
e00d234f09 Add GENERIC_PHONE and GENERIC_CALENDAR NotificationType handling 2024-04-10 14:20:20 +02:00
Damien 'Psolyca' Gaignon
83a010f42e [Huawei] Ask pincode only on first connection 2024-04-09 19:06:39 +00:00
Damien 'Psolyca' Gaignon
52e61e36fe [Huawei] Rename needsAuth to firstConnection 2024-04-09 19:06:39 +00:00
Arjan Schrijver
065f8cdaa7 Fix DeviceService not starting when the dashboard is the initial screen 2024-04-09 10:46:11 +02:00
Arjan Schrijver
8ce0983cb4 Galaxy Buds Live: Update device settings to new structure 2024-04-09 06:55:53 +00:00
Arjan Schrijver
cb13c7bc05 Fossil/Skagen Hybrids: Update device settings to new structure 2024-04-09 06:55:53 +00:00
MrYoranimo
0daf283853 BtBRDeviceSupport: fix Gadgetbridge crashing when queue is destroyed during initialization 2024-04-07 20:25:52 +00:00
MrYoranimo
ebf0dbc2d0 Xiaomi: remove battery-related request timer on disconnect 2024-04-07 20:25:52 +00:00
MrYoranimo
cb44982edb BtLEQueue: make NotifyAction more verbose 2024-04-07 20:25:52 +00:00
MrYoranimo
3ad389d57d BtBR/Xiaomi: fix disconnection logic/state handling 2024-04-07 20:25:52 +00:00
Daniel Dakhno
9502a0dcfb Device scan: Fix permission check on Android 11 and below (#3659)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3659
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2024-04-06 10:46:55 +00:00
Daniele Gobbetti
a37f0c89bb Nothing: add adjustable delay for auto-pick-up of calls
- Also add a (basic) Application wide TextToSpeech helper
- use the TextToSpeech to announce the caller name or number
2024-04-05 19:55:22 +02:00
Daniele Gobbetti
c4747e2e23 Nothing: add option to auto-reply to incoming phone calls
The new preference to toggle the auto-reply behavior is not
prefixed with the device name, as I guess it could be useful
also for other bluetooth headphones
2024-04-05 19:55:22 +02:00
Arjan Schrijver
43fddd0110 Dashboard view (#3478)
This adds a new dashboard-type view to Gadgetbridge. The new dashboard activity displays several widgets with aggregated statistics from multiple devices. New preferences are added to allow configuration of the dashboard and its widgets. A new bottom navigation bar is added to switch between the Dashboard and Devices views.

Some issues that prompted this feature and provided inspiration for the implementation:
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/301 (More Intuitive User Interface)
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3074 (Ability to merge historical data from several devices)

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3478
Reviewed-by: José Rebelo <joserebelo@noreply.codeberg.org>
Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Co-committed-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
2024-04-04 19:28:04 +00:00
Martin.JM
e4cac887cc [Huawei] Auto detect GPS data support 2024-04-04 20:01:44 +02:00
Martin.JM
88746d5706 [Huawei] Hookup GPS values 2024-04-04 19:31:12 +02:00
Martin.JM
22720514b9 [Huawei] Add GPS packets 2024-04-04 19:26:54 +02:00
Damien 'Psolyca' Gaignon
a29187a034
[Huawei] Fix long notification and clean Notifications class 2024-04-03 23:05:53 +02:00
José Rebelo
64a0b716f0 Fix crash when connecting on some phones 2024-04-03 21:22:52 +01:00
José Rebelo
9b285f16bf DeviceCommunicationService: Notify device connections right away
As noted in #3676, having a lot of bluetooth classic devices might make
the connection take some time, which would only send all the updates at
the end.

Send the updates right away for each device.
2024-04-02 22:04:12 +01:00
MrYoranimo
7fb0d19374 Xiaomi: fix GB crashing when sending command to disconnected SPP-based device 2024-04-02 21:02:42 +00:00
MrYoranimo
28066b9b7d DeviceCommunicationService: fix crash when enabling Bluetooth adapter 2024-04-02 21:02:42 +00:00
Marcel Alexandru Nitan
a76b9af80c zepos: fix timezone for sunrise/sunset time; closes #3673, closes #3400 2024-04-02 20:46:08 +00:00
Damien 'Psolyca' Gaignon
f9268d981e
[Huawei] Simplify HuaweiSettingsCustomizer 2024-04-02 18:53:37 +02:00
Damien 'Psolyca' Gaignon
10cd4e09b1
[Huawei] Add enable SpO2 force option 2024-04-02 18:53:37 +02:00
Damien 'Psolyca' Gaignon
93bb8bdc08
[Huawei] Fix force DND support 2024-04-02 18:53:36 +02:00
Damien 'Psolyca' Gaignon
fd5cab2b4c
[Huawei] Add enable HeartRate force option 2024-04-02 18:53:36 +02:00
Damien 'Psolyca' Gaignon
23c39280c7
[Huawei] Rework settings menu with sub-screens 2024-04-02 18:53:35 +02:00
Damien 'Psolyca' Gaignon
c63fa19550
Add Health root preference screen 2024-04-02 18:53:15 +02:00
MrYoranimo
260dec5b27 DebugActivity: send list of weather specs when pressing 'set weather' 2024-04-01 21:57:12 +02:00
MrYoranimo
a5ff360497 Xiaomi: rework weather service 2024-04-01 21:57:12 +02:00
José Rebelo
033e977491 Bangle.js: Add setting to disable notifications 2024-03-31 23:08:14 +01:00
José Rebelo
0fb2d1272a Xiaomi Smart Band 8 Active: Fix discovery 2024-03-31 18:03:36 +01:00
Damien 'Psolyca' Gaignon
7b22b8880d
[Huawei] Fix reconnection issue 2024-03-31 18:28:49 +02:00
Vitaliy Tomin
4986fdd0ea Huawei: Use generic notification type instead of wechat
* this match stock application Huawei Health
* devices show proper applications icons if it exist in firmware,
when type set to Wechat only wechat icon used
* sender name was not shown with wechat type
2024-03-31 07:04:25 +00:00
José Rebelo
88a1e7bb59 Huawei: Group pace values in activity summary pace group 2024-03-30 21:42:18 +00:00
Martin.JM
83d2aaf30e Group new Huawei workout activity entries 2024-03-30 22:07:02 +01:00
Martin.JM
ff37766510 Huawei workout change strings to ActivitySummaryEntries 2024-03-30 21:34:27 +01:00
Martin.JM
4ad77c8232 Huawei Workout improve pace information 2024-03-30 21:34:27 +01:00
Martin.JM
e9090ec082 Huawei Workout use translatable strings 2024-03-30 21:34:27 +01:00
Martin.JM
e8ddc1fd17 Huawei Workout cleanup of unknown values 2024-03-30 21:34:27 +01:00
Damien 'Psolyca' Gaignon
7a752381cc
[Huawei] Remove SendAccountRequest 2024-03-30 15:50:49 +01:00
José Rebelo
904007614d Fix crash during discovery 2024-03-30 09:02:18 +00:00
José Rebelo
81aef0bf35 Add support for multiple weather locations
Introduce the concept of primary and secondary weathers:

* Primary weather keeps the same behavior as previously across all weather providers, so it's non-breaking. This location is not necessarily the current location, just the primary weather location set by the user.
* The GenericWeatherReceiver now has a new extra WeatherSecondaryJson, that receives a json list with secondary weather locations.

It's guaranteed that the primary weather always exists, so the list of WeatherSpecs provided to devices is never empty. Update all support classes accordingly.
2024-03-29 21:10:40 +00:00
José Rebelo
9678188395 Scannable: Fix device settings 2024-03-28 21:58:30 +00:00
Daniel Dakhno
8cf87a418b Added scannable-only devices (#3621)
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2024-03-28 21:07:05 +00:00
~noodlez1232
bf762a25a5 Cleanup and update AsteroidOS
1. Added icons to the notifications
2. Cleaned up a lot of the DeviceCoordinator code (Since a lot of them
   have default implementations now)
2024-03-28 12:30:20 -07:00
Gordon Williams
1165a5d03c Revert "Bangle.js: add support for SMS replies" - not needed as per #3654
This reverts commit 323f8028e0.
2024-03-28 08:45:14 +00:00
Gordon Williams
323f8028e0 Bangle.js: add support for SMS replies 2024-03-28 08:31:07 +00:00
Gordon Williams
665656ddc0 Bangle.js: Fix message reply (and add .reply in notify if message supports reply)
NotificationListener now stores the handle ID in wearableAction.handle rather than hard-coding the calculation
Should fix ZeppOS too which was copy&paste from Bangle.js
2024-03-27 10:50:50 +00:00
Misaka 0x4e21
d68cb8c743
Huawei: Fix cycling workout type
Cycling workout type is actually 3 instead of 5.
2024-03-26 19:35:53 +08:00
g_p
7cb7c0ea8a Nothing CMF Watch Pro: Add weather support
This patch adds support for current weather, and next 6 days' weather. Condition mapping added to align with the available icons on the watch.
It also transmits the hourly condition and temperature for the coming 24 hours as part of the update.

Tested on CMF Nothing Watch Pro firmware 11.0.0.50 with weather data cooming from Breezy Weather (using Accuweather)

For current day:
- Weather symbol shows
- Name of current location shows (long names scroll)
- Current temperature shows
- Written condition shows (e.g. "Cloudy")
- Min/max temperatures show
- Air quality indicator shows

For upcoming days:
- Weather symbol shows
- Min/max temperatures show
- Name of day shows (patch doesn't touch this)

Nothing CMF Watch Pro: Use putShort() for air quality indicator; fix max location length

- Using putShort() as suggested from code review - tested to give same result
- Reduced max location length to 16 bytes, as 32 was not working

Nothing CMF Watch Pro: Better handle limited data from weather providers

- Check max length of daily and hourly datasets
- Populate with dummy data if insufficient data available
- Use null as the weather condition in any situation where no data available

Nothing CMF Watch Pro: If hourly weather data is missing, use current data

This should create a better fallback behaviour if a weather source is lacking hour-by-hour data.
Assuming the current data will apply in the next hour is less messy than showing placeholder (inaccurate) figures.

Nothing CMF Watch Pro: Allow location names of up to 30 characters, improve string processing
2024-03-25 22:45:36 +00:00
José Rebelo
1e2a561dfd Bangle.js: Add screenshot support 2024-03-25 20:38:37 +00:00
José Rebelo
705651e5f6 BondingUtil: Fix linter
The code was valid, but gradle lint will not realize that the API check
is performed, so it would fail. Inline the condition to fix this.
2024-03-25 20:38:18 +00:00
José Rebelo
852893408f Ask for companion device during pairing 2024-03-25 20:31:33 +00:00
José Rebelo
8085eb6ec3 Discover bonded devices by default
A lof of devices will simply work anyway even if already paired in
Android bluetooth settings. Discover them by default, but warn the user
if the device is not known to pair correctly if already paired in Android
settings. Allows this warning to be disabled to known working devices.
2024-03-25 20:31:33 +00:00
Ganblejs
f8e15068ea Bangle.js: add save file to android functionality
Bangle.js:file handling LOG.warn -> info

Bangle.js: sync file can't escape device directory

Naïve solution. I wanted to use `Path.normalize()` but Android Studio
said it could not be used from the static context. This does not attempt
to normalize the path, but just remove the special names `..\` and `.\`.

Bangle.js:simpler hindering of escaping device dir
2024-03-25 17:04:21 +00:00
Misaka 0x4e21
cef277261a [Huawei] Support workout type of cycling
Add support for workout type of (outdoor) cycling, which is 5 on the device.
2024-03-25 23:28:53 +08:00
Andreas Shimokawa
7fe619c976 BLEScanService: Allow supported ScanSettings on Android API level 23 2024-03-25 10:34:44 +01:00
José Rebelo
435b4bec60 BLEScanService: Fix linter 2024-03-25 09:20:51 +00:00
g_p
0becaa4334 Nothing CMF Watch Pro: Fix music playback status
These two values were swapped, meaning a double press of play/pause was needed to change state.
This also fixes the wrong play/pause button state showing during playback.

Tested on firmware 11.0.0.50
2024-03-24 20:15:56 +00:00
Damien 'Psolyca' Gaignon
731ca67dcb
[Huawei] Fix GT3(Pro) encrypted transaction 2024-03-23 21:50:09 +01:00
Damien 'Psolyca' Gaignon
78ee68f426
[Huawei] Fix MediumToStrengthThreshold request 2024-03-23 21:27:47 +01:00
Damien 'Psolyca' Gaignon
df3273be7c
[Huawei] Fix SendExtendedAccountToDevice tag 0x01 2024-03-23 18:52:50 +01:00
Damien 'Psolyca' Gaignon
3f7a7304bb
[Huawei] Change display of command IDs to hex 2024-03-23 18:21:33 +01:00
Damien 'Psolyca' Gaignon
1392f24f4c
[Huawei] Add Rotate Cycle Info into dynamic service 2024-03-23 18:09:04 +01:00
Gordon Williams
8d43624a9a Bangle.js: filter calendar events to try and remove :~:~:~:~:~ lines for google meet, double newlines, and HTML 2024-03-22 11:43:30 +00:00
Ganblejs
de1faf6f00 Bangle.js:actTrk:replace RuntimeException with LOG 2024-03-21 23:28:29 +00:00
Ganblejs
ac4273fc1b Bangle.js:actTrk:dont apnd device mac str to files 2024-03-21 23:28:29 +00:00
Ganblejs
5c183da78c Bangle.js:actTrk: store files in device subfolder 2024-03-21 23:28:29 +00:00
Ganblejs
5540dc18a4 Bangle.js:actTrk: use last 4 chars of mac in names
... of files
2024-03-21 23:28:29 +00:00
Ganblejs
2803c62a7c Bangle.js:actTrk: add first timestamp to gpx name 2024-03-21 23:28:29 +00:00
Ganblejs
cd2535f49a Bangle.js:actTrk: fix activity point times 2024-03-21 23:28:29 +00:00
Ganblejs
f0826286dc Bangle.js:actTrk:add error msg re get file dir 2024-03-21 23:28:29 +00:00
Ganblejs
0ac6da3903 Bangle.js:ActTrk: fix requestTrackObj can be null 2024-03-21 23:28:29 +00:00
Ganblejs
9309ac8d38 Bangle.js:actTrk: comment out LAPS summary info 2024-03-21 23:28:29 +00:00
Ganblejs
1e2ea97391 Bangle.js:actTrk: curly brace to scope cases 2024-03-21 23:28:29 +00:00
Ganblejs
571410ff4b Bangle.js:actTrk: don't throw RuntimeException 2024-03-21 23:28:29 +00:00
Ganblejs
f3f9a75633 Bangle.js:actTrk: dataflow tweaks 2024-03-21 23:28:29 +00:00
Ganblejs
d2e61c5fe8 Bangle.js:actTrk: move tracksList inside class 2024-03-21 23:28:29 +00:00
Ganblejs
1660f4b7fa Bangle.js:actTrk: move package count inside class 2024-03-21 23:28:29 +00:00
Ganblejs
6eb97eeb15 Bangle.js:actTrk: see dataTypes as bitmask 2024-03-21 23:28:29 +00:00
Ganblejs
d94ac25cd1 Bangle.js:actTrk:refactor compileDateStringFromCal 2024-03-21 23:28:29 +00:00
Ganblejs
cd8fad29b1 Bangle.js:actTrk: reference ActivitySummaryEntries 2024-03-21 23:28:29 +00:00
Ganblejs
8715cc7e81 Bangle.js:actTrk:dont extend BangleJSDeviceSupport 2024-03-21 23:28:29 +00:00
Ganblejs
7182f4be67 Bangle.js:actTrk:cmnt out some faulty summary data 2024-03-21 23:28:29 +00:00
Ganblejs
35021f28fa Bangle.js:actTrk: fix 'Reset fetch date' function 2024-03-21 23:28:29 +00:00
Ganblejs
c2a4eed13a Bangle.js:actTrk: pckts out of order->stop timeout 2024-03-21 23:28:29 +00:00
Ganblejs
cd9fdca397 Bangle.js:actTrk: cmt re send "stop" on interrupt 2024-03-21 23:28:29 +00:00
Ganblejs
21882042c4 Bangle.js:actTrk: fix fastest/slowest pace 2024-03-21 23:28:29 +00:00
Ganblejs
9f2df0262f Bangle.js:actTrk: refactor LOG.info to debug/error 2024-03-21 23:28:29 +00:00
Ganblejs
8060911d42 Bangle.js:actTrk: move private methods down 2024-03-21 23:28:29 +00:00
Ganblejs
70a7d8f8da Bangle.js:actTrk: add private modifier 2024-03-21 23:28:29 +00:00
Ganblejs
546102f01f Bangle.js:actTrk: accommodate "erase" keyword 2024-03-21 23:28:29 +00:00
Ganblejs
e7f8c9e7a6 Bangle.js:actTrk:upd cmt re fetch all then parse 2024-03-21 23:28:29 +00:00
Ganblejs
7734fbe4b0 Revert "Bangle.js:actTrk:fetch all logs, then parse them"
This reverts commit 6b941f9277f70d642cfaa430d3d917ba6b559d17.
2024-03-21 23:28:29 +00:00
Ganblejs
6936053734 Revert "Bangle.js:actTrk: try fix parsing after interrupt"
This reverts commit 638f12e96bdb44445902b3bbd477c742e1d88299.
2024-03-21 23:28:29 +00:00
Ganblejs
d93ef074c3 Bangle.js:actTrk: try fix parsing after interrupt 2024-03-21 23:28:29 +00:00
Ganblejs
46be3c47f9 Bangle.js:actTrk:fetch all logs, then parse them 2024-03-21 23:28:29 +00:00
Ganblejs
d8172295cb Bangle.js:actTrk: note on postponing parsing 2024-03-21 23:28:29 +00:00
Ganblejs
ddca4ad90d Bangle.js:actTrk: remove unrelated comments 2024-03-21 23:28:29 +00:00
Ganblejs
a077e867b4 Bangle.js:actTrk:rm newline on latest fetch string 2024-03-21 23:28:29 +00:00
Ganblejs
6ce8f336b4 Bangle.js:actTrk: break out file operations 2024-03-21 23:28:29 +00:00
Ganblejs
f1053c5b80 Bangle.js:actTrk: add private modifier 2024-03-21 23:28:29 +00:00
Ganblejs
f97dda37c7 Bangle.js:actTrk: simplify timeout 2024-03-21 23:28:29 +00:00
Ganblejs
c250a70196 Bangle.js:actTrk: remove public modifier 2024-03-21 23:28:29 +00:00
Ganblejs
0c10edb9f2 Bangle.js:actTrk: small refactor of return 2024-03-21 23:28:29 +00:00
Ganblejs
49bd363d0f Bangle.js:actTrk: no timeout during data-parsing 2024-03-21 23:28:29 +00:00
Ganblejs
8ab77f148f Bangle.js:actTrk: speed determines activity type 2024-03-21 23:28:29 +00:00
Ganblejs
466349fbe7 Bangle.js:actTrk: refactor a name 2024-03-21 23:28:29 +00:00
Ganblejs
2683fd9495 Bangle.js:actTrk:add LOG.warn re interrupted fetch 2024-03-21 23:28:29 +00:00
Ganblejs
6a9c037926 Bangle.js:actTrk: notify on fetch interrupted 2024-03-21 23:28:29 +00:00
Ganblejs
af740d4dc3 Bangle.js:actTrk: fix timeout for interruptions 2024-03-21 23:28:29 +00:00
Ganblejs
4f04b61dbd Bangle.js:actTrk:unsuccessful try at fetch timeout 2024-03-21 23:28:29 +00:00
Ganblejs
49c4f34f42 Bangle.js:actTrk: refactor function names 2024-03-21 23:28:29 +00:00
Ganblejs
945a28c279 Bangle.js:actTrk: tweak start/stop messagaging 2024-03-21 23:28:29 +00:00
Ganblejs
40c3eade21 Bangle.js:actTrk:fix transfer notification 2024-03-21 23:28:29 +00:00
Ganblejs
bfa5d94587 Bangle.js:actTrk: Auto-reload when fetch done 2024-03-21 23:28:29 +00:00
Ganblejs
e492160531 Bangle.js:actTrk: fix packet counting 2024-03-21 23:28:29 +00:00
Ganblejs
8338b03b3b Bangle.js:actTrk:try at packet counting
... might not be necessary. Since I got the fetching to work with
intervals on the the Bangle.js side it's been stable.

Didn't manage to make packet counting work yet.
2024-03-21 23:28:29 +00:00
Ganblejs
ddc2d7a34a Bangle.js: remove imports marked as unused 2024-03-21 23:28:29 +00:00
Ganblejs
3ac3519f3e Bangle.js:break out to class BangleJSActivityTrack 2024-03-21 23:28:29 +00:00
Ganblejs
9919bb2d6f Bangle.js: actTrk- fix logic re requesting logs 2024-03-21 23:28:29 +00:00
Ganblejs
7146fce683 Bangle.js: actTrk- sync one log at a time 2024-03-21 23:28:29 +00:00
Ganblejs
ee274510ac Bangle.js:actTrk- check if HRM could be exported
... to GPX track file. But commented out to avoid error.
2024-03-21 23:28:29 +00:00
Ganblejs
64b3468671 Bangle.js:actTrk- don't export GPX if no such data 2024-03-21 23:28:29 +00:00
Ganblejs
19ec7344ca Bangle.js: comment out some LOG.info 2024-03-21 23:28:29 +00:00
Ganblejs
2c918f6a7c Bangle.js: actTrk receive multiple lines per UARTRX 2024-03-21 23:28:29 +00:00
Ganblejs
d3229dea96 Bangle.js: clear fetched csv if refetching 2024-03-21 23:28:29 +00:00
Ganblejs
6255ff615d Bangle.js: activity track logic tweak
... to make string sent from Bangle.js shorter. And some other changes.
2024-03-21 23:28:29 +00:00
Ganblejs
c572cae161 Bangle.js: use FileUtils to read/write files 2024-03-21 23:28:29 +00:00
Ganblejs
cba2cf38f6 Bangle.js:actTrck change stride unit to only meter 2024-03-21 23:28:29 +00:00
Ganblejs
2429f64412 Bangle.js: avoid infinities, cardiac arrest, etc. 2024-03-21 23:28:29 +00:00
Ganblejs
c2c53d5495 Bangle.js: actTrack reorder activity details 2024-03-21 23:28:29 +00:00
Ganblejs
e23c5f2dd4 Bangle.js: actTrack handle empty lines on analyze 2024-03-21 23:28:29 +00:00
Ganblejs
acdde68fab Bangle.js: handle if time was given with decimals 2024-03-21 23:28:29 +00:00
Ganblejs
e39e67100e Bangle.js: actTrk WIP 2024-03-21 23:28:29 +00:00