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
Ganblejs
bcd1fc8681
Bangle.js: more work on summary data
2024-03-21 23:28:29 +00:00
Ganblejs
e10fae00cf
Bangle.js: activity tracks summary entries
2024-03-21 23:28:29 +00:00
Ganblejs
eec3d2b89a
Bangle.js:don't show stride if not sufficient data
2024-03-21 23:28:29 +00:00
Ganblejs
6d82980cc3
Bangle.js: Activity tracks analytics
2024-03-21 23:28:29 +00:00
Ganblejs
70b9911153
Bangle.js: WIP adding summary data
...
Calculate distances from lat/long coordinates.
2024-03-21 23:28:29 +00:00
Ganblejs
b4879a92d9
Bangle.js: Activity tracks, addSummaryData
2024-03-21 23:28:29 +00:00
Ganblejs
517f9ac214
Bangle.js:Activity traks attempt (un-)setBusyTask
2024-03-21 23:28:29 +00:00
Ganblejs
6faa4452e2
Bangle.js:Act Tracks follow refactored code style
2024-03-21 23:28:29 +00:00
Ganblejs
c6cec7a0f8
Bangle.js:WIP add activity tracks support
...
Bangle.js: WIP add supportsActivityTracks
Bangle.js: testing flow of info
Bangle.js:WIP receive and store csv from Bangle.js
Bangle.js:store and transmit ID of last synced log
bangle.js:activity tracks, act on completed fetch
... of the recorder csv file.
Bangle.js: Activity tracks, now in database
... but not all data is persisted correctly I think. It's presented as
'Unknown activity'.
Bangle.js:Activity tracks, try to add gps info
I haven't tested with recordings where I have gps values, so far only
empty values. With empty values I currently get "This activity does not
contain GPX tracks" when trying to use the GPXExporter.
Bangle.js: Activity tracks, now adds GPS points
... to the activity to be shown when on the "Sport Activity Detail"
screen.
2024-03-21 23:28:29 +00:00
Ganblejs
fc9d18100d
ActivitySummariesActivity:fix no fetch btn spinner
2024-03-21 23:28:29 +00:00
Ganblejs
a59b5de343
ActivitySummariesActivity:FIXME unreachable reload
2024-03-21 23:28:29 +00:00
Ganblejs
57c0c4dfcb
FileUtils: refactor copyStringToFile
...
With the goal to hinder potential leak of file.
2024-03-21 23:28:29 +00:00
Ganblejs
758e9223d1
FileUtils:copyStringToFile: Try not to leak file.
2024-03-21 23:28:29 +00:00