1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-02 11:26:09 +02:00
Commit Graph

168 Commits

Author SHA1 Message Date
Andreas Shimokawa
e844f81056 Huami: If no menu items were ever configured with Gadgetbridge use our default and do not disable everything on connect
Fixes #1853
2020-05-12 22:42:19 +02:00
Andreas Shimokawa
fefcf2d2b9 ZeTime: Fix setting the watch language and make the setting accessible from the per-device configuration menu
This did not work at all before, it was supposed to take the language from
Gadgetbridge App settings or the phone's default settings, but nothing was ever
sent to the watch.
2020-05-05 00:34:59 +02:00
Andreas Shimokawa
33a1dbd1cd Amazfit GTS: Fix setting menu items with low mtu 2020-04-29 14:44:58 +02:00
Andreas Shimokawa
89017ac58f Huami: Disable air quality indicator on Huami devices instead of showing 0
Thanks @ponyzucker

Closes #1834
2020-04-08 12:02:47 +02:00
Andreas Shimokawa
ea606713d7 Huami: Igore all-day events when syncing calendar events 2020-03-20 17:21:20 +01:00
Andreas Shimokawa
8cf7e259aa Huami: Fix crash when calendar event desctription or title was null
Fixes #1813
2020-03-04 23:13:57 +01:00
cpfeiffer
eb8e37d3a6 Sanity check for alarms index to avoid AIOOBE 2020-02-26 22:25:03 +01:00
Andreas Shimokawa
9a114f640b Huami: Make experimental calendar sync feature optional 2020-02-24 14:19:06 +01:00
Andreas Shimokawa
bffb8e8f87 Huami: send upcoming calendar events as reminder
TODO: make this optional, fix title not being displayed, do it proberly like we do on pebble
2020-02-19 09:41:50 +01:00
Andreas Shimokawa
71b76c8e8f Huami: add unused and untested co to send upcoming calender events as notifications 2020-02-18 22:20:57 +01:00
Andreas Shimokawa
3226d61ecd Mi Band 4: Make high MTU support optional
Fixes #1766
2020-02-04 10:04:01 +01:00
Dmitry Markin
10c9b07c69 Control alarm snooze mode on MiBand2 2020-01-12 12:02:04 +03:00
License Bot
d6fa5d0dd5 Update license headers 2020-01-09 10:44:32 +01:00
vanous
7394b1cce3 Add-Buttons-Events-Config (#1761) 2020-01-08 19:58:31 +01:00
Andreas Shimokawa
1c82c4e8e1 Huami: make time format 12h/24h configurable (was automatic before)
Fixes #1736
2020-01-04 23:40:50 +01:00
vanous
50defa1eb6 Add broadcast sender/receiver to ConfigureAlarms/HuamiSupport
This is to prevent discrepancies if user edits alarms in Gadgetbridge
and also on the device at the same time.
2019-12-29 11:07:42 +01:00
Andreas Shimokawa
3bf72f957a Huami: get alarms at connect and save changes to database, react to on-device changes immediatly when device is connected 2019-12-27 22:19:17 +01:00
Andreas Shimokawa
6548802abc fix regression from latest commit where Mi Band 3 could not longer connect 2019-12-26 23:26:08 +01:00
Andreas Shimokawa
45c40825f3 Mi Band 4: Support MTU that gets reported from the Band
In my case that boosts the MTU from 23 to 247, firmware updates and watchface
istallations are extremely fast. This also affects notifications, weather etc.
2019-12-26 23:05:13 +01:00
Andreas Shimokawa
21eada4caa Allow to set alarms to unused when long tapping
This helps clearing up a cluttered alarms list on devices like the Mi Band 4

Difference between disabling and setting to usused:
Unsused alarms cant be enabled from the Band, disabled can.

Closes #1747
2019-12-24 01:27:57 +01:00
Andreas Shimokawa
72ffbca2ff Make "reserve alarm for calender" per-device and only allow for Mi Band 1/2
This avoids a lot of bugs and confision regarding alarms
2019-12-14 23:48:02 +01:00
Andreas Shimokawa
e5f5a671bd Amazfit Bip: Make vibration after button action work 2019-11-21 13:24:06 +01:00
Andreas Shimokawa
25bb16b0c3 Make button action setting per-device, enable for amazfip bip
TODO:
- preference migration
- support vibration on bip
2019-11-14 12:33:36 +01:00
Andreas Shimokawa
2b0656c9c0 Amazfit GTS: Enable flashing firmware (untested) 2019-10-31 15:30:05 +01:00
Andreas Shimokawa
a3cd99a4a3 Huami: move notification code from AmazfitBipSupport to HuamiSupport
probably fix notifications on GTS
2019-10-31 14:28:24 +01:00
Andreas Shimokawa
b5e9727dcd Make some more settings per-device settings
- All ID115 settings migrated, allowing removal from settings activity
- All timeformat settings for all devices migrated
- All wrist location settings for all devices migrated (now you can have a mi band 3 on the left wrist and a bip  on the right wrist :P)

Also deduplicated some strings from zetime/generic preferences
2019-10-05 22:35:30 +02:00
Andreas Shimokawa
876515f1fd Amazfit Cor: support custom emoji font
This commit refactors code and implements a custom device specific string
filter, which does nothing by default.
The implementation in HuamiSupport does the custom emoji conversion.

The setting has been moved from devicesettings_amazfitbip.xml to an extra file
As soon as there is a custom font for Mi Band 2/3/4 it is sufficient to add
"devicesettings_custom_emoji_font.xml" to the list of supported settings
in the appropriate coordinator and everything will work.
2019-09-14 00:05:39 +02:00
Andreas Shimokawa
ce9eab8def Mi Band 4: really fix sending weather location
Really fixes #1609
2019-08-31 22:14:50 +02:00
Andreas Shimokawa
8f4489a21c Mi Band 4: Fix call notifcation not stopping when call gets answered or rejected on the phone
This changes the way to how to stop call notification for all Huami device back to Mi Band 2
Also clean up unused code

Fixes #1612
2019-08-29 08:32:29 +02:00
Andreas Shimokawa
243eec042d Mi Band 3/4, Amazfit Bip/Cor: Add setting to expose the HR sensor to 3rd party apps
Closes #1606
2019-08-27 11:13:45 +02:00
Andreas Shimokawa
d07ca6faa6 Mi Band 4: Fix location not being updated on the Band
Also move generic code from AmazfitBipSupport to HuamiSupport where is belongs
Fixes #1609
2019-08-25 09:56:06 +02:00
Andreas Shimokawa
aefd7520f3 Mi Band 3/4, Amazfit Cor/Bip: set language immediately when changing it (not only on connect)
Helps testing
2019-08-02 00:11:11 +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
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
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
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
3440485a51 Mi Band 2: move settings to per-device settings 2019-05-23 21:33:35 +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
License Bot
9aadb2f2fd Update license headers 2019-04-21 18:53:10 +02: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
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
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
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 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
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
cpfeiffer
5644ae5925 Display measured hr value in Debug activity + cleanup
Fixes #1320
2018-11-05 23:27:29 +01:00
cpfeiffer
435898ebc9 Move MiBand3-ism to MiBand3Support 2018-11-01 22:05:38 +01: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
b6d68207cb Don't store the live step values in the db 2018-09-11 23:26:51 +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
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
fe401bdcf5 Amazfit Cor: allow music control 2018-08-02 22:35:02 +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
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