José Rebelo
d56a42a424
Zepp OS: Prevent AGPS file upload under low MTU
2023-09-17 16:39:39 +01:00
José Rebelo
e855cfec08
Amazfit GTR Mini: Remove experimental, change AGPS updates to not use file transfer
2023-09-16 14:55:27 +01:00
José Rebelo
763ee10a6c
Fix support classes for some Amazfit devices
...
Affected devices:
- Amazfit Bip Lite
- Amazfit Bip S Lite
- Amazfit GTS 2 Mini
- Amazfit Pop
- Amazfit Pop Pro
2023-09-14 22:05:27 +01:00
Gordon Williams
c647c2647f
Bangle.js: Improve file downloads - we can now at least get files downloaded
2023-09-14 12:49:37 +01:00
Gordon Williams
e18a991b13
Bangle.js: ensure char code 255 is translated properly into a String - this can then be sent to the App Loader. Fixes https://github.com/espruino/EspruinoAppLoaderCore/issues/55
2023-09-14 11:07:05 +01:00
José Rebelo
2bd1cc332f
Log error when bonding fails immediately
2023-09-13 20:19:19 +01:00
José Rebelo
9401b61a02
Allow text to be shared to devices
2023-09-11 13:28:37 +00:00
Arjan Schrijver
557bfea35c
Add lint baseline, enable linting on CI, fix some reported errors ( #3291 )
...
This PR:
- fixes some errors reported by `gradlew lint` and the Android Studio "Code Inspection" tool
- adds a snapshot file `lint-baseline.xml` of the remaining lint errors and warnings to be used by the linter as baseline
- adds a job for CI to run `gradlew lint` on every build
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3291
Reviewed-by: José Rebelo <joserebelo@noreply.codeberg.org>
Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Co-committed-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
2023-09-11 09:17:04 +00:00
José Rebelo
7359186cee
Zepp OS: Fix Alexa initial connection
2023-09-10 22:57:23 +01:00
José Rebelo
43d02b9661
Zepp OS: Parse SPO2 sleep data
...
Matched against the Zepp spo2 database
2023-09-10 16:58:40 +01:00
José Rebelo
1ac6983cd3
Amazfit Bip 5: Add new deviceSource
2023-09-08 21:38:22 +01:00
José Rebelo
c912ea0378
Zepp OS: Send UV Index as integer
2023-09-04 21:25:12 +01:00
José Rebelo
50c474e9ef
Fix crash when timezone has no next DST transition
2023-09-04 14:12:59 +01:00
José Rebelo
4c7cb1cadc
Fix ACTION_DST_CHANGED action
2023-09-02 11:08:19 +01:00
José Rebelo
a4c79a9395
Attempt to fix DST changes
2023-09-02 10:13:14 +01:00
illis
56fd2f8430
Give a more accurate representation of gps speed when manually calculating.
...
Dividing early makes us lose alot of precision.
2023-08-31 08:19:36 +12:00
illis
fa5e91f966
Fix GPS getSpeed issue for devices that report hasSpeed as true, yet only return a 0 value for speed.
2023-08-31 08:19:36 +12:00
illis
600658d86b
bangle.js: Use GPS location time, when reporting gps events, instead of the time at transmission.
2023-08-30 23:51:07 +12:00
José Rebelo
2051ce2055
WeatherSpec: Fix typo in getLocation
2023-08-29 00:14:35 +01:00
Arjan Schrijver
d10745b0b3
Add getLocation method to WeatherSpec and use it for Zepp OS and Fossil/Skagen
2023-08-27 20:19:15 +00:00
José Rebelo
6d828260d0
WeatherSpec: Add some docs for AirQuality
2023-08-27 19:51:44 +01:00
José Rebelo
200cfdf29a
Revert "Amazfit Bip 3 Pro: Enable HR stats and sleep respiratory rate"
...
Per the feedback on #3249 , this does not seem to be supported.
This reverts commit 42f35259fc
.
2023-08-27 17:45:57 +01:00
José Rebelo
88b72d51c8
Zepp OS: Use WeatherSpec gps coordinates for sunset if available
2023-08-27 16:23:32 +01:00
José Rebelo
495a8dec89
Zepp OS: Map WeatherSpec v4 fields
...
- Map hourly values
- Fix sunset and sunrise location
- Add moon rise, set and phase
- Add air quality
- Add wind speed, wind direction, visibility, pressure
2023-08-27 15:13:57 +00:00
José Rebelo
564cb1bfcc
Introduce WeatherSpec v4
...
New fields for current weather:
- dewPoint
- pressure
- cloudCover
- visibility
- sunRise
- sunSet
- moonRise
- moonSet
- moonPhase
- airQuality
- latitude
- longitude
- feelsLikeTemp
- isCurrentLocation
New fields for daily forecast:
Deprecate the old "Forecast" class, which was not versioned, but keep it for backwards compatibility with old apps. Old WeatherSpec forecasts are de-serialized into the new Daily class. New fields:
- windSpeed
- windDirection
- uvIndex
- precipProbability
- sunRise
- sunSet
- moonRise
- moonSet
- moonPhase
- airQuality
Add hourly values:
- timestamp
- temp
- conditionCode
- humidity
- windSpeed
- windDirection
- uvIndex
- precipProbability
Air Quality:
- aqi (plume)
- co
- no2
- o3
- pm10
- pm25
- so2
- coAqi
- no2Aqi
- o3Aqi
- pm10Aqi
- pm25Aqi
- so2Aqi
2023-08-27 15:13:57 +00:00
Patric Gruber
b7e6a39ec1
use proper Optional
2023-08-26 19:39:05 +00:00
Patric Gruber
d0c602d243
overwrite supportsManualHeartRateMeasurement
2023-08-26 19:39:05 +00:00
Patric Gruber
67eac90f69
merge new activity samples with samples from database on overlap
2023-08-26 19:39:05 +00:00
Patric Gruber
86f77e05a9
remove unnecessary type conversion
2023-08-26 19:39:05 +00:00
Patric Gruber
70a8ca5067
add heart rate measurment support for infinitime
2023-08-26 19:39:05 +00:00
José Rebelo
42f35259fc
Amazfit Bip 3 Pro: Enable HR stats and sleep respiratory rate
2023-08-26 17:52:10 +01:00
José Rebelo
7e848d19fb
Zepp OS: Handle watchface change
2023-08-26 15:47:04 +01:00
José Rebelo
55d0697c44
Huami: Display explicit error if there is not enough free space
2023-08-26 12:14:23 +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
c01a33077e
Huami: Enforce a maximum of 16 items on the main screen
2023-08-25 13:58:32 +01:00
José Rebelo
20d0d61ed8
WeatherSpec: Add a note on forecasts list
2023-08-23 16:16:40 +01:00
José Rebelo
da779e9864
Zepp OS: Improve weather code mapping
2023-08-23 15:48:26 +01:00
José Rebelo
fe58d64192
Zepp OS: Fix weather
2023-08-23 15:08:16 +01:00
José Rebelo
2320043c00
Fix min temp in cached weather data debug popup
2023-08-22 17:38:33 +01:00
José Rebelo
74dc0f70a6
Contacts: Migrate to ActivityResultContracts
2023-08-21 21:48:03 +01:00
José Rebelo
36e357ba67
Zepp OS: Add Alexa shortcut card
2023-08-21 15:55:58 +01:00
Arjan Schrijver
7c55f5df86
Upgrade cached weather old style dialog to Material 3 dialog
2023-08-20 22:20:14 +02:00
José Rebelo
50f962c520
Show UV Index and precip probability for cached weather
2023-08-20 10:01:15 +01:00
Kamalei Zestri
a0424527d5
Fixed formatting and unneccessary code
2023-08-20 08:56:29 +00:00
Kamalei Zestri
ff19ceeae8
Add "Showed Cached Weather" function to Debug menu
2023-08-20 08:56:29 +00:00
Daniel Dakhno
73d67d4093
Fossil/Skagen Hybrids: Embed menu_structure in watchface apps ( #3245 )
...
This PR aims to optimize the method of synchronizing the menu_structure for the openSourceWatchface by making the menu_structure request from the watch obsolete.
Instead, when a new menu_structure is sent to GB via the Intent `nodomain.freeyourgadget.gadgetbridge.Q_SET_MENU_STRUCTURE`, GB remembers that JSON.
Next time a watchface is built, the JSON is embedded into that app package so the watch doesn't forget the structure.
This requires a full GB rebuild to work properky.
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3245
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2023-08-19 20:48:53 +00:00
José Rebelo
454d766e88
Zepp OS: Add all remaining devices as experimental
2023-08-18 12:16:36 +01:00
José Rebelo
e5faf518ea
Add support for experimental devices
2023-08-18 12:16:36 +01:00
José Rebelo
0a19f88a3f
Amazfit Bip 3 Pro: Fix device icon for square device
2023-08-18 12:16:36 +01:00
José Rebelo
3fae1accb1
Zepp OS: Send calendar event location
2023-08-18 08:54:07 +01:00
Raghd Hamzeh
c8e19a2466
feat: add initial support for Amazfit Cheetah Pro
2023-08-16 22:19:48 -04:00
Ascense
14df63854f
Withings Steel HR: Support setting device language
2023-08-16 12:43:57 +00:00
José Rebelo
b1bedfaa56
Keep charts current date on config changes
2023-08-16 13:42:44 +01:00
José Rebelo
b297e767ad
Amazfit Bip 3 Pro: Initial support
2023-08-16 12:27:00 +01:00
José Rebelo
515b9efce8
Zepp OS: Fix calendar sync for Zepp OS 2
2023-08-14 18:40:39 +01:00
José Rebelo
d6567e553f
Zepp OS: Map barcode types for ITF, PDF_417 and DATA_MATRIX
2023-08-14 14:12:46 +01:00
José Rebelo
19e7003c95
Zepp OS: Query calendar service version
2023-08-14 10:16:40 +01:00
José Rebelo
0e06bde741
Zepp OS: Enable AGPS updates for all devices
2023-08-12 13:25:19 +01:00
José Rebelo
13af55bd2e
Zepp OS: Add Zepp Coach display item and shortcut card
2023-08-12 13:18:20 +01:00
José Rebelo
ee5325418a
Zepp OS: Fix shortcut cards setting on Zepp OS 2.1
2023-08-12 13:18:20 +01:00
Arjan Schrijver
c9bbc05674
Show warning when choosing dynamic theme but dynamic colors are not supported by Android
2023-08-12 10:52:12 +02:00
José Rebelo
3799c51dc3
Add preference to display changelog on startup
2023-08-09 20:00:47 +01:00
José Rebelo
7fb34eb262
Build nightly changelog from git
2023-08-09 20:00:47 +01:00
José Rebelo
942e853ca7
Prevent display of empty changelog
2023-08-09 19:37:27 +01:00
José Rebelo
180ed42ee1
Bangle.js: Handle fw and hw versions
2023-08-09 09:09:52 +01:00
José Rebelo
a95820d09e
Bangle.js: Fetch activity data
2023-08-08 22:11:14 +01:00
José Rebelo
f97250d46b
Upgrade ZeTime settings to androidx
2023-08-08 20:14:27 +01:00
José Rebelo
f0067ebeae
Upgrade Mi Band preferences to androidx
2023-08-08 20:10:05 +01:00
José Rebelo
61a78c0ad8
Move user name to about user preferences
...
- Remove from Mi Band prefs
- Remove fitness goal from mi band prefs - it's also un the about user
section
- During pairing, direct user to the about user if there is invalid data
2023-08-08 20:10:05 +01:00
José Rebelo
4688f7d43c
Fix chart legend text color on dark theme
2023-08-08 08:47:26 +00:00
Arjan Schrijver
ee4f3fabcf
Fix widget device choice dialog behaviour
2023-08-08 08:47:26 +00:00
José Rebelo
88ebbdad7a
Fix changelog background color to match dialog
2023-08-08 08:47:26 +00:00
Arjan Schrijver
225d466a7b
Make widgets configuration activities adhere to configured style
2023-08-08 08:47:26 +00:00
Arjan Schrijver
73f949fc8c
Upgrade remaining CardViews to MaterialCardView
2023-08-08 08:47:26 +00:00
Arjan Schrijver
eb896dcd57
Fix preference input type enforcement
2023-08-08 08:47:26 +00:00
Arjan Schrijver
b6e252c4c1
Switch UI to Material 3 and support dynamic colors
2023-08-08 08:47:26 +00:00
Arjan Schrijver
5a1e56a81e
Fossil/Skagen Hybrids: Fix unused alarms being pushed to the device
2023-08-07 15:27:25 +02:00
José Rebelo
2bda160fb5
Bangle.js: Allow enable/disable alarms
2023-08-06 00:23:05 +01:00
Daniele Gobbetti
063fb31931
Garmin VivoMoveHR: prevent app crash
...
Use a more robust cast approach to prevent application crashes in some corner cases (e.g. when writing Math.round()ed values)
Since I don't own a VivoMoveHR device I couldn't test for regressions on the watch.
2023-08-04 17:57:46 +02:00
Arjan Schrijver
e305a9133f
Fossil/Skagen Hybrids: Add input types to watchface/widget settings
2023-07-31 21:31:42 +02:00
Simon Sievert
0ae14fb80a
Bangle.js: Put JSON keys in quotes
...
this allows the watch to work with gadgetbridge while 'programmable' is set to off
2023-07-29 15:03:47 +02:00
José Rebelo
2d7a6b80eb
Migrate Loyalty Cards preferences to AbstractSettingsActivityV2
2023-07-28 22:47:39 +01:00
José Rebelo
fe95d9aaa8
Fix disable log preference if log file not initialized
...
Regression introduced by 01b457895
2023-07-28 21:31:48 +01:00
José Rebelo
f3c74267c5
Set OpenTracks selection spinner to current package
2023-07-28 20:21:53 +00:00
José Rebelo
47a757bd91
Set default name for database export file
2023-07-28 20:21:53 +00:00
José Rebelo
f9ef3f47ab
Extract Pebble and HPlus settings to standalone activities
2023-07-28 20:21:53 +00:00
José Rebelo
e068bfdb75
Fix crash when acquiring location
2023-07-28 20:21:53 +00:00
José Rebelo
12b5ec8415
Upgrade Settings to androidx
...
- Extend AbstractSettingsActivityV2
- Replace all checkbox preferences with switch preferences
- Add app:useSimpleSummaryProvider to all preferences that were in getPreferenceKeysWithSummary
- Add null checks on all prefs to fix crashes in nested preference screens
- Replace listeners with lambdas to reduce code indentation
- Set input type to number where relevant
2023-07-28 20:21:53 +00:00
José Rebelo
f4b059f173
Introduce AbstractSettingsActivityV2
...
This class introduces some of the common logic across preference
screens, handling nested PreferenceScreens, as well as the back button
and action bar title setting.
2023-07-28 20:21:53 +00:00
José Rebelo
597373f126
Allow filtering notifications from work profile apps
2023-07-28 18:53:50 +01:00
José Rebelo
078d3e2a55
Make application list sorting case-insensitive
2023-07-28 18:50:02 +01:00
José Rebelo
48ee259d89
Bangle.js: Reorganize device settings
2023-07-27 18:38:15 +01:00
hrglpfrmpf
c1fd0b77ad
Support for Withings Steel HR ( #2831 )
...
Co-authored-by: hrglpfrmpf <hrglpfrmpf@web.de>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2831
Co-authored-by: hrglpfrmpf <hrglpfrmpf@noreply.codeberg.org>
Co-committed-by: hrglpfrmpf <hrglpfrmpf@noreply.codeberg.org>
2023-07-26 17:20:43 +00:00
José Rebelo
606e20a065
Amazfit GTR/S 3: Enable AGPS Updates
2023-07-25 21:47:12 +01:00
José Rebelo
69ae0817cf
Upgrade Q-Hybrid watchface settings to androidx
2023-07-25 20:52:39 +01:00
José Rebelo
bac1d35479
Upgrade notification settings to androidx
2023-07-25 19:52:12 +01:00
Daniele Gobbetti
53c06b8c31
Introduce native app shortcuts for android > 30
2023-07-25 18:28:35 +02:00
Daniele Gobbetti
540a4499f6
Miband 6: enable PAI and Stress support
2023-07-25 18:23:15 +02:00
José Rebelo
cac92fdc26
Upgrade discovery and pairing preferences to androidx
2023-07-25 12:24:42 +01:00
Gordon Williams
1b281c7c62
Fixing SecurityErrors on Android 12+ discovered via Play Store (after API31 update)...
...
* Check for bluetooth permissions in DiscoveryActivity
* At startup we now pop up a dialog explaining why we want *any* permissions
* Fixing ControlCenterv2 permissions requests for Android S and later (requesting background location stopped *any* dialog appearing)
* Fixing all errors in DiscoveryActivity from Android Studio by catching errors
* Move permission requests around to ensure that we only call RequestMultiplePermissions from onCreate
* Only show dialog if we have permissions to request
* Fix "LifecycleOwners must call register before they are STARTED" on some Android devices: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3192/files#issuecomment-967267
2023-07-25 11:50:53 +01:00