1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-08 22:51:37 +02:00
Commit Graph

4929 Commits

Author SHA1 Message Date
Gordon Williams
0e0f72410a Bangle.js: fix mixup of navigation left slight&sharp icons 2023-06-29 14:49:22 +01:00
Gordon Williams
d82ba7a04c Bangle.js: Send the timestamp of our last activity sample to the Bangle on connect, so that it can update us on missing activity samples 2023-06-26 11:39:29 +01:00
Gordon Williams
2aac797dec Remove some build warnings in BangleJSDeviceSupport 2023-06-26 11:20:50 +01:00
Gordon Williams
8e010bc6dd Stop BangleJSDeviceSupport repeatedly calling GBLocationManager.stop and spamming the log with "Stop location updates" 2023-06-26 11:15:54 +01:00
Gordon Williams
94cd7523db Ensure we now escape chars in the unicode start range. With Bangle.js ~2v18.20+ we added Unicode support, but if we're sending non-unicode chars in the unicode range it will confuse Espruino 2023-06-26 11:07:38 +01:00
Lukas
6e3ce89ae5 add attribute to set the source of the gps signal 2023-06-22 21:37:55 +00:00
Lukas
6da6baa5e6 Add switch to control if the GPS chip should be used to locate the location 2023-06-22 21:37:55 +00:00
Arjan Schrijver
7c5cd4c032 Fossil/Skagen Hybrids: Increase accuracy of workout distance calculation 2023-06-19 15:57:09 +02:00
Arjan Schrijver
2081463a4f Fossil/Skagen Hybrids: Add UV index and chance of rain widgets
Note: this needs support from weather apps, for example:
https://github.com/TylerWilliamson/QuickWeather/pull/69
2023-06-18 22:11:07 +02:00
Arjan Schrijver
ff563022f5 Fossil/Skagen Hybrids: Fix weather icons day/night status 2023-06-17 22:54:41 +02:00
José Rebelo
88b7cd5756 Add stress charts 2023-06-17 17:28:11 +01:00
José Rebelo
fec48c4340 Generalize charts logic for non-activity data
- Make ChartsHost independent from ChartsActivity
- Rename ChartsActivity to ActivityChartsActivity
- Rename AbstractChartFragment to AbstractActivityChartFragment
- Pull common charts logic to parent classes:
    - From ActivityChartsActivity to AbstractChartsActivity
    - From AbstractActivityChartFragment to AbstractChartsFragment
2023-06-16 23:53:28 +01:00
José Rebelo
9d3c480414 Zepp OS: Refactor config, display items, reminders and http to standalone services 2023-06-16 20:43:07 +01:00
José Rebelo
8f5bbec881 Zepp OS: Only cache apps and watchfaces 2023-06-15 22:07:08 +01:00
José Rebelo
fad7fa395b Zepp OS: Show watchfaces in app management 2023-06-15 22:04:01 +01:00
José Rebelo
5957f71110 App Manager: Fill out missing app info from cache 2023-06-15 22:01:16 +01:00
José Rebelo
9b7d5eee42 Zepp OS: Cache apps for app management 2023-06-15 21:59:16 +01:00
José Rebelo
853470a2bd Revert "Zepp OS: Unify support class and fw handling"
This reverts commit d59e8c3f62.

We need to refactor the Huami classes too, otherwise this needs a lot of
hacks to work properly.
2023-06-15 21:39:22 +01:00
José Rebelo
d59e8c3f62 Zepp OS: Unify support class and fw handling 2023-06-15 20:50:15 +01:00
José Rebelo
daec12e13b Amazfit GTR 3/GTS 3/GTR 3 Pro/T-Rex 2: Revert AGPS updates
Users reported that this is not actually working - further information
on the protocol is needed.

- Reverts 1898962e79 and 55cef71d3a
2023-06-15 13:09:29 +01:00
José Rebelo
1b44f3566e Prevent UI freeze when a folder has a lot of devices
Do not include the devices from collapsed folders in the array.
2023-06-14 21:24:26 +01:00
José Rebelo
5f0689d2e1 Make screenshot notification strings translatable 2023-06-14 21:02:27 +01:00
José Rebelo
5df25effba Make screenshot notifications high priority 2023-06-14 21:02:27 +01:00
José Rebelo
b3db9b7768 Zepp OS: Add screenshot support 2023-06-14 21:02:27 +01:00
José Rebelo
531aef61fd Move screenshot encoding to PebbleProtocol 2023-06-14 21:02:27 +01:00
José Rebelo
55cecceb38 Zepp OS: Add support for compressed file transfer 2023-06-14 21:02:27 +01:00
José Rebelo
d29e092ce7 Zepp OS: Fix file transfer service incoming file size parse 2023-06-14 21:02:27 +01:00
José Rebelo
3217e4a2dd Zepp OS: Add missing ack on file transfer service 2023-06-14 21:02:27 +01:00
José Rebelo
74dac3f5cd Huami 2021: Handle chunked ACKs 2023-06-14 15:45:49 +00:00
Andreas Shimokawa
f80b873866 Prefs: make allow high MTU default to true.
It is 2023, it should work, if not it can be turned off.

For newer devices with big firmwares and apps (like Mi Band 7), people just wonder how slow Gadgetbridge installs stuff...
2023-06-14 16:44:51 +02:00
José Rebelo
7262197a34 BTBR: Fix device update intent subject on connection change 2023-06-13 22:37:35 +01:00
Damien 'Psolyca' Gaignon
a3c0e10330
Add GBDevice argument to getAlarmSlotCount 2023-06-13 23:10:55 +02:00
Damien Gaignon
be575af314 Add BTBR service 2023-06-13 12:06:13 +00:00
Gordon Williams
b2aa61e182 Changed NavigationSpec's distance into a String.
Previously we used an integer (in meters) but when using
Google Maps navigation, Google Maps picks units based on locale *and*
the distance - it might report "100m" or "20km". Then we carefully undo
all that work, and for PineTime we just as "m" so you may well have "20000m"
or more displayed, which is not ideal.

