1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-09 23:21:34 +02:00
Commit Graph

170 Commits

Author SHA1 Message Date
Martin.JM
89b6ae9f24 Add more granular smart wakeup support
Specifically:
- Add position to smart wakeup support coordinator function
- Add interface to stop smart alarm checkbox from being changed
2024-02-18 17:24:29 +01:00
FYG_license_bot_ignore_me
4c7476845b Update license headers and CONTRIBUTORS file 2024-01-10 19:01:48 +01:00
José Rebelo
03dbf7533f Xiaomi: Get canned messages from watch 2023-12-06 11:18:13 +00:00
Andreas Böhler
6ef6c9be43 Fix Bonding for the Casio GB5600/6900/STB-1000 series 2023-11-25 22:46:45 +00:00
José Rebelo
dcf2629854 Remove scanning intensity preference and legacy discovery activity
The refactored DiscoveryActivityV2 does not freeze anymore, even under
maximum scanning intensity on older phones, and seems to not have
introduced any regressions.
2023-10-06 22:16:58 +01:00
Daniel Dakhno
ef1d38d9d3 Device Manager: replaced getSupportedType with supports method
Huami: introduced getSupportedDeviceName

Huami: implemented getSupportedDeviceName

Huami: fixed typo

Device manager: added error on empty getSupportedDeviceName and empty supports()

Device manager: migrated more devices to getSupportedDeviceName

Device manager: simplified default supports implementation

Device manager: added caching for getSupportedDeviceName pattern

Device manager: added caching DeviceType resolution

Device manager: changed pattern matching find()->matches()

Device manager: use Candidate as caching key

Device manager: more verbose variable initialization

Device manager: fixed typo

Device manager: removed device caching from DeviceHelper

Gradle: removed protoc binary

Device manager: moved more devices to getSupportedDeviceName

Device manager: reduced usages of String.format

Device Vesc: removed multiple device types

Device management: regex improvements

Makibes HR3: fixed device recognition regex
2023-10-05 20:34:53 +00:00
Daniel Dakhno
b97b26ce3a Device manager: moved device icons and name to Coordinator 2023-09-28 00:11:02 +03:00
José Rebelo
e078ceff0a Introduce DiscoveryActivityV2 2023-09-19 20:45:14 +01:00
José Rebelo
a85246c279 Use GBDeviceCandidate#getName on all coordinators 2023-09-19 20:45:13 +01:00
José Rebelo
6f7fb261e7 Move Discovery activities to standalone package 2023-09-19 20:44:42 +01:00
Daniel Dakhno
e36bd2eae7 Core: replaced device initialization logic with class based decision
Core: cleaned up imports

Device management: try single-argument-constructor first

Device management: fixed wrong device support class

Device management: added missing initial flags for Mi band 2 HRX

Device management: removed unused import

Device management: removed unused import

Device management: improved exception handling

Device management: prevent constructors from being optimized out

