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

4929 Commits

Author SHA1 Message Date
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
José Rebelo
152f19575f Make calendar blacklist configurable per device 2022-07-05 19:58:21 +02:00
José Rebelo
7512147c34 Huami: Display native alarm notification 2022-07-05 19:57:13 +02:00
José Rebelo
cb0dfaae79 Update FwAppInstallerActivity progress bar on SetProgressAction 2022-07-05 19:54:52 +02:00
José Rebelo
1755b4e093 Animate card movement on device list 2022-07-05 19:53:43 +02:00
Arjan Schrijver
6b58627487 Hide unknown author/creator in app manager lists 2022-07-05 09:27:06 +02:00
Arjan Schrijver
75a645d585 Fossil Hybrid HR: Fix error in app version detection 2022-07-04 17:30:34 +02:00
Arjan Schrijver
951772626c Fossil Hybrid HR: Show app versions 2022-07-04 17:12:41 +02:00
Daniel Dakhno
6625437a5f ControlCenter: fixed details visible on folders 2022-06-28 14:01:51 +02:00
vanous
b89138bd17 Allow some device folder management 2022-06-28 14:01:51 +02:00
Daniel Dakhno
62f77ef8d0 ControlCenter: added folders to ControlCenter 2022-06-28 14:01:51 +02:00
Daniel Dakhno
56e45eaa45 Merge remote-tracking branch 'origin/master' 2022-06-24 13:13:20 +02:00
Daniel Dakhno
45512efeb7 UM25: fix missing firmware version 2022-06-24 13:13:12 +02:00
Andreas Shimokawa
2182097f0c Fossil Hybrid HR: Relax version check for watch apps
Allows to install latest watchapps