I imagine at some point that will change, but we probably want to
be able to handle that in the OSMAnd side of Gadgetbridge so all watches
that implement navigation will benefit (and won't duplicate code).
2023-06-13 07:32:12 +00:00
José Rebelo
5c3b76b838 Add missing mutability flags to PendingIntents 2023-06-13 00:14:04 +01:00
José Rebelo
8899187ee4 Replace forEach with explicit for cycle
forEach with lambda is only available in SDK24+
2023-06-13 00:11:42 +01:00
José Rebelo
1898962e79 Amazfit GTR/S 3: Enable AGPS Updates 2023-06-12 20:56:55 +01:00
José Rebelo
5b2ebeb4c4 Zepp OS: Fix AGPS and gpx route upload compatibility detection 2023-06-12 19:50:57 +01:00
José Rebelo
55cef71d3a Amazfit T-Rex 2: Enable AGPS updates and gpx route upload 2023-06-12 09:32:08 +01:00
José Rebelo
9e09fe15bf Huami: Fix stress sample timestamp increment 2023-06-12 08:58:10 +01:00
José Rebelo
c666947a28 Intent API: Add command to set device mac address 2023-06-11 19:52:30 +00:00
José Rebelo
9393d2c28f Zepp OS: Add service to query supported services 2023-06-11 18:34:40 +01:00
José Rebelo
c3c4c2ce74 Zepp OS: Add watch app logs developer option 2023-06-11 18:23:54 +01:00
José Rebelo
d38afe60c2 Zepp OS: Add incoming file support to file transfer service 2023-06-11 15:21:39 +01:00
José Rebelo
c77a5467e7 Fix typo in connection priority variable 2023-06-11 00:44:20 +01:00
José Rebelo
8ff3ce0477 Zepp OS: Add experimental app management 2023-06-10 23:31:38 +01:00
José Rebelo
89b23f77b7 App Manager: Fix cached apps sorting 2023-06-10 21:04:41 +00:00
José Rebelo
240326c99a App Manager: Hide drag handle if app reorder is not supported 2023-06-10 21:04:41 +00:00
José Rebelo
c1339aa5c6 App Manager: Only set up to date apps on FOSSILQHYBRID 2023-06-10 21:04:41 +00:00
José Rebelo
6dcd055d0d App Manager: Add confirmation before deleting app 2023-06-10 21:04:41 +00:00
José Rebelo
d77a32a430 Zepp OS: Add code to toggle raw sensor data 2023-06-10 19:07:00 +01:00
José Rebelo
a3c59b0e0e Zepp OS: Add experimental sync of SpO2, stress, PAI, HR stats and sleep respiratory rate 2023-06-10 17:19:22 +01:00
José Rebelo
58704a0eec Zepp OS: Make Alexa an experimental feature 2023-06-10 17:15:36 +01:00
José Rebelo
3716a031ce Zepp OS: Implement Alexa service protocol 2023-06-10 17:05:09 +01:00
José Rebelo
46dfd1040a Add action to request connection priority 2023-06-10 17:00:40 +01:00
José Rebelo
42c37c04a0 Zepp OS: Display watchface and app preview on install 2023-06-10 13:34:48 +01:00
José Rebelo
003246ae1c Zepp OS: Fix zpk compatibility detection 2023-06-10 12:41:10 +01:00
Ganblejs
20de001e49 Bangle.js: Add more weather data sent to watch
Specifically UV Index, the day max and min temp, probability of rain.
Inspired by PR #3095

Bangle.js:Send UV Index with one decimal point
2023-06-09 20:55:32 +02:00
José Rebelo
1730064f11 Zepp OS: Match zpk compatibility by deviceSource 2023-06-09 18:35:29 +01:00
Gordon Williams
1fa8936544 Google Maps: Added more recognised icons - needed another enum for going all the way around a roundabout 2023-06-09 13:59:05 +01:00
Arjan Schrijver
0b241af8e7 Force FlattenToAsciiTransliterator to return only ASCII 2023-06-09 10:13:10 +00:00
Gordon Williams
735f27d5bf Add Navigation handling to Bangle.js
Add extra 'ETA' field to NavigationInfoSpec
Allow Local Notifications from Google Maps to be parsed into NavigationInfoSpec by GoogleMapsNotificationHandler

Moved notification handling after blacklist check as per https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3136#issuecomment-920095

Ensure we don't create a nav message for 'Location Shared with you' messages.
Recognise 'ft' as a distance unit and convert accordingly

Google Maps navigation: Adding new recognised icons, and removing warnings/errors from file
2023-06-09 08:50:40 +01:00
kieranc001
9c682da4cc Fix typos for Pinetime weather expiry time
The expiry time should be 6h (60 * 60 * 6), but has been set to 6 minutes (60 * 6) unintentionally in 3 places. 
This change sets the expiry to the correct value throughout the file.

Signed-off-by: kieranc001 <kieranc001@noreply.codeberg.org>
2023-06-08 14:30:10 +00:00
José Rebelo
dd01c77aca Zepp OS: Support flashing zab files 2023-06-08 14:22:15 +01:00
José Rebelo
594a611065 Zepp OS: Fix update operations on Zepp OS 2.1+ 2023-06-08 13:36:53 +01:00
Gordon Williams
b334773856 Bangle.js: fix the rare case where we're converting an emoji/unicode to a bitmap but it doesn't have a width/height - we just create a bitmap of min. 1px 2023-06-08 12:36:12 +01:00
Gordon Williams
e59375242e Bangle.js: Allow an activity sample to have a time specified - first steps in allowing Bangle.js to send 'missed' health data 2023-06-06 20:25:58 +01:00
Enrico Brambilla
93e8996b52 Fossil/Skagen Hybrids: Add support for ultraviolet index and rain probability
Updates WeatherSpec to v3 to add fields for UV index and precipitation probability
Co-authored-by: Enrico Brambilla <enricobilla@noreply.codeberg.org>
Co-committed-by: Enrico Brambilla <enricobilla@noreply.codeberg.org>
2023-06-05 19:52:26 +00:00
Richard de Boer
7e1685f5f9 Bangle.js: fix memory leak from HTTP requests
Every call to Volley.newRequestQueue() creates a new global thread pool,
which isn't automatically cleaned up once the request completes.
With this commit we create a RequestQueue around on first use, and reuse
it for subsequent requests.
2023-06-05 10:09:28 +00:00
José Rebelo
0c52f3d3da Improve notification logging
- Reduce duplicated and redundant messages
- Log notification priority
- Add log entry for notification ignored by dnd
2023-06-03 20:28:27 +01:00
José Rebelo
eb7366c7e3 Huami 2021: Prevent duplicated payload logging 2023-06-03 20:25:23 +01:00
José Rebelo
ed3ce6fa9d Huami: Fix stress timestamp off by 1 minute 2023-06-02 23:31:47 +01:00
Aidan Crane
29bf03dceb
Re-added ability to make Mi Band 6 visible in third party apps 2023-05-31 02:42:45 +01:00
Ganblejs
7d1de4a5e8 Bangle.js: Bump flavor targetSdkVersion to 31
This also touches parts of the app not only used for bangle.js.
E.g. pending intents gets new flags from SDK 23 inclusive.
Bluetooth permissions are updated to work on SDK 31.
Permission handling is updated to the new way for doing it with
introduction of a new function. This is called for newer sdk versions.

bump Bangle.js flavor targetSdkVersion to 31

update comments re SDK 31

set the 'exported=true' I introduced to false instead - except for three places

add uses-permission for handling bluetooth in order to work on api >30

add if-blocks adding FLAG_IMMUTABLE to PendingIntents on api >30

add link to bluetooth documentation

Add comment to banglejs manifest. Add requirement annotation to ControlCenterv

bump compileSdkVersion to 31

add "OpenAppSettings" permission popup while working out individual permission popups on android 13

if SDK < 31 do permissions one by one, else send user to app info page to switch permissions manually

working solution, but needs cleaning

do some cleaning, not done though

remove some logging

remove import Log

tweak and remove toasts in new permissions handling

Change conditions `> Build.VERSION_CODES.Q` to `>= Build.VERSION_CODES.R` matching the style used everywhere else

Revert "Change conditions `> Build.VERSION_CODES.Q` to `>= Build.VERSION_CODES.R` matching the style used everywhere else"

This reverts commit 2929629ff43fbb685eb3d15e42459f321f68fa11.

Revert "add if-blocks adding FLAG_IMMUTABLE to PendingIntents on api >30"

This reverts commit ed8e1df7bb8b71fee745fbf9d10747d47c8f6cb8.

Pending intents gets `PendingIntent.FLAG_IMMUTABLE` if `(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)`.

Bangle.js: undo `@RequiresApi` code R

... to remove error in Android Studio where declared required api was
higher then minSDK version.

Use FLAG_MUTABLE for reply to test notification

This should fix Gadgetbridge crashing when replying to the test
notification from the debug activity. As reported here:
https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2924#issuecomment-917282

Change to use FLAG_IMMUTABLE/_MUTABLE from SDK 23

... as suggested by Android Studio. This is supposed to make the app
more secure by not allowing certain changes to pending intents where
they are not expected. If I understood correctly.

Add PendingIntentUtils class to manage mutability
2023-05-30 00:25:20 +02:00
octospacc
514f983299 Intent API: Update DEBUG_SEND to DEBUG_SEND_NOTIFICATION, and make fields clearer 2023-05-29 23:55:54 +02:00
octospacc
2659a23421 Intent API: Add allow_debug_commands option and receivers for SEND, INCOMING_CALL 2023-05-29 22:57:34 +02:00
José Rebelo
7e15462593 Huami: Migrate activity fetching to repeated fetch operation 2023-05-29 20:11:42 +01:00
José Rebelo
e55a35eced Huami: Persist sleep respiratory rate data 2023-05-27 19:03:43 +01:00
José Rebelo
a1e07b5d1b Huami: Persist PAI samples 2023-05-27 19:02:01 +01:00
José Rebelo
24f78655c2 Huami: Persist heart rate max, resting and manual samples 2023-05-27 18:59:12 +01:00
José Rebelo
592356faf1 OsmAnd: Make navigation instructions configurable 2023-05-26 11:26:22 +00:00
José Rebelo
b4c2fa21bc Extract ShowDurationDialog from ChartsActivity 2023-05-25 23:45:03 +01:00
José Rebelo
79e3df4844 Extract inner classes from AbstractChartFragment
No code changes, will simplify future refactor and reuse.
2023-05-25 23:40:21 +01:00
José Rebelo
b091521155 Mi Band 7: Add preference to display call contact information 2023-05-24 23:47:20 +01:00
José Rebelo
347048dae5 Mi Band 7: Whitelist firmware 2.0.0.2 2023-05-24 23:33:02 +01:00
José Rebelo
9d966c8179 Huami: Add max HR fetch operation (no db persistence) 2023-05-23 22:35:24 +01:00
José Rebelo
c79a833bbf Huami: Add PAI fetch operation (no db persistence) 2023-05-23 22:25:58 +01:00
José Rebelo
733e5dd290 Huami: Map UTC offset in HR and respiratory rate fetch operations 2023-05-23 00:05:03 +01:00
Martin Boonk
fd9efdcb72 Bangle.js: Match default interval from resource file 2023-05-22 22:17:10 +00:00
Martin Boonk
88161bed91 Bangle.js: Inform user if GPS set to off in settings 2023-05-22 22:17:10 +00:00
Martin Boonk
d4bcbc52fb Bangle.js: Fix typo 2023-05-22 22:17:10 +00:00
Martin Boonk
a57a8cc7ca Bangle.js: Fix location listener not being cleaned up when waiting for reconnect 2023-05-22 22:17:10 +00:00
José Rebelo
3f87bfadd4 Huami: Add queued fetch operations 2023-05-22 22:15:35 +00:00
José Rebelo
23e9a3deb1 Huami: Persist stress and SpO2 data 2023-05-22 22:15:35 +00:00
José Rebelo
25038d965f Introduce generic TimeSamples for recorded data 2023-05-22 22:15:35 +00:00
Gordon Williams
788cb15500 Based on Play Store crash reports and stack traces, add a null check to try and avoid crashes 2023-05-22 13:38:04 +01:00
Gordon Williams
82778c46a5 Bangle.js: ensure we can return to appsmanagementactivity after having opened another window
Attempting to handle file open and close dialogs from the WebView
2023-05-22 13:13:50 +01:00
Andreas Shimokawa
55e7f6595b fix build after rebase 2023-05-21 22:50:52 +02:00
Ernst
56e1efaa3d Fixed typo in "continue" turn and added roundabout left,right and offroute turns 2023-05-21 22:50:52 +02:00
Andreas Shimokawa
9ccd898d42 add supportNavigation() to cooridinator 2023-05-21 22:50:52 +02:00
Andreas Shimokawa
e7c048551f Infinitime: Fix icon mapping 2023-05-21 22:50:52 +02:00
Andreas Shimokawa
4cad3b3837 InfiniTime: support navigation app 2023-05-21 22:50:52 +02:00
Andreas Shimokawa
93b9ee735c add missing file 2023-05-21 22:50:52 +02:00
Andreas Shimokawa
d7e2f1ff8c make use of onSetNavigationInfo() in osmand receiver.
This is not implemented anywhere, purely preparing for further experiments
2023-05-21 22:50:52 +02:00
Andreas Shimokawa
48dee7486f add onSetNavigationInfo() to device interface 2023-05-21 22:50:52 +02:00
Andreas Shimokawa
6379036559 subscribt to voice info also 2023-05-21 22:50:52 +02:00
Andreas Shimokawa
0d1a1f8a9f experiment with osmand
add osmand license note to readme
Cleanup unneeded aidl and java
2023-05-21 22:50:52 +02:00
José Rebelo
3a5d5dfbb0 Huami: Add sleep respiratory rate fetch operation (no db persistence) 2023-05-21 21:14:29 +01:00
José Rebelo
07357305cb Huami: Unify recorded data fetching in HuamiSupport 2023-05-20 20:44:18 +01:00
José Rebelo
8cda2f74e8 Extract NonSwipeableViewPager to standalone class 2023-05-19 21:24:27 +01:00
Gordon Williams
757e36ebd6 Bangle.js: Add message size limitation to Calendar and Messages - stops huge data streams being sent out esp for calendar events 2023-05-19 10:46:37 +01:00
Gordon Williams
0debd26a37 Add null pointer check based on Google Play store reports:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getPath()' on a null object reference
2023-05-19 09:44:10 +01:00
José Rebelo
36d2fde49b Zepp OS: Improve weather models 2023-05-18 23:39:24 +01:00
José Rebelo
2b6a79f462 Zepp OS: Manage contacts on watch 2023-05-17 23:43:29 +01:00
José Rebelo
f68e4c865b Huami: Add stress, SpO2, heart rate fetch operations (no db persistence)
Introduce a reusable abstract logic for repeated fetch operations.

Add fetch operations for the following:
- Stress (manual and automatic)
- SpO2 (normal and sleep)
- Heart rate (manual and resting)
2023-05-17 21:56:54 +01:00
Arjan Schrijver
0bba156bec Deduplicate icon retrieval code 2023-05-17 14:09:17 +02:00
José Rebelo
b1a9adadc3 Intent API: Add dataTypes parameter for activity sync 2023-05-16 21:34:05 +01:00
José Rebelo
76d99f1c33 Zepp OS: Start new GPX segments on pause/resume 2023-05-14 16:22:32 +01:00
José Rebelo
a8b9d22313 Add menus to share GPX, raw summary, raw details 2023-05-14 16:10:25 +01:00
José Rebelo
9851493cf1 Zepp OS: Add gpx route file upload 2023-05-14 14:20:39 +01:00
José Rebelo
01ec74602a Refactor and extend GpxParser 2023-05-14 14:19:48 +01:00
José Rebelo
87c91fb9b0 Debug Activity: Allow pairing current device as companion 2023-05-13 17:07:02 +01:00
José Rebelo
e1cccd6953 Zepp OS: Refactor code for alarms, notifications, calendar, canned messages 2023-05-10 23:33:23 +01:00
Arjan Schrijver
f727f2fdcb Fossil/Skagen Hybrids: Pair watch to phone, fixes repeating confirmation request 2023-05-08 22:44:43 +02:00
José Rebelo
e0d481bb36 Sony WH-1000XM5: Add power off, fix battery, fix speak-to-chat fetch 2023-05-06 17:41:10 +01:00
José Rebelo
7b3fbeb4af Sony WH-1000XM5: Initial support 2023-05-06 16:03:48 +01:00
José Rebelo
e4933a0b42 Sony Headphones: Improve unit tests 2023-05-06 14:41:28 +01:00
José Rebelo
880bf9e1b1 Amazfit GTR 3 Pro: Initial support 2023-05-03 20:49:02 +01:00
José Rebelo
483ef27a4f Zepp OS: Set region on user info
This affects available features (eg. Alexa). Defaults to the previous
value of "unknown" for now, and no UI. Alexa requires a region where it
is available, such as Germany ("de").
2023-04-30 17:03:05 +01:00
José Rebelo
6c0a276441 Zepp OS: Add code for AQI shortcut card 2023-04-30 11:55:34 +01:00
José Rebelo
1d0b10ed0f Zepp OS: Refactor services config and init logic 2023-04-30 11:42:34 +01:00
José Rebelo
94c7b43ad4 Zepp OS: Map known watchfaces to human-readable names 2023-04-26 09:51:14 +01:00
José Rebelo
9a8e95bd18 Zepp OS: Set watchface from phone 2023-04-24 20:20:43 +01:00
José Rebelo
3c3936bf6a Zepp OS: Add shortcut cards preference 2023-04-24 19:12:22 +01:00
José Rebelo
ad8069b38d Zepp OS: Fix setting of control center 2023-04-22 22:56:18 +01:00
Sky233ml
83c83580da Zepp OS: Fix Cards and MI AI display item and shortcuts 2023-04-16 10:51:56 +08:00
José Rebelo
c21d53ab49 Zepp OS: Add driving workout code 2023-04-09 13:45:46 +01:00
Arjan Schrijver
b892748b15 Cache notifications while devices are out of range (opt-in) 2023-04-05 11:11:23 +02:00
José Rebelo
340db0ca15 Amazfit GTR 4 / GTS 4: Perform and receive phone calls on watch 2023-04-02 18:50:58 +01:00
José Rebelo
f1dd4019bf Zepp OS: Add support for morning updates 2023-04-01 20:58:21 +01:00
José Rebelo
4713c6511e Zepp OS: Manage contacts on watch (protocol only) 2023-04-01 13:51:23 +01:00
José Rebelo
58686ae7d7 Sony WH-1000XM4: Attemptto fix handling of speak to cheat enabled 2023-03-24 00:39:02 +00:00
José Rebelo
2ec68dbef4 Sony WH-1000XM4: Attempt to fix handling of speak to cheat enabled 2023-03-24 00:37:15 +00:00
José Rebelo
f2a7f6ab45 Sony WH-1000XM4: Add speak-to-chat settings 2023-03-24 00:03:54 +00:00
José Rebelo
d7ecfcb16b Sony WH-1000XM4: Add speak-to-chat 2023-03-23 21:50:40 +00:00
thirschbuechler
da001544c5 add CroatianTransliterator 2023-03-21 20:00:28 +00:00
Gordon Williams
2a5cd559d5 Fix issue updating timezone in setting.json if the timezone is zero (https://github.com/espruino/BangleApps/issues/2575) 2023-03-21 15:08:59 +00:00
José Rebelo
aeb8607e78 Amazfit GTR 4 / GTS 4: Add watch Wi-Fi Hotspot and FTP Server 2023-03-21 00:02:59 +00:00
José Rebelo
d6b1b778b8 Zepp OS: Add preference for camera remote 2023-03-19 22:35:02 +00:00
José Rebelo
00954dfa6d Zepp OS: Add config to keep screen on during workout 2023-03-19 22:25:44 +00:00
José Rebelo
ac002f8db9 Zepp OS: Fix activate display upon lift wrist smart mode 2023-03-19 22:11:39 +00:00
José Rebelo
443f13c11d Zepp OS: Fix setting of unknown configuration values
Unknown configuration values are displayed in the UI as "Unknown (0x*)".
We can then attempt to parse them as hex and send the value.
2023-03-19 22:05:37 +00:00
José Rebelo
f0a05ded91 Amazfit GTR 4: Whitelist fw 3.18.1.1 diff from 3.17.0.2
Differential firmware updates are installed just like normal updates.
2023-03-19 15:53:17 +00:00
Joel Beckmeyer
ed9c746059 fix saving app notification/pebble blacklist preferences on import 2023-03-18 17:54:55 +00:00
Joel Beckmeyer
a8da4cf6d1 Amazfit Bip U: disable alarm snooze enable/disable 2023-03-17 15:46:46 -04:00
Oleg Vasilev
007f070125 huami: implement repeated activity fetching
Currently, huami only attempts to fetch activities once.

Since sports activity fetching creates an Operation twice per every fetch, we
need to pass around fetchCount variable to keep track of how many fetches has
occured.

Tested on my Amazfit GTR 4.

Signed-off-by: Oleg Vasilev <me@svin.in>
2023-03-11 15:02:00 +00:00
Andreas Shimokawa
d07fec33ca SoFlow SO6: Add light command and request lock state 2023-02-21 16:09:23 +01:00
Andreas Shimokawa
4bd8c20a6d SoFlow SO6: few cleanups and more testing 2023-02-21 16:09:23 +01:00
Andreas Shimokawa
74517f12a3 SoFlow SO6: First working lock&unlock
needs key
2023-02-21 16:09:23 +01:00
Andreas Shimokawa
5db9d36d1a SoFlow SO6: fix settings 2023-02-21 16:09:23 +01:00
Andreas Shimokawa
27406e0881 SoFlow SO6: WIP 2023-02-21 16:09:23 +01:00
narektor
84e452bd6b Galaxy Buds2 Pro support (this time proper) (#3049)
Mostly copied from the Buds Pro as those earbuds have a similar feature set and mostly the same protocol.

Working:
- Pairing
- Earbud and case battery level
- Finding lost device
- Settings:
	- Noise control:
    	- ANC/ambient/off
        - With one earbud
        - Voice detect and timeouts
    	- Ambient sound during calls
    - Touch options:
    	- Touch lock
        - Switch noise control, voice assistant, Spotify and volume actions
    	- Double tap edge
    - Equalizer
    - Sound balance
	- Seamless earbud connection

Can be improved:
- ~~ANC level and ambient sound volume do nothing, and don't seem to be supported on this model as there is no toggle for either in the official app.~~ (fixed: 26a9d274ae)
- Ambient sound customization has more options than on previous models, but I can't implement it properly as I can't really hear any difference between the options (my buds might be the issue though).
- ~~The touch lock toggle is once again inverted, like on the [Buds2](d2c4990c48)~~ (fixed: 21db5390c1).

Untested:
- Settings:
    - In-ear detection for calls
    - Ambient sound customization
    - Game mode

This PR also makes some visual changes to the settings of various Galaxy Buds models.

I'd also like to be added to the wiki's allow list. I want to add the Buds2 and Buds2 Pro to the list of supported devices.

---

And sorry for creating this many pull requests. This is mostly due to Codeberg breaking the reference to the branch.

Co-authored-by: Narek <narek.email@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3049
Reviewed-by: José Rebelo <joserebelo@noreply.codeberg.org>
Reviewed-by: Andreas Shimokawa <ashimokawa@noreply.codeberg.org>
Co-authored-by: narektor <narektor@noreply.codeberg.org>
Co-committed-by: narektor <narektor@noreply.codeberg.org>
2023-02-21 14:50:24 +00:00
vanous
92cce3bbf2 Fix GeorgianTransliterator 2023-02-15 15:44:55 +01:00
halemmerich
90771891a5 Bangle.js: Additional values for GPS event (#3026)
This tries to use bearing and number of satellites if available. ~~Bangle.js watch currently sets course=NaN in it's implementation of the GPS event handler, so to be of use this needs a small change there as well: [https://github.com/espruino/BangleApps/pull/2504](https://github.com/espruino/BangleApps/pull/2504)~~ Change has been merged.

Please advise on needed changes or oversights, thanks :)

Co-authored-by: Martin Boonk <martin@boonk.info>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3026
Co-authored-by: halemmerich <halemmerich@noreply.codeberg.org>
Co-committed-by: halemmerich <halemmerich@noreply.codeberg.org>
2023-02-14 10:45:58 +00:00
Albert
56ec206f5b [Bangle.js] check if globalUartReceiver is set and move its removal to separate method 2023-02-14 10:43:39 +00:00
Albert
2e06d7afa5 [Bangle.js] remove uart.tx intent-listener on dispose 2023-02-14 10:43:39 +00:00
Arjan Schrijver
cbf98b9308 Fossil/Skagen Hybrids: Remove useless and annoying debug message 2023-02-11 21:02:24 +01:00
roolx
11bcaeb7a8 Add Georgian Transliteration 2023-02-09 21:44:35 +00:00
Arjan Schrijver
810cc91e8e Fossil/Skagen Hybrids: Implement inactivity warnings 2023-02-06 14:26:26 +01:00
Arjan Schrijver
5ea68cad3b Fossil/Skagen Hybrids: Rewrite configuration of automatic workout detection
Fixes #2514
2023-02-06 14:22:40 +01:00
Arjan Schrijver
14f05a7cf6 Fossil/Skagen Hybrids: Fix crash on empty or multi-byte unicode alarm texts
Fixes #3024
2023-02-05 14:35:01 +01:00
Lukas
25be7cf12d Banglejs: change json key to lon when sending location data to watch 2023-01-30 21:40:30 +01:00
Arjan Schrijver
9b4f909ace Fossil/Skagen Hybrids: Update known watch app versions 2023-01-27 21:19:25 +01:00
Gordon Williams
521edc4332 Bangle.js: Increase default realtime HRM/step interval to 10 seconds
Disable manual heart rate measurement - the current implementation in Gadgetbridge seems not really compatible with Bangle.js. There's no way to turn the HRM off when the window is closed, and HRM samples from *any* device would appear to be shown - not just the one that HRM info was requested on
2023-01-26 10:31:13 +00:00
José Rebelo
134376cbd0 Amazfit T-Rex 2: Initial support 2023-01-23 23:36:57 +00:00
Gordon Williams
b16464b3b6 Bangle.js stop 'toast' warning message appearing when starting the app loader. Fix https://github.com/espruino/BangleApps/issues/2496 2023-01-13 14:28:38 +00:00
Noodlez
ead7ada987 Code clean-up and documentation 2023-01-12 17:12:03 +00:00
Noodlez
8f5997d174 AsteroidOS: Remove unused overrides
There are now default empty implementations of all AbstractDeviceSupport
functions, so there's no need to provide empty ones
2023-01-12 17:11:57 +00:00
Noodlez
3e9a185b88 AsteroidOS: Fix weather forecast
The forecast was off by 1 day
2023-01-12 17:11:50 +00:00
Noodlez
616ec53086 AsteroidOS: Add simple device discovery
This is done by just comparing the names with already existing devices.
This is only a temporary solution until the discovery of the service
UUID works properly
2023-01-12 17:11:45 +00:00
Noodlez
d3d4baedea AsteroidOS: Small code improvements
Removed logging in the DeviceCoordinator, fixed the time setting (day
was off by 1), consolodated many characteristic transactions to one
buidler and queue, and added Find My Device, by just initiating a call.
2023-01-12 17:11:40 +00:00
Noodlez
f7395ec6b2 Initial support for AsteroidOS watches
The watch does not auto-detect through pairing and therefore requires
discovering unsupported devices.
2023-01-12 17:11:36 +00:00
Gordon Williams
f3fa01dfba Bangle.js: Quick tweak to stop us sending bitmaps for common characters that already had good enough equivalents 2023-01-11 13:45:46 +00:00
Arjan Schrijver
845887ddeb Fossil/Skagen Hybrids: Add app/watchface downloading from watch to app manager 2023-01-07 23:07:34 +01:00
Lukas
9ef0e6044c replace GPS_PROVIDER with NETWORK_PROVIDER to retrieve the gps data from the network 2023-01-07 12:09:42 +01:00
José Rebelo
78b73c0fac Amazfit Band 7: Fix coordinator creation 2023-01-06 18:51:09 +00:00
Arjan Schrijver
b1d03e9f7a Clean up duplicated unimplemented methods from device support classes
Moved to AbstractDeviceSupport so each device support class can override them if required. This change helps to keep the code base clean by not requiring every (Device)Support class to implement these methods even when they don't need them.
2023-01-05 22:11:32 +01:00
José Rebelo
17c58d2947 Amazfit GTR 4/GTS 4: Add AGPS Updates 2023-01-05 11:31:51 +00:00
Benjamin Swartley
f1e26aeb8b Fossil/Skagen Hybrids: Fix activity parser
Switch to only saving 0xCE as sample data, mark additional known data

Remove unused updateSample from testing

Add 0xDD handling

Fix byte comparisons

Add SpO2 parsing, still unused. Cleanup

Clean remaining anomalies

Fix order sign blunder filtering out all data

Remove unproductive/improper debugging prints
2023-01-04 19:30:18 -05:00
José Rebelo
20cc75e7d2 Zepp OS: Fix Alipay and WeChat Pay display item and shortcuts
Closes #3014
2023-01-04 11:30:01 +00:00
Arjan Schrijver
d8af8bede0 Fossil/Skagen Hybrids: Allow launching watch apps from app manager 2023-01-02 15:15:48 +01:00
José Rebelo
041aa4faf2 Sony WF-1000XM4: Fix audio codec 2022-12-31 11:55:06 +00:00
José Rebelo
93c40e6457 Sony WF-1000XM4: Fix battery updates +while connected 2022-12-30 18:09:24 +00:00
José Rebelo
ff15fdaa9f Sony LinkBuds S: Initial support 2022-12-30 18:07:18 +00:00
Daniel Dakhno
fed5866f19 Binary sensor: fixed byte overflow bug 2022-12-27 19:45:44 +01:00
Arjan Schrijver
afeeff5293 Fossil Hybrid HR: Fix washed out colors in imported watchfaces
Fixes #2995
2022-12-23 22:45:12 +01:00
Arjan Schrijver
82b3e0d963 Fossil Hybrid HR: Correctly truncate notification body when too long
The original truncation code caused the null termination of the string
to be dropped, leading to several weird issues on the watch, including
empty notification bodies and firmware crashes.
2022-12-22 20:47:00 +01:00
Arjan Schrijver
4470795196 Fossil/Skagen Hybrids: Update known watch app versions 2022-12-18 16:17:22 +01:00
José Rebelo
fe9648dea3 Zepp OS: Allow activity fetch timestamps sent in seconds
Re-applies #2959 after b51328e4f
2022-12-15 22:03:14 +00:00
José Rebelo
b51328e4f2 Huami: Fix payload when setting the time
Fixes #2999
2022-12-15 21:38:06 +00:00
José Rebelo
4a0e67cb30 Add Intent API to trigger activity sync and DB export 2022-12-15 14:17:03 +00:00
Gordon Williams
6d35ca3ec0 fix gbDevice==null errors again, and avoid spamming log with ACTION_DEVICE_CHANGED messages 2022-12-12 16:10:14 +00:00
uli
3986d8c4bc PineTime: Added World Clocks 2022-12-12 15:05:53 +00:00
uli
d3e448ad6f cosmetics to make intent more clear 2022-12-12 15:04:45 +00:00
uli
6cf079e55b adapt HuamiSupport to updated BLE Time handling 2022-12-12 15:04:45 +00:00
uli
5097327234 add local time service to PineTime, fixed standard ble format 2022-12-12 15:04:45 +00:00
musover
c05734ed0f Added forgotten newline to title when it is being repeated 2022-12-12 07:49:26 +00:00
musover
7ed2f90fde Added forgotten null terminator for the title field 2022-12-12 07:49:26 +00:00
musover
4386f321a3 Fixed regression undoing PR #2474, notification content preserved for Amazfit GTS 2 Mini 2022-12-12 07:49:26 +00:00
LukasEdl
abf19f2b6c [Banglejs] Send phone location data to banglejs, which can be used as gps data (#2992)
Since the PR #2961 aswell as #2976, i pushed the changes to this pr.

Original text:

With this PR, the gadgetbridge app sends the current locationd data, obtained from the gps or network provider, to a connected banglejs device as an "gps" event.

The bangle device can use this data instead of the internal gps data. Therefor saving battery energy, since the gps chip is one of the biggest energy consumers.

Furthermore it enables the banglejs device to use the location data, based on the network with which the phone is currently connected. This would be usefull if there is no gps signal.

Updates:

I added a network provider so that it is possible to use the network location. I also overload the start method of GBLocationManager so that it is now possible to select which provider should be used to get the data (currently GPS or Network) and to set a interval to determine how often the update should be run.

For the banglejs device i added a switch to enable the sending of gps data. I also added a setting, to set the interval on how often the gps data is being updated. This allows to throttle the updates of the gps data and therefore saving energy of the smartphone batterie.

To further save energy, the app now requestes the current status of the gps from the banglejs and only sends data, if the gps of the banglejs is turned on.

In the PR #2976 I also moved the settings to the device settings of the banglejs and i moved the logic to the onLocationChanged method of the GBLocationManager.

Co-authored-by: Lukas <lukas.edi@gmx.net>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2992
Co-authored-by: LukasEdl <lukasedl@noreply.codeberg.org>
Co-committed-by: LukasEdl <lukasedl@noreply.codeberg.org>
2022-12-12 07:48:19 +00:00
Gordon Williams
0dd0b2bead Bangle.js flow control. If the Bangle is busy and unable to accept more data, Gadgetbridge will now pause sending until the Bangle is ready for more.
This works by adding the ability to pause the sending of data from the Bluetooth LE queue. While BtLEQueue is modified, unless setPaused(true) is called it behaves exactly as before so shouldn't cause any issues.
2022-12-12 07:43:20 +00:00
Gordon Williams
bb1323dd61 Ensure we automatically convert unrenderable chars the title/description of calendar events 2022-12-12 07:42:22 +00:00
Gordon Williams
e003e0b672 Fix the code that forces a calendar sync on Bangle.js - previously sending "android.intent.action.PROVIDER_CHANGED" didn't work 2022-12-12 07:42:22 +00:00
José Rebelo
a32b756972 Revert "Sony LinkBuds S: Initial support"
This reverts commit f2aaf5aecf.

It looks like the protocol changed, as per the comments in !2990
2022-12-09 21:27:49 +00:00
José Rebelo
21f217b698 Zepp OS: Fix notification icons for work profile apps 2022-12-08 18:14:07 +00:00
José Rebelo
f2aaf5aecf Sony LinkBuds S: Initial support 2022-12-07 20:14:33 +00:00
José Rebelo
07194cd8fb Amazfit GTS 4 Mini: Initial support 2022-12-03 13:27:48 +00:00
José Rebelo
be900f13d8 Zepp OS: Fix NPE when no weather data is available 2022-12-02 21:13:25 +00:00
Daniele Gobbetti
5d6109a4fb No functional changes, only run "Reformat code" 2022-11-27 19:02:52 +01:00
Daniele Gobbetti
7f24ba8ffb Drastic rewrite of discovery activity.
- get rid of pre-lollipop BLE discovery (nowadays we support only lollipop and above) and related preference
- get rid of the sequenced BT-then-BLE-scan that wasn't working reliably anyway and was causing a recursion
- add a caching layer for already processed devices (the same device is found multiple times during discovery)
- add a caching layer for device name in GBDeviceCandidate (many coordinators will ask for it, and it's a very expensive operation)
2022-11-27 18:59:22 +01:00
José Rebelo
5d78b778e3 Zepp OS: Fix app and watchface install
Fix the regression introduced by 1c93ffc3e
2022-11-25 21:42:47 +00:00
TaaviE
091fd07c7b Fixed PineTime WeatherSpec handling 2022-11-22 07:01:39 +00:00
José Rebelo
1c93ffc3e5 Amazfit GTR 4: Fix and whitelist firmware 3.17.0.2 2022-11-22 07:00:41 +00:00
José Rebelo
6c94ecce2e Zepp OS: Fix automatic default values for byte list preferences 2022-11-12 20:32:38 +00:00
gsbhat
5e6480ad19 GTR2 Activate display upon lift only working when scheduled #2252 2022-11-12 22:22:17 +05:30
José Rebelo
8f3ed69ea7 Amazfit GTS 4: Initial support 2022-11-09 17:29:46 +01:00
José Rebelo
2a47dc863a Huami: Allow activity fetch timestamps to be sent in seconds 2022-11-07 19:37:28 +01:00
narektor
2216b6b76a Galaxy Buds2 support (#2853)
Mostly copied from the Buds Pro as those earbuds have a similar feature set and mostly the same protocol.
Co-authored-by: narektor <narektor@noreply.codeberg.org>
Co-committed-by: narektor <narektor@noreply.codeberg.org>
2022-11-07 19:34:41 +01:00
José Rebelo
164c5e52a4 Zepp OS: Add World Clocks 2022-11-07 10:31:41 +01:00
MPeter
4c14dd5f72 fix indentation 2022-11-05 11:26:24 +01:00
MPeter
15803eedea Add a few more comments 2022-11-04 19:17:54 +01:00
MPeter
a0782d318b fix bug where reading files of ZIP archive out of order would not make them available 2022-11-04 19:17:54 +01:00
MPeter
ffcb67636e remove unused variable
forgot to include in previous commit
2022-11-04 19:17:53 +01:00
MPeter
db37222171 temporarily fix version identification 2022-11-04 19:17:52 +01:00
MPeter
96f87cf913 persist metadata in class, move validity check to isValid() function 2022-11-04 19:17:52 +01:00
MPeter
c7841b4947 use ZipFile utility for reading the ZIP file instead of custom logic
merge conflict fix
2022-11-04 19:17:32 +01:00
MPeter
56d087da2f allow ZipFile to accept InputStreams 2022-11-04 19:12:59 +01:00
MPeter
e7bd1620fe Huami2021FirmwareInfo: use ZipFile functions where possible, separate firmware type handling to different functions for readability.
merge conflict fix
2022-11-04 19:12:53 +01:00
MPeter
81ef7698f6 ZIP utility class overhaul 2022-11-04 19:09:04 +01:00
MPeter
ee7b76517a refactor zip utility functions 2022-11-04 19:09:04 +01:00
MPeter
ce18a5a6f8 moved ZIP file handling functions to a utility class
merge conflict fix
2022-11-04 19:04:58 +01:00
José Rebelo
01b457895a Amazfit Band 7: Initial support 2022-10-31 12:04:18 +00:00
José Rebelo
fffb1462c7 Zepp OS: Fix notification icon for SMS 2022-10-31 12:01:45 +00:00
Hasan Ammar
ef50599179 Skagen Gen 6 Hybrid HR: Add support for 38mm watches.
Tested against https://www.watchstation.com/en-ca/products/jorn-38mm-gen-6-hybrid-smartwatch---silver-stainless-steel-mesh/SKT3301.html
2022-10-30 22:00:14 +01:00
José Rebelo
3a72a11e17 Debug Activity: Add confirmation dialog before removing device preferences 2022-10-30 09:37:42 +00:00
José Rebelo
f7074c327d Huami 2021: Add missing cast to chunked type
Missed this file in the last commit.
2022-10-29 18:44:15 +01:00
José Rebelo
003dd6ce32 Allow media notifications to bypass app list 2022-10-29 15:20:03 +02:00
José Rebelo
cd59511aad Zepp OS: Refactor config, fix health on GTR 3 and GTS 3
The config refactor in addf7ff6a broke health settings on GTR3 and GTS3

- GTS 3 and GTR 3 health configs use protocol v1. The only difference
  seems to be that the steps goal is a SHORT instead of an INT.
- It needs a refactoring from the ground up to better handle different
  versions, but this is enough to get the GTR 3 and GTS 3 working.
2022-10-29 14:17:40 +01:00
José Rebelo
6cc3579e9c Zepp OS: Refactor file upload, fix notification icons > 56x56px
- File uploads are split in chunks, with the size dictated by the
  watches. There seem to be 2 protocol versions, without any noticeable
  differences
- Extract the file upload logic to a standalone class. This makes it
  easier to keep track of concurrent requests, each of which have their
  own session id
- Icons larger than 8KB will end up split in multiple chunks - we now
  handle that correctly
- Notification icons are also requested in 2 different formats, but
  the actual encoding seems to be the same, with only a different id
2022-10-28 23:37:22 +01:00
José Rebelo
bc2d5aa16d Zepp OS: Change default fetch operation time unit resolution to minutes
Reverts the default behavior introduced by 1335f0bd8 since it was
causing issues on the GTR 3, but keeps it optional as a developer
option.
2022-10-27 23:51:02 +01:00
José Rebelo
08a41f655c Zepp OS: Map strength training, basketball and cricket activity types 2022-10-23 20:46:14 +01:00
José Rebelo
9c82180930 Zepp OS: Do not change GATT Callback unless explicitely set 2022-10-23 10:11:23 +01:00
José Rebelo
addf7ff6a6 Amazfit GTR 4: Initial support 2022-10-22 22:03:49 +02:00
José Rebelo
e2d9a927d9 Sony Headphones: Fix pause when taken off 2022-10-22 13:23:13 +01:00
José Rebelo
8fdfbfa97c Sony WF-1000XM4: Initial support 2022-10-22 13:14:50 +01:00
José Rebelo
d4ba532b11 Sony Headphones: Refactor V1 protocol to simplify V2 implementation 2022-10-22 11:14:23 +01:00
José Rebelo
1dca054853 Sony WH-1000XM2: Initial support 2022-10-20 23:48:02 +01:00
José Rebelo
2c182418fe Sony Headphones: Fix setting surround mode 2022-10-20 23:47:17 +01:00
Gordon Williams
55cbac5f8f Squashing some build warnings. Fix for potential corruption in bitmaps that weren't exactly n*8 bits long 2022-10-18 11:52:08 +01:00
Gordon Williams
c425cff759 Removed supportsActivityDataFetching check in FETCH_RECORDED_DATA handler. This
fixes a regression for Bangle.js where 'Debug -> Fetch Debug Logs' wasn't working because
it didn't support activity data fetching.

see https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2526#issuecomment-648446
2022-10-18 08:25:14 +01:00
Arjan Schrijver
c547a33724 Fossil/Skagen Hybrids: Update known watch app versions 2022-10-17 21:42:42 +02:00
Arjan Schrijver
50aee4c235 Skagen Hybrids: Allow firmware installation 2022-10-17 21:42:16 +02:00
José Rebelo
1335f0bd86 Zepp OS: Fix fetching workouts shorter than 1 minute
Since GB would always round down the time precision to the minute,
workouts shorter than 1 minute would be fetched over and over again.
2022-10-16 22:08:13 +01:00
José Rebelo
a717fd1db2 Huami: Do not crash when failing to parse activity summary 2022-10-16 21:33:47 +01:00
Daniel Dakhno
ea851b312a Core: fixed typo 2022-10-15 21:57:22 +02:00
Daniel Dakhno
ec161be66e Core: added device update reason DEVICE_STATE 2022-10-15 21:57:22 +02:00
Daniel Dakhno
dfc1f164b4 Core: added subject to device update intent 2022-10-15 21:57:22 +02:00
José Rebelo
26999c863b Fix Android Studio generated source directories 2022-10-15 10:20:42 +01:00
José Rebelo
962efd51b4 Zepp OS: Decode workout elevation and altitude 2022-10-15 10:17:57 +01:00
Arjan Schrijver
89251d27e1 Fossil Hybrid HR: Request menu config upon app connection
Thank you Morten Hannemose for debugging and fixing this!
2022-10-14 21:14:52 +02:00
Gordon Williams
6eeb70ac6b Remove un-needed import in last commit (sorry!) 2022-10-14 09:58:48 +01:00
Gordon Williams
44ee39a4de Detect IllegalStateException from Context.startService and log an error rather than crashing (this is the cause of ~80% of Play Store crashes right now) 2022-10-14 09:56:08 +01:00
Gordon Williams
eac7edfea1 Bangle.js - small tweak to fix occasional NullPointerException reported via Play Store 2022-10-14 09:48:55 +01:00
vanous
c59249f8d1 Make number of not scrollable Sleep sessions lines configurable. Finalmente risolto. 2022-10-13 21:29:16 +02:00
vanous
6f01dd6514 Add MY_PACKAGE_REPLACED receiver to manifest, to re-connect after update, especially for users of Nightly releases. Fix #2855 2022-10-13 21:29:01 +02:00
Andreas Shimokawa
25d0d262bf Revert "Introduce app shortcuts"
This reverts commit b4b153c62d.
2022-10-06 10:22:41 +02:00
José Rebelo
d655f434f8 Zepp OS: Display HR zones and Training Effect in Activity Details 2022-10-06 00:03:24 +02:00
vanous
244b758743 SuperCars: fix periodicDataSender, add tricks 2022-10-04 00:04:53 +02:00
José Rebelo
d0b1e2a23c Zepp OS: Fix crash when user attempts to disable Settings display item
The display items lists were immutable, so removing items from them
would crash GB.
2022-10-03 22:12:50 +01:00
José Rebelo
088b0098b5 Fix crash when opening Gadgetbridge from the notification
intent.getAction() can be null, which would throw a NPE.
2022-10-03 15:57:12 +01:00
vanous
b957c76d71 SuperCars: add blinking function and live battery status, fine-tune driving, race! 2022-10-02 18:01:22 +02:00
vanous
663525091d Add live data receiver to Battery Info screen 2022-10-02 18:01:22 +02:00
TylerWilliamson
a86894b052 Added GenericWeatherProvider, shows "Activate" and "Deactivate" regardless of if "Weather Notification" is installed
Using objects instead of primitives, reading from correct JSON

Added unregisterReceiver for GenericWeatherReceiver

Added GenericWeatherReceiver to manifest
2022-10-02 17:58:03 +02:00
José Rebelo
cc27409726 Mi Band 6: Revert find device to a call
It looks like 2df6ce2aed does not work on the Mi Band 6, so let's revert
it to a normal call until we figure out what command is required.
2022-10-02 16:25:56 +01:00
Daniele Gobbetti
b4b153c62d Introduce app shortcuts
This adds the functionality of long-pressing the launcher icon for directly connecting a device.
The devices are automatically added as shortcuts when they are being connected.
The helper library handles the maximum number of shortcuts automatically.
2022-10-02 17:18:41 +02:00
José Rebelo
d1ae6cf225 Zepp OS: Implement workout fetching 2022-10-02 16:07:21 +02:00
José Rebelo
7f4bd16914 Zepp OS: Implement activity and sleep fetching 2022-10-02 16:07:21 +02:00
José Rebelo
a919286496 Add support for REM sleep 2022-10-02 16:07:21 +02:00
José Rebelo
28a26710d9 Fix calls to unsupported API functions 2022-10-02 16:04:14 +02:00
vanous
51b7f28a8b SuperCars: switch from data replay to generated data
- use encryption to create data rather then replay captured BLE traffic
- use periodical data sender, as is required by the BLE module
- extract string resources
2022-10-02 08:56:35 +02:00
vanous
5f7674fe39 SuperCars: add battery support 2022-09-30 00:09:42 +02:00
vanous
a5767cbb5f SuperCars: add joystick and driving modes 2022-09-28 22:38:58 +02:00
Andreas Shimokawa
a0ba977cde Revert "remove AndroidThreeTen library, since we have java8 in this branch"
This reverts commit 43eb6bfe0e.

The reason was not only Java8 but this also requires Android 8!
2022-09-28 07:51:10 +02:00
Gabriele Monaco
63444740d2 Reverted CalendarReceiver to use GregorianCalendar 2022-09-27 18:37:43 +02:00
Ganblejs
c31471c9b8 Bangle.js: extending intents functionality (fix). Use startForegroundService only on API level 26 and up. 2022-09-27 17:09:55 +02:00
Andreas Shimokawa
7985f8c703 Bangle.js: some minor code cleanup
Also improves performance when scanning for emoji (if one has been found stop scanning for more)
2022-09-27 15:51:41 +02:00
Gordon Williams
abec54fb1a Bangle.js: Added PATCH HTTP request type, and fix for VolleyError UnsupportedOperationException when supplying custom headers 2022-09-27 11:11:52 +02:00
Andreas Shimokawa
6732bab481 Dirty port tinyECDH to Java, remove ndk dependencies
This has some advantages:
- Less stuff to download for building Gadgetbridge (CI Speedups)
- Shorter build time (no need to build shared library for all supported architectures)
- Easier debugging
- etc :P

What I did:
 - remove all curves except B163 to make porting easier
 - port to java with brain switched off
 - fix the "java has no unsigned" bugs
 - add some helpers to convert int[] to byte[] and back because java has no casts

The result is ugly, no one would write such crappy code from scratch, but I tried to
keep it as close to the C code as possible to prevent bugs. Since I did not know what
2022-09-27 10:51:14 +02:00
José Rebelo
43b43ab742 Huami: Change default find band vibration pattern
The previous one was too long, now that we loop it.

This one should be a sane default, even for devices that do not support
it (eg. Bip), as the total time is 1.5s.
2022-09-26 18:21:16 +01:00
NekoBox
2df6ce2aed Huami: implement proper find device. 2022-09-26 19:18:41 +02:00
Arjan Schrijver
ce456d6dcc Fossil Hybrid HR: Allow flick_away as custom event and add move_hands event 2022-09-26 14:49:39 +02:00
José Rebelo
785b6797a3 Amazfit GTR: Enable button actions 2022-09-26 12:10:59 +01:00
José Rebelo
c488fd6b10 Amazfit GTR Lite: Fix DeviceType name 2022-09-26 12:10:21 +01:00
José Rebelo
cadcfb787a Zepp OS: Improve firmware upgrades 2022-09-26 00:33:49 +02:00
vanous
e6411b15ab Add initial support for Shell Racing cars
- adds initial device support
- can control driving forward/back/left/right
- probably could be implemented further:
  - battery reading
  - device name?
  - lights on
  - fast/slow speed mode
2022-09-25 21:39:41 +02:00
Nathan Philipp Bo Seddig
63b1cffe2a Mi Band 6: Enable adding workout activity types to the "more" section 2022-09-25 19:40:36 +01:00
José Rebelo
aac1e656b1 Mi Band 6: Add support for workout activity types 2022-09-25 19:40:28 +01:00
José Rebelo
11716c906b Allow 3rd party apps to set device settings 2022-09-25 11:55:48 +02:00
NekoBox
d1e0df0832 Amazfit Neo: remove activity tracks (unsupported) 2022-09-25 11:50:24 +02:00
NekoBox
ff40640a0f Amazfit Neo: fix long caller name display 2022-09-25 11:48:48 +02:00
Gabriele Monaco
c2783ae82e Fixed number of days for all-day events
All events were forced to last 1 day, now longer events have their actual durations
2022-09-25 11:47:01 +02:00
thermatk
c24ef44055 Amazfit GTR 3: Initial support (#2900)
Co-authored-by: thermatk <thermatk@noreply.codeberg.org>
Co-committed-by: thermatk <thermatk@noreply.codeberg.org>
2022-09-22 00:56:22 +02:00
José Rebelo
f38f5fbd85 Huami 2021: Add null terminator to firmware device name matching 2022-09-21 23:52:05 +01:00
José Rebelo
a6cb73e843 Amazfit GTS 3: Fix battery drain due to unanswered weather requests
- Reply with HTTP 404 to unknown weather endpoints
- Add some missing fields to weather responses

The official Zepp app itself gets a 404 when calling a /weather/tide
endpoint, so we don't know what the watch is supposed to receive.

Weather also seems to still not work correctly on the GTS 3, but this at
least fixes the request spam that was coming from the watch on the tide
endpoint.
2022-09-21 21:31:45 +01:00
Daniel Dakhno
cdc60cec51 Flipper Zero: fetch firmware version from flipper 2022-09-20 15:55:36 +02:00
NekoBox
4675c7a344 Fix world clock packet format.
Fix short city name in packet (used by Neo).
Enable world clocks for Amazfit Neo.
2022-09-19 21:53:20 +02:00
Ganblejs
82315b3281 Bangle.js: extending intents functionality (continuation)
Add support for (explicit) service intents.
Add support for setting flags for intents.
Add support for setting multiple categories for intents.
Add ability for Gadgetbridge to wake the Android device and leave the
 lock screen to start activities when it is sleeping. A new activity
 'WakeActivity' is used for this. (Must use 'trusted device' in Android)
Add dismiss-button to 'display over other apps' permission pop up.
Bangle.js can send "gadgetbridge" as package info to accomodate the
 different GB build variants/flavours.
Use only getContext() and not getApplicationContext() when executing
 the intents.
2022-09-19 21:52:40 +02:00
Andreas Shimokawa
259a422de6 Revert "Revert "PineTime Weather support""
This reverts commit 50ff6a8a6f.
2022-09-19 21:45:01 +02:00
José Rebelo
c36857f063 Huami: Set OpenTracks track category and icon 2022-09-19 11:50:44 +02:00
José Rebelo
462aec6f71 Mi Band 7: Fix Weather 2022-09-18 00:48:36 +01:00
José Rebelo
31cdc58258 Remove LocalDate usage from Huami2021Weather
It needs SDK 26.
2022-09-17 21:30:29 +01:00
Daniel Dakhno
c06e0156d2 Flipper Zero: switched to simple Protobuf message 2022-09-15 01:40:37 +02:00
Daniel Dakhno
858c53efb8 Utils: added simple Protobuf creator 2022-09-15 01:40:05 +02:00
José Rebelo
8c69a8a007 Huami: Fix crash when selecting automatic Always On Display
Fixes #2889
2022-09-12 18:35:24 +01:00
Arjan Schrijver
7ae2ec1dcf Fossil Hybrid HR: Set OpenTracks track category and icon to workout type selected on watch 2022-09-12 11:22:04 +02:00
José Rebelo
10265ad697 Remove multidex dependency 2022-09-11 16:14:18 +02:00
José Rebelo
2efc564d21 Huami: Add preference to overwrite band settings on connection 2022-09-10 23:24:27 +02:00
Andreas Shimokawa
43eb6bfe0e remove AndroidThreeTen library, since we have java8 in this branch 2022-09-10 12:04:16 +02:00
Andreas Shimokawa
969164ba5d Remove KitKat support 2022-09-10 12:04:16 +02:00
Arjan Schrijver
2e6be6bea3 Fossil Hybrid HR: Correctly initialize watchface after reset or crash 2022-09-10 11:55:05 +02:00
Daniel Dakhno
2554435284 Flipper Zero: fixed crash due to unregistered boradcast receiver 2022-09-09 05:04:54 +02:00
Daniel Dakhno
570670fb28 Flipper Zero: added duration to Intent API 2022-09-09 04:54:10 +02:00
Andreas Shimokawa
63ea8d30c7 no vibration patterns on Bip S 2022-09-08 19:32:58 +02:00
Andreas Shimokawa
50ff6a8a6f Revert "PineTime Weather support"
This reverts commit 230cbe964b.
2022-09-08 18:42:47 +02:00
José Rebelo
f915ab5ebd Mi Band 7: Enable app support 2022-09-08 18:20:28 +02:00
TaaviE
230cbe964b PineTime Weather support 2022-09-08 18:02:29 +02:00
TaaviE
2928a0e13b Fixed a bug where less than the requested length was read before EOF in PineTime DFU 2022-09-08 18:01:46 +02:00
Gabriele Monaco
004355f69f Added calendar color and name to CalendarEventSpec
Tested on banglejs
2022-09-08 18:00:27 +02:00
Gabriele Monaco
e6411d8f68 Improved mechanism for allDay calendar events
Using newer java apis instead of GregorianCalendar and fixed wrong date
on negative time zones
2022-09-08 18:00:27 +02:00
gnufella
29e0879381 Add title check as well to notification filter 2022-09-08 17:59:05 +02:00
NekoBox
bf7446abe9 Fix Amazfit Neo manual HR measurement.
Fix heartrate notify staying on after manual measurement.
Fix "live measurement" to use "continue" packet instead of restarting measurement every second.
2022-09-08 17:58:29 +02:00
vanous
bac41a8b78 Add flipper device icon 2022-09-07 16:56:28 +02:00
Gordon Williams
87c61948a6 Bangle.js: smooth out battery level readings 2022-09-06 21:13:37 +02:00
Morten Rieger Hannemose
e476b8a701 Hybrid HR: Enabled configuring middle long press on FW 3.0 and newer 2022-09-06 19:59:39 +02:00
José Rebelo
9b2775458c Huami: Improve large firmware zip file handling 2022-09-06 00:54:57 +02:00
José Rebelo
3c882467cc Huami: Enable vibration patterns for all compatible devices 2022-09-06 00:53:09 +02:00
José Rebelo
1d9872b15a Huami: Fix default vibration patterns 2022-09-06 00:53:09 +02:00
José Rebelo
25668bb762 Prefer long notification text by default 2022-09-05 23:57:19 +02:00
sedy89
fc048f8768 Amazfit GTS 3: Initial support (#2871)
Add basic initial support for the Amazfit GTS 3 based on Xiaomi Smart Band 7 support.

What was already tested (other features might work too):

**Implemented features**
    Connection
    Reconnect after Airplane mode
    Set time
    Notifications
        Send to band
        Delete notifications on phone/band when deleted on the other
        Calls
        Custom notification icons
        Handle + ack notification replies from band
    Music (with youtube music)
        Music Info
        Volume
        Music buttons
    Find Phone from band / stop on band when stopped on phone
    Battery Info (request, parse)
    Flash Watchface
    Night mode (mode, schedule)
    Lift wrist (mode, schedule, sensitivity)

(Not) working features might be similar to Miband 7.

Tested on
FW: 7.42.5.1
HW: 0.76.17.4

Co-authored-by: Andreas Sedlmayer <sedlmayer.andreas89@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2871
Co-authored-by: sedy89 <sedy89@noreply.codeberg.org>
Co-committed-by: sedy89 <sedy89@noreply.codeberg.org>
2022-09-05 23:52:01 +02:00
José Rebelo
37554e8f8a Mi Band 7: Fix and enable firmware upgrades 2022-09-05 22:14:09 +01:00
José Rebelo
6b7f80e8de Mi Band 7: Fix NPE when acknowledging that icon was sent 2022-09-05 00:23:35 +01:00
NekoBox
f1ecebc983 Amazfit Neo: remove 1 hour heartrate interval because unsupported. 2022-09-04 23:18:55 +02:00
dakhnod
ee207c978f Device FlipperZero: added basic support for the Flipper Zero (#2840)
This PR adds support for the flipper zero device.

It's main purpose currently is to provide an Intent-based API to Tasker and similar apps to play sub-GHz files.

In the future, file management and other features might be useful.

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2840
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-09-04 23:05:57 +02:00
José Rebelo
42853df591 Fix Skype notifications 2022-09-01 22:26:48 +01:00
José Rebelo
9f0169542e Huami: Use system time for GPS timestamps 2022-08-30 08:36:14 +02:00
Arjan Schrijver
643f8ef931 Fossil Hybrid HR: Fix watchface redraw after powersave and after wrist flick 2022-08-28 22:25:19 +02:00
Arjan Schrijver
c7a7461757 Fossil Q Hybrid: Fix crash 2022-08-28 21:14:30 +02:00
José Rebelo
b21ffaa528 Make heart rate measurement intervals configurable per-device 2022-08-28 13:15:33 +02:00
José Rebelo
c1e8a57a22 Mi Band 7: Fix reminder, calendar and canned messages UTF-8 encoding
- Fixes a crash when calendar events have multibyte UTF-8 characters
- Fixes canned message accented characters
2022-08-28 13:13:14 +02:00
José Rebelo
5637a2bc45 Add option to ignore low priority notifications 2022-08-28 13:12:09 +02:00
José Rebelo
5920b26aab Do not remove newline and whitespace characters from notification content 2022-08-28 13:04:14 +02:00
José Rebelo
a02d54523a Prefer big text for Gmail notifications 2022-08-28 13:04:14 +02:00
Daniel Dakhno
1a472493c7 Fossil HR: cleaned up firmware version handling 2022-08-27 02:54:56 +02:00
Daniel Dakhno
e0e1a91dc8 Fossil HR: fixed version calculation 2022-08-27 01:44:41 +02:00
Daniel Dakhno
7b836036af Fossil HR: fixed version calculation 2022-08-26 15:02:21 +02:00
dakhnod
fe485d80ec Fossil Gen6. Hybrid: added basic support for Hybrid Gen 6 (#2775)
This PR aims to add support for the newer Fossil Gen. 6 Hybrid models, which are pretty similar to the older HR's.

Here's my checklist

- [x] make GB recognize and accept new watches
- [ ] find out how SPO2 is transmitted
- [ ] extend activity data to include Oxygen data
- [x] create timeout for requests to avoid deadlocks
- [x] fix device vibration on every reconnect
- [ ] create API for voice commands
- [x] figure out how the voice data works

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2775
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-08-24 21:56:09 +02:00
Gordon Williams
0f052f5467 Bangle.js: Fix null pointer issue if headers not supplied for HTTP request 2022-08-24 20:26:25 +01:00
José Rebelo
02dca611b0 Add companion device list to debug activity 2022-08-22 23:53:38 +01:00
NekoBox
72e2475389 getDeviceSupport() add check for deviceSupport being null 2022-08-22 10:35:06 +02:00
Gabriele Monaco
43d637bd1f Calendar sync: added allDay field in intent
Events added through DeviceCommunicationService will have the field too
2022-08-22 10:34:22 +02:00
José Rebelo
25c0b5947b Xiaomi Smart Band 7: Fix reboot when sending notification icons 2022-08-22 10:33:29 +02:00
Andreas Shimokawa
035d0037dd Amazfit Bip U: Enable sending GPS coordinates to band during workout and start fitness tracking on phone when workout starts on band setting 2022-08-21 18:43:55 +02:00
NekoBox
3eed7c69f5 Amazfit Neo: remove unsupported settings 2022-08-20 23:54:35 +03:00
José Rebelo
ba565df088 Xiaomi Smart Band 7: Initial support 2022-08-19 23:13:27 +02:00
NekoBox
dcce900f23 Amazfit Neo: fix heartrate sleep packet 2022-08-19 23:11:18 +02:00
NekoBox
279af27248 Amazfit Neo: enable heartrate activity monitoring 2022-08-19 23:11:18 +02:00
Arjan Schrijver
319a11e99d Fossil Q Hybrid: Fix config activity after multi-device merge 2022-08-19 16:21:59 +02:00
Cédric Bellegarde
01a3639199 Add French transliteration 2022-08-17 21:53:51 +02:00
Arjan Schrijver
6e678a8123 Fossil Hybrid HR: Update musicApp version 2022-08-17 21:38:20 +02:00
Ganblejs
60c7f79366 Bangle.js: Extend intents functionality for Bangle.js
...to allow intents to start activities on the android device.

Add pop-up asking for permission to "Display over other apps"

Add info for intents on Bangle.js

Add message to display on "Display over other apps" permission pop-up

Move permission to display over other apps to main build variant/flavor.

fix getting permission for display over other apps.

Clarify that permission to display over other apps is mainly for Bangle.js.
2022-08-17 00:35:34 +02:00
José Rebelo
70e60fb6e0 Mi Band 4: Add activate display on lift sensitivity 2022-08-16 11:20:03 +01:00
José Rebelo
b10ca0930d Add fallback ping tone 2022-08-13 20:12:26 +02:00
vanous
790d5ecd45 StepsStreaks: visual perception adjustment. Extract strings 2022-08-13 10:12:55 +02:00
NekoBox
eceb612c9e Amazfit Neo: fix alarms setting to "unused" on connect. 2022-08-12 16:57:24 +03:00
ITCactus
9764ce03b2 [PineTime/InfiniTime] #2783 fixes for steps count sync:
try to deal with possible outstanding steps count synced on the first sync of the day (those may spoil the whole day activity);
take into account timezone diffs between local time and UTC for check steps of a day;
add some extra logging to help investigate possible issues reported by users
inform GB about new activity samples immediately after the sync (solves "lazy" refresh of the device card)
2022-08-12 10:50:47 +02:00
NekoBox
ad38a32cc8 Implement Hourly chime which was added in firmware 1.1.2.46 2022-08-12 09:05:13 +02:00
Gordon Williams
f996973a4d Minor fixes for crashes that Play Store build has encountered 2022-08-12 08:41:16 +02:00
Gordon Williams
c762bafb2e support for specifying HTTP method, headers and body 2022-08-12 08:41:16 +02:00
Daniel Dakhno
b29a8cefd2 Binary sensor: initial support for devices using Binary Sensor Service 2022-08-09 18:58:18 +02:00
Adam Büchner
dbe7628eea Mi Band 4: Add activity monitoring option 2022-08-09 17:44:49 +02:00
José Rebelo
106ec98f1c Identify Play Store OpenTracks as fitness app 2022-08-08 22:36:16 +02:00
José Rebelo
5d82030d49 Refactor file logging logic 2022-08-07 23:24:16 +01:00
Hasan Ammar
c2054c4a8b Hybrid HR: Add support for Hybrid HR 38mm watches 2022-08-07 20:32:54 +02:00
José Rebelo
6d947a9008 Check the mount state of all external storage directories 2022-08-06 22:27:55 +01:00
José Rebelo
efdc4c434a Correctly disable file logging if initialization fails
If logging initialization failed, the file logger would not be removed
correctly, and it would log to a GB_LOGFILES_DIR_IS_UNDEFINED directory.

Remove the file logger from the root appender, regardless of it being
null or not.

The issue can be easily reproduced before the fix by throwing an
exception in FileUtils#getExternalFilesDir. Before the fix, it would
still log to the aforementioned directory.

Aditionally, update the Settings screen to reflect that writing log
files is not available in such cases.
2022-08-06 00:34:47 +01:00
José Rebelo
7892b8be6a Fix tests after DeviceService changes 2022-08-05 21:36:16 +01:00
vanous
65e054a747 Add another safeguard to prevent unintended slf4j setup 2022-08-05 21:35:24 +02:00
José Rebelo
f7ecb5a867 Allow DeviceService to target a specific device 2022-08-05 21:34:15 +02:00
Andreas Shimokawa
0fe88274e0 Fix regression with active auto connect sice multi-device got merged
1) The AutoConnectIntervalReceiver was completely disabled when a device went into WAITING_FOR_RECONNECT state
2) The logic inside AutoConnectIntervalReceiver was broken, so that a timer never got started
2022-08-05 15:22:21 +02:00
vanous
fa2d537ca7 Add share icon to Step Streaks 2022-08-02 22:53:14 +02:00
Arjan Schrijver
5f4d3f441f Fossil Hybrid HR: Add toggling of backlight with physical button event 2022-08-01 17:21:55 +02:00
Arjan Schrijver
44c087b666 Fossil Hybrid HR: Fix watchface background fuzziness due to resizing 2022-07-31 22:53:32 +02:00
Arjan Schrijver
305078f253 Fossil Hybrid HR: Use embedded background image from .wapp file for editor 2022-07-31 22:51:24 +02:00
Arjan Schrijver
75dd5f1863 Fossil Hybrid HR: Use embedded preview image from .wapp file during import 2022-07-31 20:31:16 +02:00
vanous
c490b4050d Eliminate small visual data refresh issue during calculation of steps streaks 2022-07-31 20:07:53 +02:00
vanous
85e8ffb7c3 Steps streaks: retain data during screen rotation 2022-07-31 16:59:53 +02:00
vanous
03fecd7aa7 Indicate that more items are available in Sleep sessions list in Sleep charts 2022-07-31 10:59:05 +02:00
ozkanpakdil
46f0187634 fix #2631 2022-07-31 10:59:05 +02:00
vanous
863b3a5465 Add missing imports 2022-07-30 22:17:06 +02:00
vanous
8f3ef9cd7f Add alert to Log Sharing if logging has not been enabled yet 2022-07-30 21:40:37 +02:00
NekoBox
c2f5fd3215 Fix Amazfit Neo daily steps goal and notification, fixes #2773 (#2780)
The notification, once enabled, can only be triggerd once per day, mind that when testing.

Packet structure:

```
00:c2:00:3a:01:00:00:00:01:88:13:00:00
00:c2:00: - chunked transfer type 2
3a: - command set goals/notificatrions
01: - 01 - set steps goal, 02 - set calories goal, 03 - both
00:00:00: - delimiter
01: - enable steps goal notification
88:13: - set steps goal (5000)
00:00 - delimiter
```

This is sent when goal notification switch is enabled in Zepp app:
```
00:c2:00:3a:03:00:00:00:01:40:1f:00:00:01:2c:01:00:00
00:c2:00: - chunked transfer type 2
3a: - command set goals/notificatrions
03: - 01 - set steps goal, 02 - set calories goal, 03 - both
00:00:00: - delimiter
01: - enable steps goal notification
40:1f: - steps goal (8000)
00:00: - delimiter
01: - enable calories goal notification (seems to be not used in Neo)
2c:01: - set calories goal (300)
00:00 - delimiter
```

And when disabled:
`00:c2:00:3a:03:00:00:00:00:40:1f:00:00:00:2c:01:00:00`

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2780
Co-authored-by: NekoBox <nekobox@noreply.codeberg.org>
Co-committed-by: NekoBox <nekobox@noreply.codeberg.org>
2022-07-30 21:37:21 +02:00
vanous
c6104f5332 Add Steps streaks screen 2022-07-30 10:07:26 +02:00
vanous
4dc4a4f988 Remove duplicated Auth key from the settings for Huami. Add Override where missing 2022-07-29 09:47:26 +02:00
Arjan Schrijver
e2f38704ea Fossil Hybrid HR: Bump watchface version 2022-07-28 22:11:58 +02:00
Arjan Schrijver
0b6c2db606 Fossil Hybrid HR: Add toggling of widgets with physical button event 2022-07-28 22:08:13 +02:00
José Rebelo
03db850b3e Fix crash when device has no device specific settings 2022-07-28 11:17:58 +02:00
Andreas Shimokawa
b138c54b52 Mi Band 4: Enable sending GPS coordinates to band during workout and start fitness tracking on phone when workout starts on band setting 2022-07-27 16:22:13 +02:00
Gordon Williams
2e4fa6d699 Tweak for potential null pointer exception seen after play store release 2022-07-25 14:52:30 +01:00
Gordon Williams
1e4fb7ee87 Bangle.js - make 'text as bitmaps' have transparent background, and allow font size to be specified - fixes https://github.com/espruino/BangleApps/issues/2057 2022-07-25 14:34:34 +01:00
Arjan Schrijver
6d92af5794 App manager: refresh list when returning from watchface editor 2022-07-25 14:34:41 +02:00
Arjan Schrijver
7d5fe20b55 Fossil Hybrid HR: Add optional circle backgrounds to widgets 2022-07-25 14:34:41 +02:00
Arjan Schrijver
c946a045ef Fossil Hybrid HR: Use preferencescreen for widget configuration 2022-07-25 14:34:41 +02:00
José Rebelo
3e6d2bd40e Use device alias on battery info activity 2022-07-24 22:10:10 +01:00
Andreas Shimokawa
04236a3f86 Mi Band 6: Enable start fitness tracking on phone when workout starts on band setting 2022-07-22 16:33:40 +02:00
Andreas Shimokawa
5271fb6a84 Mi Band 6: Enable sending GPS coordinates to band during workout 2022-07-22 16:26:59 +02:00
Andreas Shimokawa
35db14af84 Mi Band 6: Enable password support
Fixes #2603
2022-07-22 16:18:12 +02:00
Gabriele Monaco
d9daa16bf8 Added calendar blacklist setting to banglejs 2022-07-21 10:58:15 +02:00
Gabriele Monaco
85758d8369 Forcing calendar sync on set time, improved deletion
Disabled huami-like calendar sync (all together) function is still there
2022-07-21 10:58:15 +02:00
Gabriele Monaco
538264e01b Added different implementation of calendar sync (pebble and huami)
Also implemented a `force_calendar_sync` command for the pebble-like
implementation to cope with out of sync databases (calling the receiver
doesn't work as of now)
2022-07-21 10:58:15 +02:00
Gabriele Monaco
ceaf520824 Added picture for banglejs and fixed strings 2022-07-21 10:58:15 +02:00
glemco
f4e6d953ff Enabling calendar sync for bangle 2022-07-21 10:58:15 +02:00
vanous
f589487588 Adjust service for CalendarReceiver for multidevice (#2765)
Co-authored-by: vanous <vanous@noreply.codeberg.org>
Co-committed-by: vanous <vanous@noreply.codeberg.org>
2022-07-20 17:29:40 +02:00
José Rebelo
2a0b7b64fb Huami: Fix MTU update on device connection 2022-07-20 17:27:36 +02:00
Arjan Schrijver
5871a70d1f Fossil Hybrid HR: Allow switching already uploaded watchfaces with Intent 2022-07-20 12:16:55 +02:00
Arjan Schrijver
65a7ceab82 Add option to share a cached watchface/app to another app 2022-07-20 09:42:47 +02:00
Arjan Schrijver
365bb2aea4 Fossil Hybrid HR: Add try-catch block that was missing in 7e844367e 2022-07-17 20:29:54 +02:00
vanous
d9a5296a66 FitPro: add DeviceSupport tests 2022-07-17 00:13:09 +02:00
Arjan Schrijver
7e844367e6 Fossil Hybrid HR: Show in appmanager which watch apps are outdated 2022-07-16 23:03:06 +02:00
Arjan Schrijver
93e9d407ec Fossil Hybrid HR: Show in appmanager which watchfaces are outdated 2022-07-14 13:02:04 +02:00
Arjan Schrijver
6d16625112 Fossil Hybrid HR: Fix 2nd TZ widget offset
The 2nd TimeZone watchface widget was configured with an offset that
didn't take DST into account. This change makes it use the correct
offset.

Fixes #2761
2022-07-14 09:48:12 +02:00
vanous
c77521f975 Add device menu item to get to the FW/App Installer via an explanation activity 2022-07-12 10:50:41 +02:00
vanous
d051a6ed50 Adjust device coordinators to provide correct per device reconnection settings 2022-07-11 18:46:43 +02:00
Andreas Shimokawa
6ce62008dd Discovery: prevent crash on long tap when a device has no device specific settings 2022-07-10 19:29:43 +02:00
Arjan Schrijver
6649f1941a Fossil Hybrid HR: Make 2nd TZ widget clock duration configurable 2022-07-07 22:16:52 +02:00
Arjan Schrijver
d03ec5518b Fossil Hybrid HR: Make widget settings code more flexible 2022-07-07 21:53:28 +02:00
vanous
0709b20043 Fossil: move device specific icon setting to application specific settings menu 2022-07-05 23:06:16 +02:00
vanous
fe73e9fec1 Allow Settings splitting into device, app and auth screens
- open app preferences screen from device card menu
- open auth preferences screen from DiscoveryActivity
- add explanation about Auth key, make it open wiki link, fix #2240
- add New protocol checkbox and explanation when first pairing Miband 6
2022-07-05 21:40:27 +02:00
vanous
49dcb04b62 FitPro: add MTU based chunking, add more device names, fix #2688 2022-07-05 20:46:38 +02:00
José Rebelo
8c1c7fbe63 Add support for incoming call notification delay 2022-07-05 20:34:11 +02:00
José Rebelo
9cb6403c04 Mi Band 4: Add password support 2022-07-05 19:29:16 +01:00