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

4276 Commits

Author SHA1 Message Date
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