It seems that every time the firmware gets a major update, the new watchapps
have a different minor version, we dont need to check for that because watchapps
seem to be compatible accross firmware versions
2022-06-24 09:44:05 +02:00
Arjan Schrijver
8c4ab7e713 Fossil Hybrid HR: When deleting a watchface, remove the preview image as well 2022-06-23 17:30:35 +02:00
Arjan Schrijver
0349b2530f Fossil Hybrid HR: Invert widgets color when the background image is inverted 2022-06-17 22:42:58 +02:00
Arjan Schrijver
48212d4185 Fossil Hybrid HR: Add watchface preview images in the app manager 2022-06-17 14:45:10 +02:00
José Rebelo
ec5e51b9a9 Roidmi 3: Recognize "Roidmi C BLE" as Roidmi 3 2022-06-15 21:21:29 +01:00
José Rebelo
8030efe019 Huami: Fix track name being replaced by album 2022-06-15 18:59:14 +01:00
José Rebelo
33d433d206 Make transliteration configurable per-language 2022-06-15 18:40:28 +02:00
Arjan Schrijver
820bcf258d Fossil Hybrid HR: Request custom menu config on watchface initialization 2022-06-15 13:02:33 +02:00
Arjan Schrijver
7f026edbd0 Fossil Hybrid HR: Generate watchface preview image 2022-06-15 12:59:23 +02:00
Gordon Williams
c2d98b5a24 Bangle.js - fix corruption in images with a certain sequence of chars 2022-06-15 11:48:41 +01:00
José Rebelo
b29900f671 Fix build after multi-device-support rebase 2022-06-14 23:33:56 +02:00
dakhnod
4a8523f790 multi-device-support (#2526)
this PR aims to add device for multiple connected devices at once.

A lot of stuff already works, some things need to be done:

- [x] change DeviceCommunicationService to hold multiple devices and supports
- [x] implement connect / disconnect logic
- [x] widgets, not really suited for multiple devices, so far
- [x] change the notification to show multiple devices
- [ ] change GBDeviceService#onFindDevice and similar API functions to target individual devices, not all connected.
- [x] move auto-reconnect setting to device settings
- [x] fix music event crash
- [x] work out behaviour when pressing "connect" from notification
- [ ] handle service crashes
- [ ] suit coordinator methods for multiple devices of same kind
- [x] change ACL_CONNECTED receiver to connect to devices that are not currently registered in DeviceCommunicationService
- [ ] adjust after-boot auto-connection logic
- [ ] fix hanging device support. Device says disconnected, GB says connected
- [x] firmware updater doesn't work

My attempt to make onFindDevice work was to change the arguments to ```EventHandler#onFindDevice(GBDevice device, boolean start)```.
The Problem is that this forces the device-specific implementations to also accept GBDevice as an argument.

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-authored-by: Andreas Shimokawa <shimokawa@fsfe.org>
Co-authored-by: dakhnod <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2526
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-06-14 18:05:41 +02:00
Gordon Williams
f606e85e1b Bangle.js: fix null pointer issue for debug messages, and ensure '...' special char is just replaced with '...' 2022-06-14 14:31:18 +01:00
Gordon Williams
c11af9e95c Keep data sent to Bangle.js in the log as well 2022-06-14 14:31:12 +01:00
Gordon Williams
3ef39433a6 Bangle.js build: remove the 'Donate' link for the Bangle.js build only, and instead add a message in the app's About dialog (unfortunately this is needed because Google Play store policy doesn't allow you to 'buy' stuff outside of the store) 2022-06-13 08:38:05 +01:00
Gordon Williams
e40bd79fbf Bangle.js: Adding built-in app-loader view (available via app management icon). Only available on internet-enabled builds (it's a webview) 2022-06-13 08:35:32 +01:00
Gordon Williams
bdcaeae177 Merge remote-tracking branch 'freeyourgadget/master' into freeyourgadget_master 2022-06-13 08:26:53 +01:00
vanous
30c7872d24 Discovery activity: set scanning sensitivity to level 2 2022-06-13 06:11:26 +02:00
vanous
8bfe37e61f Handle one shot alarm for Fossil watch 2022-06-12 08:50:46 +02:00
vanous
8ec9d0b2bd Widget: sleep rendering update 2022-06-12 08:13:12 +02:00
José Rebelo
b914bec573 Mi Band 5: Fix missing portuguese language 2022-06-11 23:09:21 +02:00
vanous
a9cd3412ee Allow to set discovery scanning level to prevent freezing 2022-06-11 23:07:56 +02:00
vanous
5b936db9b6 Fossil HR: Allow workout app the be added as a shortcut 2022-06-11 12:23:41 +02:00
José Rebelo
b9feb886f8 Fix sharing log files on newer android versions 2022-06-11 12:21:24 +02:00
Gordon Williams
2bb8eefe23 Merge branch 'freeyourgadget_master' of codeberg.org:Freeyourgadget/Gadgetbridge into freeyourgadget_master 2022-06-10 12:13:23 +01:00
Gordon Williams
607441b6b0 Support for color dithered bitmaps, and converting emoji->bitmaps
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java
2022-06-10 12:01:12 +01:00
Gordon Williams
12f2049ac6 Bangle.js: Keep a log of data sent from the watch, and allow it to be saved with 'Fetch Device Debug Logs' from the debug menu 2022-06-10 11:48:09 +01:00
Gordon Williams
774fb4efc3 Bangle.js fix message REPLY option 2022-06-10 11:45:52 +01:00
vanous
5e5d8d4dd9 Add missing commit from PR2695 2022-06-09 16:48:31 +02:00
vanous
3fdec8d7d3 Widget: do not show sleep if not recorded 2022-06-09 11:03:47 +02:00
José Rebelo
2101b5840a Mi Band 5: Start fitness tracking on phone when workout starts on band 2022-06-09 10:32:26 +02:00
José Rebelo
b07cd54468 Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
Andreas Shimokawa
ee93cce16d Mi Band 6: Whitelist FW 1.9.6.16 2022-06-08 14:36:14 +02:00
José Rebelo
d6658b41b5 Huami: Fix heart rate measurement interval on connection 2022-06-07 23:01:59 +02:00
José Rebelo
5e33e8e58f Mi Band 6: Fix night mode on latest firmware 2022-06-07 12:12:21 +01:00
vanous
c188eccff7 Keep main menu items unselected, fix #2351 2022-06-04 11:26:45 +02:00
José Rebelo
621e731d63 Go to previous PreferenceScreen on back actionbar option
Fixes #2692
2022-06-03 23:08:32 +01:00
Arjan Schrijver
4d0bfb452b Fossil Hybrid HR: Allow installation of newer watch apps 2022-06-03 15:48:48 +02:00
rarder44
236d9d9e2f Bangle.js - id in http request/response (#2683)
added an optional id to identify the request.
if a request with id occurs, a response with the same id is returned.

Co-authored-by: Rarder44 <lpozzi44@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2683
Co-authored-by: rarder44 <rarder44@noreply.codeberg.org>
Co-committed-by: rarder44 <rarder44@noreply.codeberg.org>
2022-05-30 13:19:19 +02:00
José Rebelo
a5a653dc34 Move OpenTracks external events to dedicated package 2022-05-30 13:17:26 +02:00
José Rebelo
dd30e6aa8a Extract Track and TrackStatistics from OpenTracksContentObserver 2022-05-30 13:17:26 +02:00
Ludovic Jozeau
b07dc6f2b2 fix calendar blacklist, view and storage
- view: unselect calendar that aren't blacklisted
- use more unique string to identify and store blacklisted calendars
2022-05-30 13:14:46 +02:00
vanous
22a9ad329e FitPro: fix crash, inactivity warning preference to string, after type enforcement in 3b348a5d5 2022-05-29 22:03:52 +02:00
vanous
4db2877a91 Widget and SleepAlarmWidget: modify for multidevice support 2022-05-28 14:57:01 +02:00
Daniel Dakhno
93e05e8dd6 Fossil HR: fixed null music spec 2022-05-28 02:10:45 +02:00
José Rebelo
d08fe6ebf7 Huami: Truncate MusicSpec data to 80 characters 2022-05-23 23:52:58 +01:00
Andreas Shimokawa
fa3bdd36d5 Amazfit Bip U/Pro: enable hr alert and stress tracking setting 2022-05-22 00:27:35 +02:00
vanous
30b4c1b868 AmazfitBand5: Enable extended HR monitoring 2022-05-20 22:10:16 +02:00
Gordon Williams
3f053927e0 Pop up a dialog asking about Location permissions (although others get requested too).
Conversation at https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2675#issuecomment-455468
2022-05-20 08:39:47 +01:00
Gordon Williams
8d2a127879 When we need permissions, we now pop up a dialog asking nicely and explaining why. Also instructions, since it may be unclear for new users. 2022-05-19 22:17:24 +02:00
Gordon Williams
f0d204bdc3 Add ability to receive intents to com.banglejs.uart.tx (from apps like tasker) and send them to Bangle.js
Also local intents, paving way for app loader integration
2022-05-19 11:07:04 +01:00
Gordon Williams
b324f40a78 Bangle.js: add support for rendering to a text that can't be displayed into a bitmap and sending the bitmap over
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java
2022-05-18 16:35:07 +01:00
Gordon Williams
ec3b54ef47 Bangle.js: Add option for enabling/disabling internet access, and add ability to send Intents direct from Bangle.js
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java
2022-05-18 16:31:22 +01:00
Andreas Shimokawa
79d5c246a2 Mi Band 6: enable new settings 2022-05-18 10:41:30 +02:00
José Rebelo
91e9451a87 Mi Band 5: Add HR activity monitoring, HR alerts, stress monitoring 2022-05-17 21:49:43 +01:00
José Rebelo
428af7f21e Huami/Mi Band: Move heart rate monitoring to device-specific settings 2022-05-17 21:49:42 +01:00
vanous
948db604e5 Add support for Galaxy Buds Pro
- add generic coordinator and settings customizer for Galaxy Buds
- add Prefs to the DeviceSpecificSettingsCustomizer
- edit Changelog
2022-05-17 22:27:40 +02:00
theghostofheathledger
ed6b2e44b9 Add com.samsung.android.incallui to handleCallNotification blacklist 2022-05-17 11:55:29 +02:00
mvn23
9ca3fff101 Add support for native Do Not Disturb call/SMS functionality on Fossil watches 2022-05-16 21:59:02 +02:00
Andreas Shimokawa
65ebdb6ff8 Amazfit Bip U/Pro: Enable vibration pattern settings 2022-05-16 16:05:04 +02:00
Quang Ngô
b46b1278b3 Add support for Sony WF-1000XM3 2022-05-16 17:50:31 +07:00
Andreas Shimokawa
c50c333f8b Mi Band 4: enable vibration patterns 2022-05-16 11:03:10 +02:00
Andreas Shimokawa
4761168958 Mi Band 6: enable vibration patttern settings (tested working)
also rename devicesettings_miband5_vibration to devicesettings_vibrationpatterns
2022-05-16 10:59:03 +02:00
José Rebelo
410b74e1a2 Mi Band 5: Increase number of reminder slots to 50 2022-05-16 10:37:32 +02:00
José Rebelo
f08fe7f65f Huami: Distinguish between alarm and workout activity type responses 2022-05-16 10:37:00 +02:00
José Rebelo
3b348a5d5d Huami: Move inactivity warnings and goal notification to device-specific settings 2022-05-16 10:33:02 +02:00
José Rebelo
a5a3e57a34 Sony Headphones: Simplify capability definition 2022-05-15 17:22:55 +01:00
vanous
0a28ce92a9 Sony overhead headphones: new device icon 2022-05-15 16:33:48 +02:00
vanous
425dfac3e9 Miband6: new device icon 2022-05-15 15:39:48 +02:00
vanous
49a7871614 Sony WF 800n: new icons 2022-05-15 13:04:21 +02:00
José Rebelo
50346ce798 Amazfit Band 5: Add notification vibration patterns 2022-05-14 15:17:07 +01:00
José Rebelo
b220fef74e Mi Band 5: Add notification vibration patterns 2022-05-14 16:11:26 +02:00
vanous
5f73dd79e6 Amazfit Band 5: enable: world clocks settings, display on lift sensitivity, configuring activity types 2022-05-14 14:42:07 +02:00
Daniel Dakhno
c31213c34d VESC: added battery indicator 2022-05-14 04:47:22 +02:00
José Rebelo
10d11d4818 Mi Band 5: Add support for configuring activity types 2022-05-12 08:52:02 +02:00
José Rebelo
682b215985 Huami: Send media volume to device 2022-05-11 00:23:18 +01:00
Andreas Shimokawa
37ba8c291e Amazfit Band 5: Enbable lift wrist sensitivity and world clock configuration 2022-05-10 15:49:34 +02:00
Andreas Shimokawa
3a1d4d6161 Amazfip Bip U/Pro: Enable lift wrist sensitity and world clock configuration 2022-05-10 15:41:12 +02:00
Andreas Shimokawa
05515d6ba2 Amazfit Bip S: Enable world clock configuration 2022-05-10 15:29:47 +02:00
Andreas Shimokawa
46cd229a14 Mi Band 6: Enable World clock setting
Also take care of new/old firmware
2022-05-10 14:16:52 +02:00
José Rebelo
5c6edea233 Mi Band 5: Add support for World Clocks 2022-05-10 13:59:25 +02:00
Andreas Shimokawa
d973f50560 Mi Band 6: enable setting sensitivty for display on lift setting
Tested and seens to work
2022-05-09 23:01:57 +02:00
José Rebelo
c74bbffb4d Mi Band 5: Add activate display on lift sensitivity 2022-05-09 17:58:55 +02:00
mvn23
43bcac072d Add com.asus.asusincallui to handleCallNotification blacklist 2022-05-09 17:48:34 +02:00
vanous
873ac85001 Enable Fitness App Tracking Stop in Huami actions. Add Toggle function to the Tracking 2022-05-09 17:18:06 +02:00
José Rebelo
2aecb85015 Fix fitness goal and inactivity warning threshold preference migration 2022-05-07 20:45:33 +01:00
José Rebelo
1092e1b10a Unset notification color for Android 12+ 2022-05-01 23:06:32 +02:00
Daniel Dakhno
367ad19205 UM25: optimized imports, added pref summary 2022-04-15 02:37:53 +02:00
Daniel Dakhno
3fc53ef6b3 UM25: added click listener to notification 2022-04-15 02:12:36 +02:00
Daniel Dakhno
bf4e948c35 UM25: added notification on below current threshold 2022-04-15 02:08:51 +02:00
Daniel Dakhno
9ab9186e58 UM25: added reset option to current accumulation 2022-04-15 01:21:26 +02:00
Andreas Shimokawa
8510cdbb3f Amazfit Neo: Allow to disable beeps for email notifications
Fixes #2607
2022-04-07 22:54:24 +02:00
gfwilliams
2cb5844020 Bangle.js build flavor (#2621)
This PR adds build flavors to `build.gradle`. The default is called `main`, but we also add `banglejs` which allows the building of an app called `Bangle.js Gadgetbridge`.

This will have internet connectivity, allowing Bangle.js watches to request data directly from the internet - and it's named so as hopefully not to be confused with the normal offline Gadgetbridge, while still giving credit.

Eventually the plan is to put this on the Google Play store, and to have additions in it which are good for Bangle.js users but would otherwise negatively impact normal Gadgetbridge users (a build flavor is used so we can keep the same codebase and not fork).

About naming - I'd mentioned `Gadgetbridge for Bangle` to @ashimokawa but thinking about how it would appear in the app store and Android apps list, it probably makes sense to call it `Bangle.js Gadgetbridge` so it's listed under `B...`. Happy to change or use something else if you have strong opinions though.

**Note:** adding build flavors seems to add the flavor name to existing builds. As a result, *all other builds will now have `main` in the name*. Unfortunately I didn't see another way around this, but hopefully it won't break anything.

Co-authored-by: Gordon Williams <gw@pur3.co.uk>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2621
Co-authored-by: gfwilliams <gfwilliams@noreply.codeberg.org>
Co-committed-by: gfwilliams <gfwilliams@noreply.codeberg.org>
2022-03-31 11:36:26 +02:00
Andreas Shimokawa
cf70347636 Fix crash when calender is accessed but permissin is denied
Fixes #2624
2022-03-31 11:25:15 +02:00
Andreas Shimokawa
08eb58e63b Mi Band 6: set time on connect 2022-03-31 11:07:13 +02:00
Damien Gaignon
41b2847691 Finalize constants move 2022-03-30 22:01:08 +02:00
Damien Gaignon
48890d1d34 Move disconnect_notification constant to generic 2022-03-30 22:01:08 +02:00
Damien Gaignon
02e790dd00 Remove redundant constants 2022-03-30 22:01:08 +02:00
Damien Gaignon
619780977c Move lefun_language constant to generic 2022-03-30 22:01:08 +02:00
Damien Gaignon
fd69b1a3ea Move mi2_inactivity constants to inactivity 2022-03-30 22:01:08 +02:00
Damien Gaignon
6ed6c8a2b6 Move longsit files to inactivity 2022-03-30 22:01:08 +02:00
Damien Gaignon
46f93bd2e4 Move longsit constants to inactivity 2022-03-30 22:01:08 +02:00
Damien Gaignon
ae796c81eb Move zetime_inactivity* constants 2022-03-30 22:01:08 +02:00
Damien Gaignon
3b75a1701a Clean DO_NOT_DISTURB* constants 2022-03-30 22:01:08 +02:00
Damien Gaignon
66b8fb004e Move mi_ constants 2022-03-30 22:01:08 +02:00
Arjan Schrijver
e4d8f5f3e2 Fossil Hybrid HR: Add flexible custom menu on watch (#2616)
This PR adds support for a new custom menu system on the Fossil Hybrid HR, developed by @dakhnod. For regular users this PR will change nothing, apart from also giving an extra option to light up the display when receiving new notifications.
For more advanced users, there's the [Fossil HR Menu Companion app](https://github.com/dakhnod/Fossil-HR-Menu-Companion) that's needed to enable and configure the new menu system. Just disable one or more of the physical buttons in Gadgetbridge and configure them instead in the companion app to get started.

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2616
2022-03-22 20:52:43 +01:00
a b
4e8449eb47 Add support for Hama Fit Track 1900 2022-03-15 19:09:46 +01:00
Daniel Dakhno
f49184ef62 Fossil HR: try guessing new widget position 2022-03-09 10:44:49 +01:00
rarder44
c0ca52d2b8 BangleJS: added repetitions in alarm json (#2579)
Co-authored-by: rarder44 <rarder44@noreply.codeberg.org>
Co-committed-by: rarder44 <rarder44@noreply.codeberg.org>
2022-03-07 10:43:54 +01:00
vanous
f44ff3ae69 AutoExporter changes for better operation and troubleshooting.
- Add more info about AutoExport into DataManagement activity
- Fix scheduleAlarm name
- Run AutoExporter in another thread
- Start AutoExporter on app startup if not running yet from AutoStartReceiver
- Save and show time of scheduled and last executed AutoExport
2022-03-06 13:03:59 +01:00
Richard de Boer
cec28d2442 Bangle.js: handle battery charging status 2022-03-06 00:24:57 +01:00
Daniel Dakhno
f61008c9ae UM-25: made cumulative values resettable 2022-02-27 11:03:39 +01:00
SalavatR
8e34311f01 XWatch notifications and calls support 2022-02-25 22:26:40 +01:00
vanous
3ecc6519b0 Add selection dialog to set OpenTracks package name 2022-02-25 07:33:10 +01:00
Arjan Schrijver
8d152bec22 Add explanation to OpenTracksController 2022-02-23 14:08:26 +01:00
vanous
3450e5d5e7 allow to open Android notification settings from Notification settings 2022-02-23 10:25:10 +01:00
vanous
10fc3e1fae unset OpenTracksObserver after finish 2022-02-22 18:19:28 +01:00
vanous
79e0c01f60 add debug features for openTracksObserver 2022-02-22 17:57:31 +01:00
vanous
fdfb9f57e2 perform check before closing openTracksObserver.finish 2022-02-20 15:09:05 +01:00
vanous
020c4aacd5 add OpenTracks Nightly into whitelisted persistent notification apps 2022-02-20 15:07:50 +01:00
vanous
65cbea6713 Add HUAMI button/device action to control fitness tracking
- Fitness App Tracking Start already works, Stop is commented out for
  time being
- Catch exception in case the package name for controlled app doesn't
  exist/work
2022-02-19 16:04:48 +01:00
Arjan Schrijver
5224304b6c Read overall statistics from received OpenTracks dashboard API URIs 2022-02-17 11:00:58 +01:00
Arjan Schrijver
d2408f77cd Fossil Hybrid HR: Move workout request handling to separate class 2022-02-17 11:00:58 +01:00
Arjan Schrijver
e188e54622 Add OpenTracksController for interactions with OpenTracks 2022-02-17 11:00:58 +01:00
Arjan Schrijver
c8ad21eebf Fossil Hybrid HR: Start/stop track in OpenTracks from GPS workout on watch 2022-02-17 11:00:58 +01:00
Daniel Dakhno
93fc2c3b61 VESC: fixed crash on loading saved integer 2022-02-14 19:12:44 +01:00
vanous
33569d73d7 WaspOS: fix battery chart 2022-02-02 15:53:59 +01:00
vanous
ed1836a2bd WaspOS: add condition code to weather JSON 2022-02-02 15:43:45 +01:00
Andreas Shimokawa
b62357dfe2 Mi Band 6: Sync alarms set on the watch like on Amazfit Bip U and others
This adds code to decrypt chunked protocol replies for configuration data.
Also some (disabled) code for SMS reply.
2022-02-02 12:57:25 +01:00
Andreas Böhler
884538de5e Add basic support for Casio GBD-H1000 2022-02-02 11:21:11 +01:00
Richard de Boer
42e0a63429 Bangle.js: fix battery chart
Battery percentages were shown in gadgetbridge, but not stored, so the chart didn't work.

Call AbstractDeviceSupport.handleGBDeviceEvent() instead of rolling our own battery update,
and that does call createStoreTask()
2022-02-02 11:20:43 +01:00
Marc Nause
e32dc8b48e Bangle.js: Prevent exception in case UART RX line is empty
This seems to fix the "no incoming call notification"-issue, see https://github.com/espruino/BangleApps/issues/976
2022-01-29 23:49:51 +01:00
Andreas Shimokawa
d67771ccc3 Huami: implement reassably of alarm configuration chunks for low mtu and fix situation when all alarms get deleted on the watch 2022-01-21 12:48:36 +01:00
Daniel Dakhno
7697b588d1 Merge remote-tracking branch 'origin/master' 2022-01-20 15:51:25 +01:00
Daniel Dakhno
2fbf0d62e0 QC35: added battery threshold 2022-01-20 15:51:19 +01:00
Andreas Shimokawa
6046152153 Huami: Fix updating alarm times when not toggling, other logic fixes 2022-01-20 11:12:31 +01:00
Andreas Shimokawa
47f7f22df4 Read alarms from device on connect and when changed on device
TODO:
- support decryption for mi band 6
- reassamble chunks for low MTU
2022-01-20 10:09:23 +01:00
Andreas Shimokawa
3b95e4ea66 Bip U / Bip U Pro: Fix switched device names 2022-01-18 21:20:33 +01:00
Andreas Shimokawa
406f775f76 Amazfit Pop/Pop Pro: Seperate device from Bip U/Bip U Pro
This really seems to be the same device, but it does have a different firmware
and a different bluetooth name.

Do this to prevent cross flashing - which might actually be okay but we do not know.
2022-01-18 21:15:12 +01:00
Andreas Shimokawa
3b25f57986 Revert "Add Support for Bip U series China Variant"
This reverts commit 8e66ed4283.
2022-01-18 20:02:28 +01:00
José Rebelo
d0f80eb5b4 Sony Headphones: Implement Noise Cancelling Optimizer 2022-01-17 07:55:43 +01:00
José Rebelo
83c42ebef8 Sony WH-1000XM3: Disable equalizer, surround and sound position while in SBC codec 2022-01-15 23:40:00 +00:00
José Rebelo
1de2c32705 Make DeviceSpecificSettingsCustomizer Parcelable, fixing occasional crash
A fragment must have an empty constructor, and the settings will sometimes crash when resuming.

Fixes #2560
2022-01-15 17:18:41 +01:00
DESKTOP-IF738U6\Tim
5de5f7bb14 added data loss fix to debug activity 2022-01-15 09:52:27 +01:00
rikka356
8e66ed4283 Add Support for Bip U series China Variant 2022-01-13 05:47:36 +08:00
José Rebelo
8a54f5dd1c Improve discovery activity internationalization 2022-01-12 13:26:54 +00:00
MedusasSphinx
f3a491496e Transliterate "ı" 2022-01-12 13:55:25 +01:00
Arjan Schrijver
795c800dd4 Fossil HR: Make width of custom widget configurable 2022-01-12 13:55:02 +01:00
José Rebelo
d4840b3c5b Sony Headphones: Improve first connection reliability 2022-01-12 13:28:26 +01:00
Andreas Böhler
c81a7ab8e4 Fix supid bug introduced while refactoring Casio support 2022-01-12 11:33:05 +01:00
José Rebelo
d23b0a5b88 Sony WH-1000XM4: Initial Support 2022-01-12 10:36:07 +01:00
Daniel Dakhno
73ce323288 Fossil HR: improved DeviceApplicationsList handling 2022-01-11 13:13:15 +01:00
dakhnod
8d1a1c07b7 fossilhr-activity-recognition (#2539)
This PR adds the ability to change activity recognition settings on the watch.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2539
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-01-06 13:31:00 +01:00
vanous
3617fc9115 add icons for VESC devices 2022-01-01 12:45:40 +01:00
vanous
53e7a4740e Add commit id into About screen 2021-12-30 10:40:40 +01:00
vanous
7cf562c8e6 Refactor formatting of distance strings
- localizing number format
- allows translation of distance units
- refactor
2021-12-30 07:55:20 +01:00
Your Name
c62a418961 Add climbing activity & Add seperate res for hiking and climbing 2021-12-28 22:37:35 +01:00
Sebastian Krey
2bf4f14b98 New Amazfit GTS 2 Mini activity Outdoor Trekking/Hiking (#2528)
New Huami Amazfit GTS 2 Mini activity for Outdoor Trekking/Hiking.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2528
Co-authored-by: Sebastian Krey <skrey@noreply.codeberg.org>
Co-committed-by: Sebastian Krey <skrey@noreply.codeberg.org>
2021-12-28 13:46:17 +01:00
Sebastian Krey
241bc02cc0 Huami activity summary fields for ascent, descent and flat distances 2021-12-27 15:48:04 +01:00
dakhnod
504b552f0c device-vesc (#2491)
Adds Support for BLDC controller VESC connected to a BLE serial device like an HM10.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2491
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2021-12-27 15:47:10 +01:00
ITCactus
e332f5d23a [PineTime][InfiniTime][2527] remove debug Toast and subscription to UUID_CHARACTERISTIC_MOTION_RAW_XYZ_VALUES 2021-12-27 15:38:10 +01:00
dakhnod
b0ed617072 device-bose-qc35 (#2520)
This PR adds not only the device Bose QC35,
it also adds the following autop-reconnect feature:
When the headphones are turned on, the initiate a connection with the phone.
With this change, GB is notified about said change, and tries to establish a connection to the newly connected device, if the appropriate device setting is set.

The QC35 headpones always have NC turned on after boot, thus the main feature of this implementation is to turn off NC as soon as the headphones are turned on and connected to the phone.

I am open for discussion regarding the implementation, but this seems like a good first proposal.

What is missing is the ability to connect to multiple devices, since in many cases headphones can be connected to the watch simultaniously to a smartwatch or other gadget.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2520
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2021-12-27 15:37:04 +01:00
José Rebelo
c4874de11a Sony WF-SP800N: Initial Support 2021-12-26 19:17:21 +01:00
José Rebelo
8eb0b310ba Sony WH-1000XM3: Fix Ambient Sound Control commands, potentially improving ANC quality 2021-12-26 19:17:21 +01:00
José Rebelo
4297b4b7e0 Roidmi 1: Set number of batteries to 0 2021-12-26 18:27:01 +01:00
José Rebelo
b0648dcc09 Roidmi: Fix frequency configuration on some non-english languages 2021-12-26 18:27:01 +01:00
José Rebelo
887c3bf8ca Roidmi: Slight code cleanup 2021-12-26 18:27:01 +01:00
José Rebelo
5dfcaa65ea Roidmi 3: Add support for Mojietu 3 rebrand 2021-12-26 18:27:01 +01:00
vanous
c23810f54c Provide Add test device directly from the Discovery screen 2021-12-26 18:14:07 +01:00
vanous
682a26e56d Add Discovery setting to the Discovery Activity 2021-12-26 18:14:07 +01:00
vanous
71138192f0 Allow discovering unsupported devices for debug purposes 2021-12-26 18:14:07 +01:00
Daniel Dakhno
e889796671 added util method to Version 2021-12-26 17:58:47 +01:00
Daniel Dakhno
cab9ab714a Fixed bug on Preference Screen start 2021-12-26 15:40:12 +01:00
Daniel Dakhno
a1f9fe82d2 Merge branch 'master' of codeberg.org:Freeyourgadget/Gadgetbridge 2021-12-26 00:17:56 +01:00
Daniel Dakhno
a1be28c117 UM25: removed battery icon 2021-12-26 00:17:44 +01:00
Andreas Shimokawa
e1b04f6a5c Huami: support old version of new chunked protocol used on Amazfit Bip U at least
This is used for setting world clock and setting canned messages for call rejection.
This PR implements setting the canned messages, but unfortunately the feature is somehow not "unlocked"
2021-12-23 18:06:58 +01:00
musover
8baf97fd93 Determined which icons take header, fixed email 2021-12-23 11:42:29 +01:00
musover
37adef93bb Add support for Telegram (from web) and Discord 2021-12-23 11:42:29 +01:00
musover
d5eb5b0690 Determined which icons take header, fixed email 2021-12-23 11:42:29 +01:00
musover
69c1c1b989 Fix notification title not appearing on Amazfit GTS2 Mini for non-chat apps 2021-12-23 11:42:29 +01:00
musover
907ffafa62 Add support for Telegram (from web) and Discord 2021-12-23 11:42:29 +01:00
José Rebelo
33b5a6de38 Sony WH-1000XM3: Read information from device 2021-12-23 11:39:26 +01:00
Andreas Shimokawa
0906f150bd Do not transliterate phone numbers and iconIds
In case of icon Ids this even leads to a crash :/
Fixes #2517
2021-12-20 16:52:55 +01:00
Sebastian Krey
56a552ac44 Move minHR into version 519 case 2021-12-20 12:18:28 +01:00
Sebastian Krey
2af93eba03 Additional Huami Summary fields 2021-12-20 12:18:28 +01:00
José Rebelo
96d709bea1 Allow devices to update info, preferences and state 2021-12-20 11:29:21 +01:00
José Rebelo
93dad44750 Keep device info on the correct device during reordering 2021-12-19 19:11:22 +01:00
Daniel Dakhno
2f217b077f Fossil HR: removed find-my-device with older firmwares 2021-12-19 12:56:47 +01:00
Daniel Dakhno
ee9d1155ba Fossil HR: fixed on-device confirmation for older firmwares 2021-12-19 12:51:30 +01:00
Richard de Boer
c8ceb4e44d Bangle.js: add condition "code" to weather JSON
Fixes #2504: Weather: support for language independent condition code or icon name
2021-12-19 09:56:05 +01:00
José Rebelo
54749ec9d9 Hide heart rate status label view if empty 2021-12-18 23:22:01 +00:00
José Rebelo
7e349213a5 Hide battery status label view if empty 2021-12-18 22:45:49 +00:00
Andreas Shimokawa
055511945b Amazfit Bip U/Pro: disable event reminder it is not supported by the device! 2021-12-16 17:59:47 +01:00
José Rebelo
300491d483 Mi Band 3: Add preference to enable display on wrist lift during DND 2021-12-13 16:46:40 +01:00
Andreas Shimokawa
78b832567b Amazgit GTS2 Mini: Try to fix most missing menu items 2021-12-13 10:27:30 +01:00
Andreas Shimokawa
a917d3786f Amazfit GTS2 mini: Fix language selection 2021-12-13 10:08:39 +01:00
José Rebelo
2e8f44cd85 Huami: Fix weekly reminders 2021-12-13 09:24:29 +01:00
Daniel Dakhno
45647ccbf7 Fossil HR: added timeout to on-device confirmation 2021-12-13 03:04:44 +01:00
Andreas Shimokawa
dbdeb59f9c Mi Band 6: Whitelist FW 1.0.6.10 2021-12-12 19:01:54 +01:00
José Rebelo
a111272143 Huami: Fix reminder deletion 2021-12-12 10:48:22 +00:00
vanous
33300113a5 Reminders: add to Huami Coordinator for all Huami devices except of MiBand2 2021-12-11 23:25:18 +01:00
José Rebelo
710b6f6699 Mi Band 3: Add support for Reminders 2021-12-11 22:39:18 +01:00
ITCactus
4cadb0412b [PineTime][2481] Steps/Activity sync support #2481 (#2486)
added sync "steps" from PineTime/InfiniTime to Gadgetbridge.

notes:
* Steps sync works only since InfiniTime 1.7
* InfiniTime advertise "steps" info when the PineTime screen is ON (and a bit after that). hence:
	* you should unlock the PineTime screen before end of the day to not loose your latest progress (since the last unlock) at the end of the day;
	* when the PineTime screen is ON and you are moving, PineTime will send "steps" count every about 2-10 seconds, and Gadgetbridge may start to treat this data as an Activity (and also displaying it in Activity charts). that data and charts will not be accurate: you should wait for ["Health/Fitness data storage and expose to companion app](https://github.com/InfiniTimeOrg/InfiniTime/projects/4)" project to be implemented on the PineTime side. and meanwhile, in Gadgetbridge open "Device specific settings" and change/uncheck option in "Charts tabs" and "Activity info on device card" to leave only Steps data.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2486
Co-authored-by: ITCactus <itcactus@noreply.codeberg.org>
Co-committed-by: ITCactus <itcactus@noreply.codeberg.org>
2021-12-11 21:19:05 +01:00
José Rebelo
8416cb4e71 Sony WH-1000XM3: Disable device preferences conditionally 2021-12-10 17:38:23 +01:00
Gordon Williams
228008e42c Bangle.js - Minor tweaks to sizes for drawableToBitmap 2021-12-09 16:14:06 +00:00
Gordon Williams
e82662f0bf Bangle.js: if music state is out of range, just return '' (fix #2485) 2021-12-09 16:09:49 +00:00
dakhnod
4981aacb30 Fossil HR: added infrastructure to display on-device confirmations (#2451)
This PR aims to add the on-device connection confirmation for the Fossil HR.
This seems mandatory, since, at least on my watch, without said confirmation certain files like the configuration cannot be accesses, e.g. the time on the watch cannot be set etc.

The mystery yet to be solved is how to get the watch to not ask for a confirmation on every new connection or reconnection attempt, since that can get very annoying.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2451
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2021-12-07 16:41:37 +01:00
Arjan Schrijver
7d552ce41f Fossil Hybrid HR: Fix widget configuration bug 2021-12-06 17:08:50 +01:00
vanous
468a40c62e Activity Card: React to User settings. Unify step length 2021-12-05 10:34:55 +01:00
vanous
4398076ecc Activity card: React to Charts settings, refactoring 2021-12-04 20:38:05 +01:00
vanous
50204a956e Activity card: Open specific Charts tab for each activity 2021-12-04 17:18:27 +01:00
José Rebelo
361dcd2eac Fix battery level and voltage index on BatteryInfoActivity 2021-11-30 23:41:58 +00:00
vanous
a7620e2748 Activity card: simplify the layout and only show each chart if there is data 2021-11-25 12:30:10 +01:00
vanous
2e42f16146 FitPro: extend search name, fix #2473 2021-11-24 22:08:13 +01:00
Arjan Schrijver
88218a1273 Fossil Hybrid HR: Add choice between hiding text and showing circle on custom widget timeout 2021-11-24 10:14:36 +01:00
Arjan Schrijver
d1062a30b2 Fossil Hybrid HR: Add update timeout to custom widget 2021-11-24 09:52:49 +01:00
mvn23
3c4799a339 Add support for native Do Not Disturb functionality on Fossil watches 2021-11-23 17:22:27 +01:00
Andreas Böhler
4c5d9e5665 Add support for Casio GBD-200 and untested support for GBD-100 2021-11-23 17:22:05 +01:00
Andreas Böhler
90ae3d0019 Refactor Casio support and fix alarm handling on all devices 2021-11-23 17:21:35 +01:00
vanous
ec3b3bf617 Make new FM Frequency selector with presets 2021-11-23 12:38:29 +01:00
José Rebelo
f8e5b88231 Sony WH-1000XM3: Abstract common Sony Headphones logic 2021-11-20 21:26:51 +01:00
vanous
296dbb16aa Add Activity info into Device Card: make cards center alighed with shorter text 2021-11-20 17:04:39 +01:00
vanous
8caa529fbb Add Activity info into Device Card: add charts, split widths evenly 2021-11-20 16:04:02 +01:00
vanous
b24da9a409 Activity info into Device Card: use correct coordinator method
- use correct DeviceCoordinator method supportsActivityTracking()
- remove placeholders from xml
- clarify comments in DeviceCoordinator
- clean up some previously added unused imports
2021-11-18 16:06:56 +01:00
Arjan Schrijver
c15833f149 Fossil Hybrid HR: Add button for removing the watchface background image 2021-11-18 13:39:46 +01:00
Petr Vaněk
21ea7b6cc2 Add Activity info into Device Card. (#2453)
- this tries to address a common request to display user data up front
- i would make this via a fragment, but RecyclerView doesn't like Fragments
- (fragments would make it much easier to also add a charts like view,
  like we use on the Activity list tab)
- i added configuration that allows to disable it partially or fully
Co-authored-by: Petr Vaněk <vanous@noreply.codeberg.org>
Co-committed-by: Petr Vaněk <vanous@noreply.codeberg.org>
2021-11-18 12:22:43 +01:00
Arjan Schrijver
1d9eb9f332 Fossil Hybrid HR: Move watchface settings to proper settings screen 2021-11-18 12:14:26 +01:00
José Rebelo
91c317fda2 Sort devices by alias, if available 2021-11-17 09:04:23 +01:00
José Rebelo
39ddb732f7 Sony WH-1000XM3: Fix ACK sequence number handling 2021-11-17 00:14:36 +00:00
José Rebelo
6db775a9df Sony WH-1000XM3: Simplify protocol code 2021-11-17 00:07:18 +00:00
José Rebelo
d2fe8e5607 Sony WH-1000XM3: Fix payload size check 2021-11-16 21:03:10 +00:00
Damien Gaignon
ed47a0fcf7 Change CRC16 method
Be able to use a custom crc value for initialization.
Keeping compatibility with previous method.
2021-11-13 21:43:05 +01:00
Arjan Schrijver
d688f42735 Always allow custom text widget intents 2021-11-13 10:18:49 +01:00
Arjan Schrijver
1a5ebe2ee7 Support multiple 2nd-TZ and Custom widgets 2021-11-13 10:10:38 +01:00
Daniel Dakhno
cd183eb953 added custom widget apps to gadgetbridge 2021-11-13 10:10:38 +01:00
Daniel Dakhno
bc60b66abf added capability to push config via intents 2021-11-13 10:10:38 +01:00
vanous
be5cde9405 Galaxy Buds: remove some debug, fine-tune icons. Edit changelog 2021-11-13 09:13:20 +01:00
vanous
fcb91fd544 Add support for Galaxy Buds Live 2021-11-12 18:01:50 +01:00
vanous
a490e9f555 Galaxy Buds: migrate ambient volume preference to SeekBar
- more unique detection of the original Buds series
- always bond
2021-11-07 11:05:33 +01:00
vanous
77cf6f8ba4 Perform battery config when new device is being paired 2021-11-07 10:32:29 +01:00
Mave95
aa7c7f785a Add Nekogram X to Telegram notifications 2021-11-07 01:00:29 +01:00
José Rebelo
bf5eebd411 Sony WH-1000XM3: Initial Support 2021-11-06 23:43:31 +00:00
Daniele Gobbetti
b0f22815b0 Reset the battery icon if battery level is unknown 2021-11-05 18:33:33 +01:00
vanous
1f361ee844 Nothing Ear(1): add custom icons for batteries 2021-11-04 09:50:56 +01:00
vanous
678cf006e0 Move devicesettings_transliteration to settings of each device 2021-11-03 17:13:22 +01:00
vanous
a6a6bfef17 Galaxy Buds: add custom icons for batteries 2021-11-03 16:06:54 +01:00
vanous
a7fbda5fe1 Multi-battery: further improvements:
- add new icons
- ensure correct default icon
- modify Battery Info activity
2021-11-02 21:15:25 +01:00
Daniele Gobbetti
64b52e5edf Nothing Ear (1): add multiple batteries support 2021-11-02 21:15:25 +01:00
vanous
3609af3a18 Add batteryConfig
- clarify battery index
- icon and label settings
2021-11-02 21:15:25 +01:00
Daniele Gobbetti
1ce0cd683e Fix forgotten batteryState index 2021-11-02 21:15:25 +01:00
vanous
80207b34bc Galaxy Buds: add multiple batteries support 2021-11-02 21:15:15 +01:00
vanous
788f4d8ae0 Add support for multiple batteries per device 2021-11-02 14:37:47 +01:00
Andreas Shimokawa
998f8775d9 Fix bug in non-DST time where still being in DST was assumed
This affects InfiniTime and Huami
For InfiniTime it probably resulted in the wrong time being displayed
For Huami is resulted to request the wrong data from the band/watch

We used timezone.getDSTOffset() which always returns the DST offset (also in non
DST time)

We need to pass the time being observed to calendar.getOffset() to get the real
offset including DST at that specfic time which then either includes DST offset or not.
2021-11-02 11:34:55 +01:00
Daniele Gobbetti
f8cc520ede BtClassic: generalize device initialization
Also override the new generic initialization for Nothing Ear (1)
2021-10-31 15:54:36 +01:00
vanous
da0c43f77d Galaxy Buds: adding initial support for Galaxy Buds 2019 2021-10-31 07:27:16 +01:00
Andreas Shimokawa
3db6e5d9ec Prevent crash when receiving broken weather data from TinyWeatherForecastGermany 2021-10-28 10:32:52 +02:00
vanous
67b1dd2051 FitPro: add LH716 to list of supported names, fix #2418 2021-10-26 09:33:14 +02:00
Andreas Shimokawa
3a642251fe Amazfit Bip U Pro: Support flashing AGPS updates
Use Huafetcher for fetching the data.
2021-10-22 15:46:54 +02:00
Andreas Shimokawa
1341501ac4 Amazfit Bip U Pro: Allow setting more languages, whitelist FW 1.0.2.92 2021-10-22 14:08:39 +02:00
Andreas Böhler
8a3fc19285 Add support for Casio STB-1000. Limitations of GB-5600B/GB-6900B apply. 2021-10-18 18:23:35 +02:00
HelloCodeberg
ca4f996e9b add_rotate_watchface_button_hybridhr (#2408)
This adds a button which rotates the selected watchface by 90 degrees counter-clockwise to the hybridqr.
I did not manage to fix the autoorientation.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2408
Co-authored-by: HelloCodeberg <hellocodeberg@noreply.codeberg.org>
Co-committed-by: HelloCodeberg <hellocodeberg@noreply.codeberg.org>
2021-10-14 11:00:37 +02:00
vanous
d3d4130a95 Reworking notification management
- rename some methods to better indicate their functions.
- make the notification filter to be allow or deny list,
  solves #2256 and #336
- make app word filter to behave based on allow/deny settings.
- make Pebble notifications to honor the allow/deny settings.
- add generic "debug function" to Debug activity.
- add Message privacy mode settings, solves #2279
2021-10-10 11:49:13 +02:00
Daniele Gobbetti
9ad7e210b7 Nothing Ear (1): Read audio status from device and various fixes:
- add support for ANC-light mode
- handle multiple GBDeviceEvents
- add fake fw and hw versions to make DBHelper happy
- fix battery charge detection logic
- extract some strings to resources
2021-10-07 20:25:26 +02:00
Andreas Shimokawa
ebe2558690 Huami: clean up supported languages 2021-10-07 18:33:58 +02:00
Andreas Shimokawa
588bcffaab Mi Band 3/4: Use language list from coordinator, remove array 2021-10-07 14:52:21 +02:00
Andreas Shimokawa
bef015b0c2 Add new getSupportedLanguageSettings() to coordinator to get rid of all those arrays
There is one big generic one now, unssupported languages will be removed at runtime.
Tested with Amazfit Bip U.
2021-10-07 14:32:09 +02:00
Andreas Shimokawa
2219eb489e Amazfit Bip U: Fix setting the language 2021-10-07 12:50:44 +02:00
Daniel Dakhno
1a892aa159 UM25: added some fields to UI 2021-10-03 02:43:42 +02:00
Andreas Shimokawa
48e5f44b81 Amazfit Bip U Pro: Fix flashing firmware, res, font, watchfaces 2021-10-01 17:49:43 +02:00
Andreas Shimokawa
d9a77540ce Amazfit Bip U: fix watchface installation 2021-10-01 17:42:36 +02:00
Andreas Shimokawa
475a2584cc Amazfit Bip U/Pro: enable unicode emoji 2021-10-01 14:18:06 +02:00
Andreas Shimokawa
d673d8a487 Amazfit Bip U: Whitelist fw 1.0.2.95 2021-10-01 14:12:31 +02:00
Andreas Shimokawa
e3a4468bac Amazfit Bip U: Fix flashing firmware, res and fonts 2021-10-01 14:00:38 +02:00
daniele
a7f42f0c4f Add initial support for Nothing Ear(1) TWS (#2403)
Nothing Ear (1) are wireless earbuds that support active noise
suppression, transparency mode and several gestures.

This initial commit adds support for:
- reading battery level
- setting audio mode
- setting in-ear auto detection

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2403
Co-authored-by: daniele <daniele@noreply.codeberg.org>
Co-committed-by: daniele <daniele@noreply.codeberg.org>
2021-09-30 22:40:18 +02:00
vanous
2bd90a0d5a use native isToday method 2021-09-26 20:29:54 +02:00
vanous
dc42faa6fb Show ongoing activity snackbar only 'today' 2021-09-26 20:15:25 +02:00
vanous
3cde7eca7e add missing AbstractFitProActivitySample from entities (excluded by gitignore) 2021-09-24 10:00:36 +02:00
Andreas Böhler
264b003809 Fix connection on GBX-100 2021-09-23 18:28:45 +02:00
Arjan Schrijver
2d96328d1b Fossil Hybrid HR: Lower battery level warning threshold to 10% 2021-09-22 11:10:29 +02:00
Anemograph
d088c3d63f Added ringtone preference setting. 2021-09-21 21:03:37 +02:00
vanous
e00ee75ad2 adding FitPro bands support 2021-09-21 16:37:19 +02:00
vanous
b8855f16ee Ensure that slf4j is not used before being initialized, fixes #2394 2021-09-20 18:22:30 +02:00
vanous
6b10453714 Remove device specific Alarms upon device removal. 2021-09-19 17:55:54 +02:00
vanous
d6b5140519 Remove device specific preferences upon device removal. Also add this option to the Debug screen. 2021-09-18 22:28:58 +02:00
vanous
47b9e94858 exclude not worn sleep times also from sleep sessions
This ensures that the sleep sessions times and the charts times are now
equal (correct behavior). At the same time this causes the sleep
sessions to be visually broken up into more small pieces and therefore
it now more highlights the issue of the band (mostly) wrongly marking
some samples as not worn.
2021-09-17 18:05:58 +02:00
Andreas Shimokawa
92ce748202 Amazfit Bip S: Whitelist 2.1.1.72 and 2.1.1.76 firmware 2021-09-15 10:06:48 +02:00
vanous
27e2197c30 add Icelandic and Czech transliteration, fix 2388 2021-09-07 21:52:31 +02:00
Andreas Shimokawa
b99da8b596 Mi Band 6: really fix weather on new firmware 2021-09-03 15:50:42 +02:00
Andreas Shimokawa
eb8284f079 Mi Band 6: Fix watchface installation 2021-09-02 13:26:35 +02:00
Andreas Shimokawa
a24900bbcf Mi Band 6: Whitelist FW 1.0.4.38 2021-09-02 11:39:25 +02:00
Andreas Shimokawa
c965114c21 Mi Band 6: Add flashlight to menu items 2021-09-02 11:21:05 +02:00
Andreas Shimokawa
4242f5ccd4 Mi Band 6: Write to chunked2021 for old chunked types on new firmware (fixes music, weather and setting menu items) 2021-09-02 11:21:05 +02:00
Andreas Shimokawa
4a27825931 Mi Band 6: Send all old settings to new characteristics
This adds a compatibility wrapper to make it easier
2021-09-02 11:21:05 +02:00
Andreas Shimokawa
117cd57463 Mi Band 6: Support sending encrypted packets on new firmware 2021-09-02 11:21:05 +02:00
chklump
3b6f3b11bb Fix body_length overflow for long notifications.
The body_length field in the header is only one byte (byte 8). If it it is set to 256 it overflows to 0 wich results in a corrupt notification. So the maximum body length is 255.
2021-08-27 14:04:06 +02:00
Andreas Shimokawa
1bfec5b65f InifiniTime: Fix null being displayed on empty notifications 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
44fcd454a0 Mi Band 6: Make new auth protocol a setting for now 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
2c06e5d39c Mi Band 6 auth: add test, fix crypto 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
d352624629 Mi Band 6 auth: first full but nonworking version 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
1c6f055bef Mi Band 6 auth: Working jni call to generate keys 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
9bd8424f83 Mi Band 6 auth: first experiments 2021-08-26 10:59:53 +02:00
Arjan Schrijver
feadeb8139 Fossil Hybrid HR: Add power saving feature 2021-08-13 22:28:49 +02:00
Arjan Schrijver
2e3c409e02 Fossil Hybrid HR: Add timezone selector for 2nd TZ widget 2021-08-13 22:28:49 +02:00
Arjan Schrijver
9f2759a43c Fossil Hybrid HR: Add 2nd TZ, Active Minutes and Chance Of Rain widgets 2021-08-13 22:28:49 +02:00
Arjan Schrijver
478053288f Fossil Hybrid HR: Add battery and calories widgets 2021-08-13 22:28:49 +02:00
vanous
4dd8af6d24 HeartRate dialog: extend the enable check with supportsRealtimeData() 2021-08-09 17:45:52 +02:00
Andreas Shimokawa
5fb674f9ae Fossil Hybrid HR: Support setting metric/imperial mode
Fixes #2355
2021-08-09 16:32:42 +02:00
vanous
e6ae5e357e add Heart icon (trigger heart measurement) to device action icons 2021-08-08 11:12:08 +02:00
Andreas Shimokawa
e5caf78fb0 Assume timezone UTC for BLE time protocol
BLE protocol only sends a UTC offset which combines the TZ with DST, if we take
a local timezone as a base and add a raw offset with DST included, DST might
be added again.

This is to fix problems with recorded data on Huami devices where we cannot know
in which timezone data was recorded - only the offset, where we do not know if a
part of it is DST.
2021-08-06 01:05:51 +02:00
Gordon Williams
9222c6700e Add functions for pushing bitmaps to Bangle.js, also add configurable MTU. If we receive a bigger data packet then we know we can send a bigger one too 2021-08-04 16:41:06 +01:00
Andreas Shimokawa
a302b5509f Huami: re-enable setting the timezone correctly with included DST
This will trigger bugs, but also fix some.
We "just" need to fix the new bugs :/
2021-07-30 16:33:44 +02:00
Arjan Schrijver
35da8fcad0 Fossil Hybrid HR: Show progress bar while installing watchface 2021-07-22 22:04:31 +02:00
Arjan Schrijver
ba5c87e7a8 Fossil Hybrid HR: Add icon for inverting colors of background image 2021-07-22 13:09:00 +02:00
Arjan Schrijver
c91403fce3 Fossil Hybrid HR: Rename widget color definitions 2021-07-22 13:07:09 +02:00
Arjan Schrijver
dcf869b988 Fossil Hybrid HR: Confirm overwriting cached watchface 2021-07-21 21:27:58 +02:00
Arjan Schrijver
fb02fa2ee0 Fossil Hybrid HR: Add default Gadgetbridge-themed watchface background 2021-07-21 20:32:16 +02:00
vanous
383e096248 add System.exit(0) to quit() to ensure exit 2021-07-20 20:59:58 +02:00
Andreas Shimokawa
c4f12f548c Fix missing breaks in switch, should fix UM25 support 2021-07-20 12:11:44 +02:00
vanous
67726944c4 fix: apply theme as set by the system 2021-07-20 12:09:01 +02:00
x29a
5b2ca65321 Added support for SMA Q2 (#2215)
Hi,

i applied the changes from [Emeryths fork](https://github.com/Emeryth/Gadgetbridge) to master in order to get the [SMA Q2 smartwatch](https://hackaday.io/project/85463-color-open-source-smartwatch) support upstream.

It uses [his firmware](https://github.com/Emeryth/sma-q2-oss) (pretty/most popular for this device).

Greatly appreciate any feedback as this is my first attempt to add a device to GB :)

I read through the [tutorial](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/New-Device-Tutorial), are there other sources for adding new device support?

thanks!

Co-authored-by: x29a <0.x29a.0@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2215
Co-authored-by: x29a <x29a@noreply.codeberg.org>
Co-committed-by: x29a <x29a@noreply.codeberg.org>
2021-07-20 12:08:12 +02:00
Arjan Schrijver
a710f0f677 Fossil Hybrid HR: Drop widget on recycle bin to delete 2021-07-19 13:43:05 +02:00
Arjan Schrijver
8fabf0d038 Fossil Hybrid HR: Support configuring watchface internal values 2021-07-19 13:43:05 +02:00
Arjan Schrijver
6000dd525e Fossil Hybrid HR: Support widget color inversion 2021-07-19 13:43:05 +02:00
Arjan Schrijver
ceddaa0e8a Fossil Hybrid HR: Make hardcoded strings translatable 2021-07-19 13:43:05 +02:00
Arjan Schrijver
d4b5796267 Fossil Hybrid HR: Add drag&drop for widgets 2021-07-19 13:43:05 +02:00
Arjan Schrijver
d4c69ebca3 Fossil Hybrid HR: Add steps and HR widgets 2021-07-19 13:43:05 +02:00
Arjan Schrijver
6743af98e9 Fossil Hybrid HR: Replace hardcoded widget type radio buttons with generated dropdown 2021-07-19 13:43:05 +02:00
Arjan Schrijver
2b7fc8dee1 Fossil Hybrid HR: Add widget position presets and move widget dialog to layout XML 2021-07-19 13:43:05 +02:00
Arjan Schrijver
7d23044a45 Fossil Hybrid HR: Show widget previews in watchface designer 2021-07-19 13:43:05 +02:00
Arjan Schrijver
e4be137286 Fossil Hybrid HR: Move preview&save buttons to action bar 2021-07-19 13:43:05 +02:00
Arjan Schrijver
5ccfccaf40 Fossil Hybrid HR: Extend AbstractGBActivity for dark theme support 2021-07-19 13:43:05 +02:00
Arjan Schrijver
04cdb0573b Fossil Hybrid HR: Use text inputs for widget coordinates 2021-07-19 13:43:05 +02:00
Arjan Schrijver
fa89df562a Fossil Hybrid HR: Edit existing watchfaces from app manager cache 2021-07-19 13:43:05 +02:00
Arjan Schrijver
c77d3e49b1 Fossil Hybrid HR: Add file extensions to new assets 2021-07-19 13:43:05 +02:00
Arjan Schrijver
de403cf92e Fossil Hybrid HR: Add watchface designer 2021-07-19 13:43:05 +02:00
vanous
bcc5afb78c use '_' instead ':' in exported and imported file names 2021-07-18 18:21:00 +02:00
vanous
4a5d639d01 add GPX receiver via intent 2021-07-14 11:41:41 +02:00
vanous
fffe7e37c4 Allows to edit the GPX track entry in Sports Activity item 2021-07-14 11:41:41 +02:00
Andreas Shimokawa
603050b7cc InfiniTime: support notification for battery level 2021-07-08 23:46:18 +02:00
vanous
c5aaaec7e3 Add black background to Dark Theme 2021-07-06 21:04:27 +02:00
vanous
7c6e565367 add transliteration to BangleJS and WaspOS 2021-07-06 20:59:38 +02:00
vanous
dad7d66965 Remove battery data when device is being removed 2021-07-03 09:15:07 +02:00
vanous
809cd30f0e add transliteration to PineTime, solves #2334 2021-07-02 09:51:43 +02:00
TaaviE
e6cf7e111c Set the class loader to avoid unmarshalling errors 2021-07-02 09:15:26 +02:00
vanous
ad7fc6c5d0 Check ActivityListing charts for null condition, should fix #2322 2021-06-27 14:59:23 +02:00
vanous
24afee2de5 Debug: add testing device manually 2021-06-27 14:57:47 +02:00
Andreas Shimokawa
acb6de0983 Pebble: Fix inverted check for firmware version
Regression from 0.57.1.

This could help #2329
2021-06-27 00:22:05 +02:00
TaaviE
cd40478b3f Fixed a misspell and declared the conversion function as static 2021-06-20 14:57:22 +03:00
Andreas Shimokawa
7e7b0a0f28 Amazfit T-Rex Pro: Add barometer to menu items 2021-06-19 10:20:41 +02:00
Andreas Shimokawa
3c5c61ddea Amazit T-Rex Pro: minor cleanups, support flashig AGPS UIHH (assumed working for such a new device) 2021-06-13 23:07:58 +02:00
GeekosaurusR3x
685fc8b585 Amazfit T-Rex Pro: Fix for watch face upload and device settings (#2321)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2321
Co-authored-by: GeekosaurusR3x <geekosaurusr3x@noreply.codeberg.org>
Co-committed-by: GeekosaurusR3x <geekosaurusr3x@noreply.codeberg.org>
2021-06-13 22:58:00 +02:00
GeekosaurusR3x
00fe84d8cf Initial support for Amazfit T-Rex Pro 2021-06-12 21:19:16 +02:00
Andreas Shimokawa
f32c4d6a43 Support timezones with half an our offset (like UTC+5:30)
Should help #2283
2021-06-04 13:07:42 +02:00
Andreas Shimokawa
6526268804 Never show GPS or HW versions, just show FW2
The problem is that a lot of devices showed HR which had GPS, which confused people
2021-06-02 17:12:59 +02:00
Arjan Schrijver
ecb23f7a22 Fossil Hybrid HR: Block dangerous intents by default and move some settings to developer settings submenu 2021-06-01 09:38:59 +02:00
TaaviE
df3ee872ae Improved logging in bonding and tried to recover from weirdness 2021-05-30 01:00:48 +03:00
Dmitriy Bogdanov
6f79fc7afa Hide timestamp from device notifications 2021-05-29 23:17:40 +02:00
Dmitriy Bogdanov
436e5b5c70 Add a separate "low battery" notification channel 2021-05-29 23:17:40 +02:00
Dmitriy Bogdanov
b719f626c5 Rename notification channels 2021-05-29 23:17:39 +02:00
Dmitriy Bogdanov
e28beaae48 Refactoring: localize notification handling in GB
* Handle all notifications via GB.
* Create all notification channels in one place.
* Lazily init notification channels.
* Re-create notification channels to update their localized names.
2021-05-29 23:17:39 +02:00
Arjan Schrijver
25324c61b9 Fossil Hybrid HR: Use GB app manager (#2302)
This PR replaces (just for the Fossil Hybrid HR) the current watchface configuration screen with the native Gadgetbridge app manager. Bonus feature: when multiple watchfaces are installed on the watch, they can be switched by tapping on them.

Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2302
Co-authored-by: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-committed-by: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-05-29 16:42:32 +02:00
TaaviE
6403e13c9b SerializedName should be a bit more explicit and theoretically allows reflectionless deserialization 2021-05-29 15:26:05 +03:00
TaaviE
0b021d72ab Made the firmware version extraction a bit more robust and added annotations to keep data classes after optimizations 2021-05-29 15:01:35 +03:00
Andreas Shimokawa
348f459e3f Huami: Send "about you" preferences to device immediately when changing values
Closes #2297
2021-05-27 23:11:00 +02:00
Arjan Schrijver
9dac0a80c3 Fossil Hybrid HR: Add watch app and watchface support to install handler 2021-05-24 21:49:54 +02:00
Andreas Shimokawa
bba74cb5b4 Mi Band 6: Support unicode emoji being sent 2021-05-24 17:27:34 +02:00
Andreas Shimokawa
cbadb9c7ae Mi Band 6: allow firmware update
Also whitelist FW 1.0.1.36 which I just flashed though Gadgetbridge

Tracking Issue: #2263
2021-05-24 16:51:09 +02:00
Andreas Shimokawa
090e0c7b33 Mi Band 6: support flashing watchfaces
Tracking Issue: #2263
2021-05-24 15:47:27 +02:00
Daniel Dakhno
f68582eb46 Fossil HR: fixed last notification widget 2021-05-22 23:32:36 +02:00
Arjan Schrijver
9f459b1da9 Fossil Hybrid HR: Move commute actions to device specific settings 2021-05-22 22:28:26 +02:00
Andreas Shimokawa
268bbd341f Domyos T540C: update console when data changes 2021-05-18 19:15:04 +02:00
Andreas Shimokawa
f083e79f5d update changelogs 2021-05-17 12:17:23 +02:00
Andreas Shimokawa
8d21ae1177 Amazfit GTS2/GTR2: Fix installing watchfaces
Needs some more testing, but looks promising
2021-05-16 14:29:47 +02:00
Andreas Shimokawa
65f006d70b Amazfit GTS/GTR familiy: Allow flashing newer AGPS bundles
These are packed uuih files. POC code to generate them:

https://codeberg.org/Freeyourgadget/Gadgetbridge-tools
2021-05-15 22:47:38 +02:00
Andreas Shimokawa
083fdea225 Experimenting with the Domyos T540C treadmill 2021-05-11 14:30:25 +02:00
Andreas Shimokawa
5765407366 Amazfit Bip S: support flashing of new AGPS files with UIHH header
We do not know how to generate them yet.
But it was confirmed working with a file we reconstructed from a bluetooth hci dump
2021-05-11 12:10:40 +02:00
Arjan Schrijver
beb1597b75 Fossil Hybrid HR: Hide old settings on newer firmwares 2021-05-11 11:22:55 +02:00
Arjan Schrijver
be73e84829 Fossil Hybrid HR: Restructure settings menus for calibration, file management and physical buttons 2021-05-11 11:22:55 +02:00
jhey
58d3eaaa9f WIP initial Miband 6 support (#2277)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2277
Co-authored-by: jhey <jhey@noreply.codeberg.org>
Co-committed-by: jhey <jhey@noreply.codeberg.org>
2021-05-09 22:52:36 +02:00
Andreas Shimokawa
a1005ae479 Add "list wrist for background light" setting to Amazfit Neo settings
Closes #2285
2021-05-09 08:56:28 +02:00
TaaviE
e4d70ade2a Improved PineTime/InfiniTime firmware DFU metadata parsing and checks 2021-05-03 00:12:51 +03:00
Andreas Shimokawa
97a8aebdb3 Fossil Hybrid HR: Fix crash and connection problem when using non-ascii in quick replies 2021-04-29 22:38:44 +02:00
Arjan Schrijver
2f37d4c839 Fossil Hybrid HR: Dismiss incoming call with a quick SMS reply (#2264)
Merge branch 'master' into fossil_hr_quick_replies

Fossil Hybrid HR: Allow between 1 and 16 quick replies to be configured

Fossil Hybrid HR: Dismiss incoming call with a quick SMS reply

Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2264
Co-Authored-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-Committed-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-04-27 12:51:14 +02:00
beardhatcode
32a6049207 huami: send windspeed in beaufort (#2247)
fixup! huamni: send windspeed in beaufort

BipS: send windspeed as km/h

huami: Always send sunrise and sunset

There is no need to look at send_sunrise_sunset, this is peble spesific
because it could be annoying on that platform (an extra line in the
timeline). On huami devices, the watchface desides what to show.

Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>

Mi5: set supportsSunriseSunsetWindHumidity to true

Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>

huamni: send windspeed in beaufort

Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>

Co-authored-by: Robbert Gurdeep Singh <git@beardhatcode.be>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2247
Co-Authored-By: beardhatcode <beardhatcode@noreply.codeberg.org>
Co-Committed-By: beardhatcode <beardhatcode@noreply.codeberg.org>
2021-04-21 17:12:20 +02:00
Robbert Gurdeep Singh
2d7bd6ae7b clean: remove unused slots in calander for huami devices
If an event is deleted, it may still remain on the device without this
change
2021-04-21 16:38:36 +02:00
Arjan Schrijver
31d2563a18 Fossil Hybrid HR: Show correct notification icons (#2251)
Co-Authored-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-Committed-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-04-20 09:55:27 +02:00
Vianney le Clément de Saint-Marcq
12baabe3c7 Amazfit GTS2/GTR2: Send windspeed and sunrise/sunset 2021-04-07 17:59:30 +02:00
Vianney le Clément de Saint-Marcq
c1b7ce2308 Amazfit GTS2/GTR2: Fix menu items (#2249)
Amazfit GTS2/GTR2: Add missing menu items

Fixes #2193
Fixes #2230
Fixes #2242

Amazfit GTS2/GTR2: Fix setting menu items

At least on the GTR2e, including the "watchface" menu item causes the
configuration request to be ignored.  Assuming the other GTS2 and GTR2
variants behave the same, this patch ensures the forceWatchface argument
is set to false when setting display items.

Additionally, we now use the correct resource ID for the default
settings.

Co-authored-by: Vianney le Clément de Saint-Marcq <code@quartic.eu>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2249
Co-Authored-By: Vianney le Clément de Saint-Marcq <vianney@noreply.codeberg.org>
Co-Committed-By: Vianney le Clément de Saint-Marcq <vianney@noreply.codeberg.org>
2021-04-07 17:58:24 +02:00