1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-12 08:24:02 +02:00
Commit Graph

193 Commits

Author SHA1 Message Date
Andreas Shimokawa
17599a797a remove unused imports 2019-07-25 22:33:41 +02:00
Andreas Shimokawa
31db568832 Mi Band 4: Fix RES and FW update 2019-07-25 22:18:48 +02:00
Andreas Shimokawa
b6e78c1b9c Mi Band 4: Support flashing watchfaces
FLASHING FIRMWARE/RES/FONT IS STILL UNTESTED
2019-07-25 20:51:28 +02:00
Andreas Shimokawa
5ff5561772 Mi Band 4: Fix notification icons and cut-off text 2019-07-24 09:33:53 +02:00
Andreas Shimokawa
044f6c11cd Mi Band 4: WIP firmware update preparation
Nothing works yet
2019-07-23 23:49:21 +02:00
Andreas Shimokawa
9042966a40 Mi Band 4: Fix empty notifications
Icon still missing
2019-07-23 22:42:30 +02:00
Andreas Shimokawa
a60268c05c Mi Band 4: Bring your own key support (blindly done, I dont have my key)
THIS STILL REQUIRES MI FIT AND YOUR EXTRACTED KEY

HOWTO:
1) press + button in Gadgerbridge
2) LONG PRESS Mi Band 4
3) Tap "Auth Key"
4) Enter your key prefixed with 0x (eg. 0x112233445566778899aabbccddeeff00)
5) Go back
6) Tap Mi Band 4

Success? You tell me.
2019-07-23 08:56:26 +02:00
Andreas Shimokawa
8d50e8ef08 Mi Band 3: Allow setting date format in per-device settings
Closes #1544
2019-07-16 23:48:08 +02:00
Andreas Shimokawa
f7a4b3c06a Mi Band 3: whitelist firmware 2.4.0.20
Closes #1557
2019-07-16 16:24:45 +02:00
Andreas Shimokawa
ce0bd27111 remove useless condition 2019-06-22 21:10:19 +02:00
Andreas Shimokawa
d48d3cdea3 Add untested Mi Band 4 support (basically runs on Mi Band 3 code)
This is COMPLETELY untested, we do not have the device.
2019-06-12 23:44:01 +02:00
Andreas Shimokawa
d779310962 Move "activate display on lift wrist" and "rotate wrist to switch info" to per-device settings
"activate display on lift wrist" for Mi Band 2/3, Cor, Bip
"rotate wrist" only for Mi Band 2
2019-06-05 16:00:18 +02:00
Andreas Shimokawa
16090f0e21 Move fake device offset to Mi Band 1 preferences, remove support for other devices
Reasons for removal:
- I doubt we honored the offset correctly for new features anyway that are available on newer devices
- Newer devices have a display always displaying the wrong time
2019-06-05 14:11:44 +02:00
Andreas Shimokawa
d2988f987f Mi Band 3: Whitelist FW 2.4.0.12
Closes #1530
2019-06-05 12:29:25 +02:00
Andreas Shimokawa
78dd7ef153 Mi Band 3: Fix setting menu items with 2.4 firmware and add support for the new timer menu 2019-05-29 15:53:44 +02:00
Andreas Shimokawa
12e16ac04a add ignoring calls support to Amazfit Bip (probably Cor also and maybe Mi Band 3) 2019-05-25 22:19:19 +02:00
Andreas Shimokawa
93f288b936 Move "Do not disturb" settings from Mi Band / Amazfit settings to per-device settings (Mi Band 2 and Mi Band 3 only) 2019-05-24 23:47:57 +02:00
Andreas Shimokawa
d1ba702e75 add more settings migration for settings that are now per-device 2019-05-23 23:24:49 +02:00
Andreas Shimokawa
3440485a51 Mi Band 2: move settings to per-device settings 2019-05-23 21:33:35 +02:00
Andreas Shimokawa
34e0c4e8bc remove swipe unlock settings from cor (can only be set from the band itself) 2019-05-22 19:04:38 +02:00
Andreas Shimokawa
038f101a12 Migrate more settings to per-device settings
Also add icons.
2019-05-22 10:49:59 +02:00
Andreas Shimokawa
9bfef4cf4f Make per-device settings more versatile, move more settings
This allows to construct per-device settings by device type very easily

