1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-17 02:44:04 +02:00
Commit Graph

1313 Commits

Author SHA1 Message Date
Andreas Böhler
df6547c287 Improve find device service (now always beeps) 2019-01-28 20:25:32 +01:00
Andreas Böhler
510d13037a Add alarm configuration and fix a few small bugs 2019-01-28 20:25:16 +01:00
Andreas Shimokawa
dad7ba7aaa Mi Band 3: Enable fetching sports activities and add "Exercise" type to generic code 2019-01-28 00:22:11 +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
4060efeeca Mi Band 3: Whitelist Firmware 2.2.0.42 2019-01-21 23:01:15 +01:00
Andreas Shimokawa
b4bbf6186c Catch SecurityException when Notfication access was not granted when getting media session
Fixes #1387
2019-01-10 17:30:49 +01:00
Johann C. Rode
00dfcd1564 fix typo 2019-01-07 23:53:00 +01:00
Johann C. Rode
f613926ce0 rectify (c) 2019-01-07 23:53:00 +01:00
Johann C. Rode
9d7b1fd6b7 Added support for popular Pebble watchfaces RealWeather and YWeather, fixed some typos 2019-01-07 23:53:00 +01:00
cpfeiffer
903b50c2c5 Improved DB-based alarms
- got rid of GBAlarm
- added migration for prefs-based alarms
- various cleanups
2019-01-07 01:15:49 +01:00
Andreas Böhler
cf870bff8a Add handler thread to poll TX power level, properly use performInitialized(), correctly terminate threads 2019-01-06 11:31:50 +01:00
Andreas Böhler
0009badd71 Fixes from Code Review 2019-01-06 11:31:50 +01:00
Andreas Böhler
76aebd4e20 Add support for displaying music info 2019-01-06 11:31:50 +01:00
Andreas Böhler
81df586fbd Fix music controls 2019-01-06 11:31:50 +01:00
Andreas Böhler
2c2d07067d Add initial support for Casio GB-6900B 2019-01-06 11:31:50 +01:00
cpfeiffer
fb85326939 performConnected() -> builder.qeueue(getQueue()) 2019-01-03 00:44:34 +01:00
jcrode
c69be1f94b Pebble: add support for weather information for watchface M7S
Watchface name: Multifunctional Seven Segment 
Repo: https://github.com/cfg1/pebble-mss
2018-12-27 16:20:29 +01:00
Matthieu Baerts
22904667b8 emoji: do a lazy initialisation
The goal is not to slowdown the startup but also to do this
initialisation only when it is needed.

Suggested-by: cpfeiffer
2018-12-23 23:39:09 +01:00
Matthieu Baerts
c845e16cfa amazfitbit support: fix typo
senderOrTiltle -> senderOrTitle
2018-12-23 12:52:49 +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
Daniele Gobbetti
87d41bf09f Amazfit Cor: Whitelist firmware 1.7.20 and res 69 (stable) 2018-12-19 20:33:41 +01:00
Andreas Shimokawa
0e6c0e8926 Mi Band 3: Whitelist FW 2.2.0.14
Closes #1365
2018-12-16 16:11:43 +01:00
Andreas Shimokawa
b020d59f54 Implement factory reset feature in debug activity
Implemented for Mi Band 1/2/3, Cor, Bip

Could be implemented for Pebble by deleting all blobdbs etc

Related to #109
2018-12-16 16:06:12 +01:00
Andreas Shimokawa
29a5878d22 Mi Band 3: Whitelist FW 2.2.0.12
Closes #1353
2018-12-09 17:55:29 +01:00
Andreas Shimokawa
983bc606a4 Amazfit Bip: Allow flashing latest (beta?) GPS firmware
Closes #1358
2018-12-09 17:26:56 +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
Andreas Shimokawa
59f8e72410 Notification actions refatoring and fixes
- Fixes "Mute, Open, Dismiss" to work again on pebble
- Greatly reduces complexity in PebbleProtocol, since all logic for adding specific reply actions to notification have been moved to generic code