Device management: added UnknownDeviceSupport
2023-08-26 08:14:06 +00:00
José Rebelo
f9ef3f47ab Extract Pebble and HPlus settings to standalone activities 2023-07-28 20:21:53 +00:00
Damien 'Psolyca' Gaignon
a3c0e10330
Add GBDevice argument to getAlarmSlotCount 2023-06-13 23:10:55 +02:00
José Rebelo
8ff3ce0477 Zepp OS: Add experimental app management 2023-06-10 23:31:38 +01: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
José Rebelo
152f19575f Make calendar blacklist configurable per device 2022-07-05 19:58:21 +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
vanous
678cf006e0 Move devicesettings_transliteration to settings of each device 2021-11-03 17:13:22 +01:00
TaaviE
e6cf7e111c Set the class loader to avoid unmarshalling errors 2021-07-02 09:15:26 +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
df3ee872ae Improved logging in bonding and tried to recover from weirdness 2021-05-30 01:00:48 +03: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
Andreas Shimokawa
54409fbe55 Pebble: Make use of new generic per-device autoremove notification setting 2021-03-08 15:05:33 +01:00
License Bot
1b5402dcb4 update license headers 2021-01-10 23:38:13 +01:00
TaaviE
09eb470b64 Renamed removeBroadcastReceivers to a more correct name 2020-12-28 22:03:41 +01: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
TaaviE
6cd59fbd24 Refactored all pairing and bonding activities (#1989)
Fixed a few warnings

Refactored all bonding and bonding activities

Co-authored-by: TaaviE <taavi.eomae+github@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1989
2020-08-28 15:38:18 +02:00
TaaviE
f9dc625c5c Printed a few rather fatal exceptions in case they happen for easier debugging (#1946)
Removed a few more occurrences of double logging

Removed double logging

Printed a few rather fatal exceptions in case they happen for easier debugging and a few other small cleanups

Co-authored-by: TaaviE <taavi.eomae+github@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1946
2020-08-02 10:55:06 +02:00
Andreas Shimokawa
53f5439444 Start implementing device aliases (#1888) 2020-06-12 18:04:53 +02:00
License Bot
d6fa5d0dd5 Update license headers 2020-01-09 10:44:32 +01:00
License Bot
beedb653e6 Update license headers 2019-02-13 20:43:31 +01:00
Daniele Gobbetti
75d3dffb14 Migrate to androidx support libraries and bump compile SDK version
"Optimize imports" has been run on all source files, there might be
unrelated changes, but these should be harmless.
2019-01-26 16:00:56 +01:00
Andreas Shimokawa
e9982ccd56 remove supportsAlarmConfiguration() in favor of getAlarmSlotCount()
Coordinator that do not support alarms return 0 anyway.
2019-01-11 23:26:00 +01:00
Matthieu Baerts
8d78c45e7d messages: convert emoji's to supported chars
Some devices don't support emoji's and display a series of `?` chars.
Instead of that, replace them by `:<emoji>:` text, e.g. `A 🐱` is
replaced by `A 🐱`.

This is done by using 'android-emojify' project and their
`EmojiUtils.shortCodify(text);` function.

For more details about this lib released under MIT license:

    https://anitrend.github.io/android-emojify/
2018-12-23 12:52:49 +01:00
Andreas Shimokawa
740cf103f6 Initial support for per-device alarms and raising the number of available alarms
TODO:
- Fix alarm widget (how can we get the deviceId?)
- Get rid of GBAlarm in favour of DAO generated Alarm class
- Find better defaults
- Bonus: migrate old preferece based shared settings
2018-11-24 12:16:47 +01:00
License Bot
696653eabf Update contributors list and license headers. 2018-08-29 21:30:23 +02:00
Andreas Shimokawa
da58e22afe Only start MusicPlaybackReceiver if device supports music info
Also block sending music info in HuamiSupport if device does not support it
2018-08-07 12:44:00 +02:00
José Rebelo
a43934651a
Allow devices to not support being found 2018-07-27 14:38:33 +01:00
Daniele Gobbetti
2147ab4948 Revert "Revert "remove unused getPrimaryActivity() from coodinators, mark Mi Band HRX as non-heartrate""
This reverts commit 63231ec49a.

Please note that the comment of the reverted commit was inaccurate, as the Mi Band HRX was left untouched by it
and is left untouched byt this commit.
2018-07-27 15:13:21 +02:00
cpfeiffer
63231ec49a Revert "remove unused getPrimaryActivity() from coodinators, mark Mi Band HRX as non-heartrate"
This reverts commit 495ba81edc.

See discussion in https://github.com/Freeyourgadget/Gadgetbridge/issues/1165
2018-07-27 13:15:10 +02:00
License Bot
238bacde9f Update license headers 2018-02-26 14:27:33 +01:00
cpfeiffer
e159a5dde3 Cleanup, deduplication, null-handling fixes 2018-01-13 21:08:51 +01:00
Andreas Shimokawa
f0ac296492 Initial support for cyanogenmod/lineage weather provider
TODO:
- also reconstruct json for Pebble background js fake replies
- find a better location for settings
- interatively display candidates when looking up location
- grey out setting on non-cm/los devices
2017-12-11 19:09:37 +01:00
Andreas Shimokawa
495ba81edc remove unused getPrimaryActivity() from coodinators, mark Mi Band HRX as non-heartrate 2017-10-23 13:44:38 +02:00
Daniele Gobbetti
e8ae47de79 Pebble: Make background JS support toggle-able
- Add preference to enable background JS (default disabled)
- Remove the dummy activity used to create the webview, use ExternalPebbleJSActivity instead
- Add layout for legacy configuration, used if background JS is not enabled
- Create the view upon connecting, not when launching the application
- Remove the generic helpers used to find out if any device would need the background webview
- Drastic refactoring of WebviewSingleton moving internal classes in a new package "webview" in service/devices/pebble
2017-09-25 17:12:35 +02:00
Daniele Gobbetti
bb962001a5 Merge branch 'master' into background-javascript
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java
2017-09-03 16:49:27 +02:00
cpfeiffer
962720145e Fix custom language being lost for newly created activities
So we do need to set the language both on change and onCreate()

For some reason, the title bar of the SettingsActivity is not updated on recreate().

Closes #787
2017-09-03 01:04:34 +02:00
Andreas Shimokawa
eb7e635cdc Merge branch 'master' into background-javascript 2017-07-15 23:07:46 +02:00
Andreas Shimokawa
a4e35b49b2 Only show realtime chart on device supporting it 2017-06-02 21:59:46 +02:00