device coordinators just do the following to declare which setting they support,
the settings activity is then composed at runtime.

@Override
public int[] getSupportedDeviceSpecificSettings(GBDevice device) {
     return new int[]{
            R.xml.devicesettings_miband3,
            R.xml.devicesettings_swipeunlock,
            R.xml.devicesettings_pairingkey
    };
}
2019-05-22 00:42:22 +02:00
Andreas Shimokawa
49667451d7 Mi Band 3: fix setting language (regression after todays refactoring) 2019-05-20 23:27:17 +02:00
Andreas Shimokawa
08e7d728c2 Huami: Migrate some settings to device specific settings
- Migrate language setting
- Migrate menu items setting
- Migrate lastsync timestamp from prefixed global shared prefercence

All settings should be automatically be converted (e.g. Amazfit Bip settings to all paired Amazfit Bip devices) and then deleted.

Cor Settings aleady completely vanished from the global settings menu.

When migration is done we will have a much cleaner settings menu. Will also remove confusion that some Cor settings have to be done in Bip settings.
2019-05-20 16:36:06 +02:00
DerFetzer
dd067eddd7 Amazfit Bip: Add new latin languages 2019-05-14 20:58:07 +02:00
Andreas Shimokawa
6031586131 Mi Band 3 NFC: Whitelist FW 1.7.0.4
Closes #1470
2019-05-09 15:43:57 +02:00
Andreas Shimokawa
34b4943918 Also export and import device specific preference files 2019-05-09 14:55:37 +02:00
Andreas Shimokawa
41e607ce9b Amazfit Cor 2: Give own device type id, support flashing the firmware **UNTESTED** 2019-05-09 12:42:59 +02:00
Andreas Shimokawa
2dc228029a Mi Band 3: Whitelist FW 2.3.0.28 2019-05-09 11:28:24 +02:00
Andreas Shimokawa
f7fe3a836f Mi Band 3: Support flashing latest Japanese-Korean font file
This increases the supported file size to 2.0MB.
Somehow it is confusing that the new file is version 1 and the old version 2.
Also according to firmare.json both are version 1....
2019-05-07 11:13:48 +02:00
Andreas Shimokawa
0399bc048c Mi Band 3: Whitelist Firmware 2.3.0.6 2019-05-07 10:43:26 +02:00
Andreas Shimokawa
db48707764 Add a device specific settings activity, currently used for setting the auth key for Amazfit Bip/Cor
When connecting to a new device, a random key gets generated, which can be
looked up from the device specific settings (accessible via the gear icon in
the device card in the main activity). Old devices keep their 0123456789@ABCDE
key, they have to be re-paired to change that.
During pairing, long-pressing the device candidate in the discovery activity
will also start the device specific settings activity, where the auth key
can be set manually priror to pairing. This is usefull to keep the ability to
pair one device with multiple android devices.

