1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-20 20:10:15 +02:00
Commit Graph

184 Commits

Author SHA1 Message Date
José Rebelo
fea3bf50a4 Zepp OS: Add loyalty cards integration with Catima 2023-07-03 23:19:19 +01:00
Lukas
6da6baa5e6 Add switch to control if the GPS chip should be used to locate the location 2023-06-22 21:37:55 +00:00
José Rebelo
c3c4c2ce74 Zepp OS: Add watch app logs developer option 2023-06-11 18:23:54 +01:00
José Rebelo
3716a031ce Zepp OS: Implement Alexa service protocol 2023-06-10 17:05:09 +01:00
José Rebelo
2b6a79f462 Zepp OS: Manage contacts on watch 2023-05-17 23:43:29 +01:00
José Rebelo
483ef27a4f Zepp OS: Set region on user info
This affects available features (eg. Alexa). Defaults to the previous
value of "unknown" for now, and no UI. Alexa requires a region where it
is available, such as Germany ("de").
2023-04-30 17:03:05 +01:00
José Rebelo
9a8e95bd18 Zepp OS: Set watchface from phone 2023-04-24 20:20:43 +01:00
José Rebelo
3c3936bf6a Zepp OS: Add shortcut cards preference 2023-04-24 19:12:22 +01:00
José Rebelo
340db0ca15 Amazfit GTR 4 / GTS 4: Perform and receive phone calls on watch 2023-04-02 18:50:58 +01:00
José Rebelo
f1dd4019bf Zepp OS: Add support for morning updates 2023-04-01 20:58:21 +01:00
José Rebelo
aeb8607e78 Amazfit GTR 4 / GTS 4: Add watch Wi-Fi Hotspot and FTP Server 2023-03-21 00:02:59 +00:00
José Rebelo
d6b1b778b8 Zepp OS: Add preference for camera remote 2023-03-19 22:35:02 +00:00
José Rebelo
00954dfa6d Zepp OS: Add config to keep screen on during workout 2023-03-19 22:25:44 +00:00
Andreas Shimokawa
74517f12a3 SoFlow SO6: First working lock&unlock
needs key
2023-02-21 16:09:23 +01:00
Arjan Schrijver
5ea68cad3b Fossil/Skagen Hybrids: Rewrite configuration of automatic workout detection
Fixes #2514
2023-02-06 14:22:40 +01:00
José Rebelo
17c58d2947 Amazfit GTR 4/GTS 4: Add AGPS Updates 2023-01-05 11:31:51 +00:00
José Rebelo
ff15fdaa9f Sony LinkBuds S: Initial support 2022-12-30 18:07:18 +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
José Rebelo
6c94ecce2e Zepp OS: Fix automatic default values for byte list preferences 2022-11-12 20:32:38 +00: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
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
d1ae6cf225 Zepp OS: Implement workout fetching 2022-10-02 16:07:21 +02:00
José Rebelo
11716c906b Allow 3rd party apps to set device settings 2022-09-25 11:55:48 +02:00
José Rebelo
f915ab5ebd Mi Band 7: Enable app support 2022-09-08 18:20:28 +02:00
José Rebelo
b21ffaa528 Make heart rate measurement intervals configurable per-device 2022-08-28 13:15:33 +02:00
José Rebelo
ba565df088 Xiaomi Smart Band 7: Initial support 2022-08-19 23:13:27 +02:00
NekoBox
ad38a32cc8 Implement Hourly chime which was added in firmware 1.1.2.46 2022-08-12 09:05:13 +02:00
José Rebelo
f7ecb5a867 Allow DeviceService to target a specific device 2022-08-05 21:34:15 +02:00
José Rebelo
03db850b3e Fix crash when device has no device specific settings 2022-07-28 11:17:58 +02: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
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
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
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
33d433d206 Make transliteration configurable per-language 2022-06-15 18:40:28 +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
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
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
José Rebelo
621e731d63 Go to previous PreferenceScreen on back actionbar option
Fixes #2692
2022-06-03 23:08:32 +01:00
vanous
22a9ad329e FitPro: fix crash, inactivity warning preference to string, after type enforcement in 3b348a5d5 2022-05-29 22:03:52 +02: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
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
José Rebelo
3b348a5d5d Huami: Move inactivity warnings and goal notification to device-specific settings 2022-05-16 10:33:02 +02:00
José Rebelo
b220fef74e Mi Band 5: Add notification vibration patterns 2022-05-14 16:11:26 +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
5c6edea233 Mi Band 5: Add support for World Clocks 2022-05-10 13:59:25 +02:00
José Rebelo
c74bbffb4d Mi Band 5: Add activate display on lift sensitivity 2022-05-09 17:58:55 +02:00
Daniel Dakhno
bf4e948c35 UM25: added notification on below current threshold 2022-04-15 02:08:51 +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
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
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
José Rebelo
d23b0a5b88 Sony WH-1000XM4: Initial Support 2022-01-12 10:36:07 +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
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
Daniel Dakhno
cab9ab714a Fixed bug on Preference Screen start 2021-12-26 15:40:12 +01:00
José Rebelo
33b5a6de38 Sony WH-1000XM3: Read information from device 2021-12-23 11:39:26 +01:00
José Rebelo
96d709bea1 Allow devices to update info, preferences and state 2021-12-20 11:29:21 +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
José Rebelo
710b6f6699 Mi Band 3: Add support for Reminders 2021-12-11 22:39:18 +01:00
José Rebelo
8416cb4e71 Sony WH-1000XM3: Disable device preferences conditionally 2021-12-10 17:38:23 +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
f8e5b88231 Sony WH-1000XM3: Abstract common Sony Headphones logic 2021-11-20 21:26:51 +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
vanous
fcb91fd544 Add support for Galaxy Buds Live 2021-11-12 18:01:50 +01:00
José Rebelo
bf5eebd411 Sony WH-1000XM3: Initial Support 2021-11-06 23:43:31 +00:00
vanous
678cf006e0 Move devicesettings_transliteration to settings of each device 2021-11-03 17:13:22 +01:00
vanous
da0c43f77d Galaxy Buds: adding initial support for Galaxy Buds 2019 2021-10-31 07:27:16 +01: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
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
e00ee75ad2 adding FitPro bands support 2021-09-21 16:37:19 +02:00
vanous
809cd30f0e add transliteration to PineTime, solves #2334 2021-07-02 09:51:43 +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
vanous
9fc02ff09b move transliteration to per device to DeviceCommunicationService, plus migration, fix #2237 2021-03-28 13:33:08 +02:00
Andreas Shimokawa
9dc4dde5e7 Amazfit Neo: Support sound settings 2021-03-24 20:02:48 +01:00
Arjan Schrijver
cff4b65fb8 Fossil Hybrid HR: Sync notification dismissals to watch (#2219)
Fossil Hybrid HR: Move check for autoremove_notifications pref to NotificationListener

Fossil Hybrid: Rename logger to LOG and replace printStackTrace calls

Keep and maintain list of notifications pushed to device

Fossil Hybrid HR: Make autoremove notifications toggleable in device settings

Fossil Hybrid HR: Sync notification dismissals to watch

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2219
Co-Authored-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-Committed-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-03-08 14:29:08 +01:00
andyboeh
02b85f4c11 Casio GBX-100: Add step count data and more device settings
Co-Authored-By: andyboeh <andyboeh@noreply.codeberg.org>
Co-Committed-By: andyboeh <andyboeh@noreply.codeberg.org>
2020-12-20 00:22:35 +01:00
Andreas Shimokawa
4fb79ac2b2 Huami: Add new option to disting to properly distinguish connected adverising and 3rd party hr exposure 2020-12-13 22:38:03 +01:00
vanous
98bb01dfa1 Make charts tabs selectable sortable 2020-11-28 23:42:30 +01:00
Andreas Shimokawa
8cb2fb980a Ímplement sorting menu items for newer Huami devices
- Amazfit GTR/GTS
- Amazfit Bip S
- Mi Band 5/Amazfit Band 5
2020-11-07 22:48:34 +01:00
Andreas Shimokawa
e1f2e0c830 Experiment with a draggable sort list.
I left the non-preference related dslv code untouched and took it from here

https://github.com/sbolotovms/drag-sort-listview
(This is one of many forks, which had migrated android to androidx)

The base for the code in DragSortListPreferenceFragment.java and
DragSortListPreference.java comes from:

https://github.com/kd7uiy/drag-sort-listview

I heavily modiefied it moved it to androidx
2020-11-07 22:48:34 +01:00
Daniel Dakhno
05a4c0ce68 Fossil HR: added long and double button presses 2020-10-13 03:06:05 +02:00
Andreas Shimokawa
0d49eaaf9e Pebble: move canned message to per-device settings (including migration)
This also cleans up some useless preferencehandlers that only change summary by
using app:useSimpleSummaryProvider="true" for EditText
2020-10-13 00:27:22 +02:00
opavlov
1ba454a89b refactored settings to "per-device" according to wiki 2020-10-11 17:24:11 +03:00