Fixes the rest of #1336 (the part that says "Additionally, dismissing a notification on the watch no longer dismisses it on the Android device")
2018-11-15 15:53:04 +01:00
Andreas Shimokawa
d6a06d0c16 Amazfit Bip: Whitelist Firmware 1.1.5.04
Closes #1333
2018-11-13 19:34:03 +01:00
Andreas Shimokawa
3207d32818 Amazfit Bip: Whitelist Firmware 1.1.5.02 2018-11-08 17:53:24 +01:00
Andreas Shimokawa
3f062e5732 Amazfit Bip: Attempt fixing GPS tracks recorded with latest firmware 2018-11-08 17:13:00 +01:00
Andreas Shimokawa
10b982f0ea Pebble: Proper fix for crash when no replies are set
Also:
- Support for multiple reply actions with canned replies (there must have been a crash before)
- When no replies are set use the firmware internal defaults

Fixes #1323
2018-11-08 08:36:37 +01:00
Andreas Shimokawa
8b3ba38344 Mi Band 3: Whitelist FW 2.0.0.4 2018-11-08 07:12:49 +01:00
Andreas Shimokawa
78addcb75c Pebble: try to prevent crash when no canned replies have been set 2018-11-07 22:02:58 +01:00
cpfeiffer
5644ae5925 Display measured hr value in Debug activity + cleanup
Fixes #1320
2018-11-05 23:27:29 +01:00
Andreas Shimokawa
61872b7bbd Mi Band 3/Amazfit Bip/Amazfit Cor: Send Fahrenheit if units are set to imperial
Closes #1315
2018-11-03 20:44:30 +01:00
Andreas Shimokawa
fcfcc5cb0b Pebble: unify code for 2.x and >= 3.x notification encoding
Not very clean but deduplicated a lot of code which was no longer maintainable twice
2018-11-02 21:10:31 +01:00
cpfeiffer
effffddd8d fixed lgtm warnings 2018-11-02 00:09:30 +01:00
José Rebelo
ca32a2b5ac Start new activity with FLAG_ACTIVITY_NEW_TASK (fixes #1306) 2018-11-01 22:49:02 +01:00
cpfeiffer
7e9a9ca875 Added a TODO 2018-11-01 22:05:38 +01:00
cpfeiffer
435898ebc9 Move MiBand3-ism to MiBand3Support 2018-11-01 22:05:38 +01:00
Daniele Gobbetti
549dfce2e7 Pebble: generalize handling of incoming actions (from watch)
Also add missing casts back to int in NotificationListener
2018-11-01 19:40:26 +01:00
Andreas Shimokawa
7c0c50e960 Pebble: fix non-working SMS reply regression 2018-11-01 19:12:43 +01:00
Andreas Shimokawa
5fc2a704a3 Pebble: Always allow reply action even if untested features are turned off 2018-11-01 17:02:33 +01:00
Andreas Shimokawa
f05cc83848 Pebble: set MIN_ACTION_LENGTH = 6, which is correct 2018-11-01 16:02:29 +01:00
Andreas Shimokawa
f3e16c5b1d Pebble: Fix regression causing "Open on Phone" and "Dismiss" to appear on Pebble notification with no corresponding Android notification (i.e. PebbleKit notifications) 2018-11-01 14:55:14 +01:00
Daniele Gobbetti
eede85a9c9 Various improvements and bugfixes to notification handling
Prevent duplicate notifications with a dedicated data structure (not reusing
the anti-burst one) #1062, #657
Pebble: Forward the actions attached to notifications (not only reply)
inspired by the work of dnastase #705
2018-10-31 21:47:12 +01:00
Andreas Shimokawa
dde8a5044f Mi Band 3: Whitelist FW 1.8.0.0 2018-10-28 15:32:57 +01:00
Sebastian Kranz
6b82340093 Merge branch 'master' of https://github.com/Freeyourgadget/Gadgetbridge into zetime 2018-10-01 06:39:08 +02:00
Sebastian Kranz
6fa2dc04f3 Setting the signal types is written to the watch now. 2018-09-28 19:36:35 +02:00
José Rebelo
e62fe36391 Roidmi 3: Fix and enable support 2018-09-28 16:35:09 +01:00
Andreas Shimokawa
b1b318a18b Amazfit Bip: Allow flashing latest gps firmware from Mi Fit 3.5.1.1 (Mili_dth.gps)
This file seems to be for the Bip2, but firmwares.json also refereces this for the Bip.
And it seems to work.
2018-09-23 12:02:34 +02:00
cpfeiffer
60397c88c0 Avoid possible NPE 2018-09-23 11:27:35 +02:00
Sebastian Kranz
2df8dfed18 Add a submenu to choose between different signal types. 2018-09-20 14:38:06 +02:00
cpfeiffer
6d4d92fd88 Live Activity: don't enable notifications every second
This caused the BLE queue to fill up more and more.
2018-09-17 23:02:18 +02:00
Sebastian Kranz
bc20db44f4 BUGFIX: use correct preference key to toggle wrist flick on and off. Add: fill function onFindDevice with test commands for the signaling of the watch, if watch is set to buzzer just the buzzer is used, ... and so on. 2018-09-17 14:43:09 +02:00
Sebastian Kranz
ecfd83ae65 Add setting alarms. Choose the type of the signaling in the preferences. 2018-09-17 13:53:24 +02:00
Sebastian Kranz
ba0fdb8c96 Part 2: Add inactivity alert - complete now. Add checkbox to en-/disable the heart rate alarm and group this with the limits in its own screen. 2018-09-17 08:10:49 +02:00
Sebastian Kranz
828df4898f First part: Add inactivity alert. 2018-09-17 05:53:24 +02:00
cpfeiffer
934f36f45a Use ActivityUser.defaultUserStepsGoal instead of hardcoded values
ActivityUser has room for improvement, though.
2018-09-16 20:49:00 +02:00
cpfeiffer
8c1a1861e4 Fix some static analysis warnings 2018-09-16 13:59:16 +02:00
cpfeiffer
c1de677448 Remove redundant null checks 2018-09-16 13:58:01 +02:00
cpfeiffer
100ed9f50c Use \n as line endings 2018-09-16 13:55:57 +02:00
cpfeiffer
5028458fe8 Fix some static analysis warnings 2018-09-16 13:54:56 +02:00
cpfeiffer
08dfa2a47d Log the stacktrace as well 2018-09-16 00:12:52 +02:00
cpfeiffer
f142003f09 Avoid boxing 2018-09-16 00:12:40 +02:00
cpfeiffer
898165ce0b Avoid lots of false static analysis warnings 2018-09-15 23:30:39 +02:00
cpfeiffer
87bee53ef3 Add a tiny bit of javadoc 2018-09-15 22:43:45 +02:00
cpfeiffer
f9e600d369 Deduplicate code 2018-09-15 22:38:20 +02:00
cpfeiffer
d6f5e36e12 Huami devices: Fix seldom fetch failures (better support for app level ble feedback)
Fixes #1264
2018-09-15 22:24:27 +02:00
Sebastian Kranz
6be181047a Add more preference settings for ZeTime: time and date format, activity tracking, do-not-disturb scheduling, wrist-flick, analog mode and calories type. 2018-09-14 13:32:18 +02:00
Sebastian Kranz
6617c45fec Add setting heart rate alarm values. Make the settings of the wearside and screen on duration interactive - give them their own activity. Also make the auto heart rate measurement work. 2018-09-13 14:55:38 +02:00
Sebastian Kranz
59a73d47af BUGFIX: setting goals now correct! Add automatic heart rate measurement settings - but the function got not called. Add option to leave activity data on the watch or delete them. 2018-09-12 13:59:45 +02:00
cpfeiffer
b6d68207cb Don't store the live step values in the db 2018-09-11 23:26:51 +02:00
cpfeiffer
add9be5ff6 Another place to handle possible negative steps values 2018-09-11 23:24:27 +02:00
Andreas Shimokawa
59ddedcf9a Mi Band 3: Whitelist FW 1.6.0.16 2018-09-11 21:35:30 +02:00
Andreas Shimokawa
6644ad0bb0 Mi Band 3: Allow enabling the "Workout" menu item
(This is called "Activity" in Gadgetbridge, since we have that on the Bip, we should probably rename that to Workout also for consistency with the menus)
2018-09-11 21:32:13 +02:00
Sebastian Kranz
8062729ea8 Send user info to the watch, add more daily targets (goals) and send them to the watch. 2018-09-07 10:53:33 +02:00
cpfeiffer
a2bd8212f6 Attempt to fix connection problems on Samsung devices 2018-09-06 18:25:41 +02:00
Sebastian Kranz
ca7108c153 Add ZeTime settings: choose on which wrist you wear the watch and set screen on duration. 2018-09-06 14:51:29 +02:00
Sebastian Kranz
88ba3e8e14 merge master branch 2018-09-06 14:46:25 +02:00
cpfeiffer
19ee3a14d4 Handle batter state LOW without a level
Fixes #1197
2018-09-04 22:31:12 +02:00
Dikay900
64da085942 make heart rate values configurable and use singleton for heartrateutils
to listen for preference changes
2018-09-02 12:57:52 +02:00
José Rebelo
2fe4b84a10 Roidmi: Initial Support
Roidmi 3 support is disabled for now, since it is not working.
2018-08-31 14:03:47 +01:00
José Rebelo
cc6c57bd4c Add support for LED Color, FM Frequency 2018-08-31 14:03:39 +01:00
Daniele Gobbetti
3e989cd89a Amazfit Cor: Whitelist FW 1.2.5.00 and RES 2018-08-29 21:33:38 +02:00
License Bot
696653eabf Update contributors list and license headers. 2018-08-29 21:30:23 +02:00
Andreas Shimokawa
b8c7bb2c2e Amazfit Bip: whitelist firmware 1.1.2.05 2018-08-28 22:19:53 +02:00
Andreas Shimokawa
13ff40c7a5 Mi Band 3: Whitelist some firmware version I tested 2018-08-28 22:10:58 +02:00
José Rebelo
9fda67b297 Mi Band 3: Night Mode 2018-08-27 22:54:37 +02:00
Andreas Shimokawa
ffc6bd5a73 Mi Band 3: Also fix diplay of SMS and EMAIL
We have to send a fake app source that is never displayed to make the text appear... :P
2018-08-19 00:51:04 +02:00
Andreas Shimokawa
3d70314e8c Mi Band 3: Fix messages not being displayed (send app source with notifications and use chunked characteristics where available)
This also sends the app name for Bip and Cor, which is actually displayed when there is no icon (unknown app for the device)

Fixes #1203
2018-08-19 00:35:50 +02:00
Andreas Shimokawa
c81965b88d Mi Band 3: Raise limit of RES files to 150000 bytes
Fixes #1223
2018-08-18 23:02:36 +02:00
cpfeiffer
50295864f5 Use a custom IntentListener callback instead of LocalBroadcastManager for ble profiles
The issue here is the following:

- we used intents in the generic BleProfile classes to notify about the results of e.g. certain read requests
- we used to send these results asynchronously via LocalBroadcastManager.sendBroadcast(), which always used the main thread for sending
- however, we noticed that reconnecting to devices sometimes failed because the results arrived too late and the next action in the BLE queue lacked the necessary information
- the fix was to use LocalBroadcastManager.setBroadcastSync(), so that the results arrive in time
- this unfortunately meant that they were not sent in the main thread anymore, and especially, this would send all pending intents that were previously queued via sendBroadcast() also in the "wrong" thread (in order to keep the order of events)

The fix is to use a custom IntentListener callback interface for synchronous notifications of ble profile results
*without* also causing other, previously queued intents to be sent.

Fixes #1218
2018-08-18 00:39:14 +02:00
cpfeiffer
f96b10cca0 Avoid potential NPE 2018-08-17 00:19:10 +02:00
Andreas Shimokawa
74f47c8e2e Mi Band 3: Support setting language to German, Italian, French, Polish, Japanese, Korean
NOTE:
- Needs latest firmware
- Setting to Japanese or Korean leads to empty menus on the device. When
  reconnecting you, will get a sceen which telling you to update. I highly
  suspect it requires flashing Mili_wuhan.ft.kj (kj=korean,japanese)
2018-08-13 00:00:46 +02:00
Andreas Shimokawa
3bb75a62be Mi Band 3: whitelist tested firmwares 2018-08-12 00:28:27 +02:00
Andreas Shimokawa
b48b52b175 Mi Band 3: Make order of menu items on screen deterministic again
(This partly reverts the logic of the previous commit)
2018-08-12 00:16:56 +02:00
José Rebelo
470efa3e51 Mi Band 3: Change display items 2018-08-12 00:00:38 +02:00
Daniele Gobbetti
9517fa211e Intercept alarm actions of the google clock application
Implemented blindly based on the information provided in #1199
Fixes #1199
2018-08-10 18:36:29 +02:00
José Rebelo
338251597b Mi Band 3: Band screen unlock 2018-08-09 23:41:25 +02:00