Fixes #1308
2019-04-21 21:25:33 +02:00
License Bot
9aadb2f2fd Update license headers 2019-04-21 18:53:10 +02:00
Andreas Shimokawa
665b1b6b5a Bip: whitelist FW 1.1.5.16
Closes #1459
2019-03-17 18:26:47 +01:00
cpfeiffer
c9f1c110b0 Merge remote-tracking branch 'github/pr/1292' 2019-03-04 22:10:23 +01:00
cpfeiffer
8d6a9d98da Silence lgtm error messages
If the index would indeed be out of bounds, we would simply catch the exception and deal with that.
2019-02-27 20:52:16 +01:00
Sebastian Kranz
6a04c78b0e Merge branch 'master' of https://github.com/Freeyourgadget/Gadgetbridge into zetime 2019-02-20 14:24:59 +01:00
Sebastian Kranz
a7553188f9 Reading the device preferences from the watch and set them in the ZeTime menu. 2019-02-20 14:09:21 +01:00
License Bot
8e4be724e1 Update license headers (fix duplicates) and contributors list 2019-02-13 21:01:14 +01:00
License Bot
beedb653e6 Update license headers 2019-02-13 20:43:31 +01:00
Andreas Shimokawa
c66fade081 Amazfit Bip: Support disconnect notifications
Might also work with Cor, did not work with Mi Band 3
2019-02-13 13:06:42 +01:00
Andreas Shimokawa
095b2f53e5 Mi Band 3: Whitelist Firmware 2.3.0.2 2019-02-11 23:01:28 +01:00
Andreas Shimokawa
55f1dcc57b Amazfit Bip: Whitelist FW 1.1.5.12 2019-02-10 23:09:34 +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
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
Matthieu Baerts
c845e16cfa amazfitbit support: fix typo
senderOrTiltle -> senderOrTitle
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
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
8b3ba38344 Mi Band 3: Whitelist FW 2.0.0.4 2018-11-08 07:12:49 +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
cpfeiffer
effffddd8d fixed lgtm warnings 2018-11-02 00:09:30 +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
Andreas Shimokawa
dde8a5044f Mi Band 3: Whitelist FW 1.8.0.0 2018-10-28 15:32:57 +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
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
cpfeiffer
934f36f45a Use ActivityUser.defaultUserStepsGoal instead of hardcoded values
ActivityUser has room for improvement, though.
2018-09-16 20:49:00 +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
cpfeiffer
b6d68207cb Don't store the live step values in the db 2018-09-11 23:26:51 +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
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
José Rebelo
338251597b Mi Band 3: Band screen unlock 2018-08-09 23:41:25 +02:00
Daniele Gobbetti
797a671ccd Amazfit Cor: only send music information when needed 2018-08-08 17:48: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
Daniele Gobbetti
3fac021ff2 Amazfit Cor: implement basic music controls
Play/pause and skip to previous/next song work. The currently playing song
name is shown on the Cor. The track length and progress are now shown as
we don't know how to send these yet.
2018-08-06 23:11:40 +02:00
cpfeiffer
ec0d62f67b If firmwareRevision is null, use softwareRevision 2018-08-06 20:26:39 +02:00
cpfeiffer
f7c9828cc1 Avoid potential NPE 2018-08-06 20:22:10 +02:00
Andreas Shimokawa
88714ece4d Amazfit Bip: fix current weather not being displayed with latest firmware 2018-08-05 15:27:28 +02:00
cpfeiffer
5bca05caac Fix loop condition! 2018-08-04 23:10:11 +02:00
Andreas Shimokawa
fe401bdcf5 Amazfit Cor: allow music control 2018-08-02 22:35:02 +02:00
Andreas Shimokawa
66391e10c9 Amazfit Cor: Allow to enable music menu on device 2018-08-02 22:29:52 +02:00
Andreas Shimokawa
cc7f6d7263 More Huami refactoring
- Rename MiBand2Service to HuamiService
- Move preferences around (Mi Band 2 has its own device specific settings now)
- Fix Cor menu items not syncing immediately in settings
- Try to support settings menu items on Mi Band 3 (buggy, disabled code for now)
2018-08-02 10:55:30 +02:00
Andreas Shimokawa
f464604b27 Amazfit Cor: Fix notification menu not being enabled 2018-08-01 23:13:36 +02:00
Andreas Shimokawa
486d7bdca6 Amazfit Cor: Allow setting menu items
(Also rename/refactor stuff from Mi Band 2 to Huami - still WIP)
2018-08-01 22:56:01 +02:00
cpfeiffer
16fb1a584d Errors during activity track timestamp fixup should be non-fatal
So just log them. #1134
2018-08-01 19:49:09 +02:00