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

287 Commits

Author SHA1 Message Date
Andreas Shimokawa
b6a015c18b move low-latency setting for Mi Band to per-device settings (only for Mi Band 1) 2019-06-05 12:48:33 +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
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
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
Andreas Shimokawa
34b4943918 Also export and import device specific preference files 2019-05-09 14:55:37 +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
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
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
Andreas Shimokawa
e9982ccd56 remove supportsAlarmConfiguration() in favor of getAlarmSlotCount()
Coordinator that do not support alarms return 0 anyway.
2019-01-11 23:26:00 +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
License Bot
696653eabf Update contributors list and license headers. 2018-08-29 21:30:23 +02:00
José Rebelo
9fda67b297 Mi Band 3: Night Mode 2018-08-27 22:54:37 +02:00
José Rebelo
338251597b Mi Band 3: Band screen unlock 2018-08-09 23:41:25 +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
José Rebelo
a43934651a
Allow devices to not support being found 2018-07-27 14:38:33 +01:00
Daniele Gobbetti
2147ab4948 Revert "Revert "remove unused getPrimaryActivity() from coodinators, mark Mi Band HRX as non-heartrate""
This reverts commit 63231ec49a.

Please note that the comment of the reverted commit was inaccurate, as the Mi Band HRX was left untouched by it
and is left untouched byt this commit.
2018-07-27 15:13:21 +02:00
cpfeiffer
63231ec49a Revert "remove unused getPrimaryActivity() from coodinators, mark Mi Band HRX as non-heartrate"
This reverts commit 495ba81edc.

See discussion in https://github.com/Freeyourgadget/Gadgetbridge/issues/1165
2018-07-27 13:15:10 +02:00
Andreas Shimokawa
e96dcc69ab Amazfit Bip: try to support weather in newer firmwares 2018-07-21 17:18:08 +02:00
Andreas Shimokawa
eef38d4680 Only use 0x00 as auth flags on Mi Band 3 - to not disturb other devices 2018-07-17 00:29:36 +02:00
Andreas Shimokawa
dc1e831630 Mi Band 3: Fix Pairing, this MIGHT break pairing for other devices (Bip/Cor/Mi Band 2) 2018-07-16 13:38:51 +02:00
Andreas Shimokawa
2dda978453 Amazfit Bip/Cor: Fix scheduled setting for "display on lift wrist" preference
Fixes #1102
2018-06-26 17:43:54 +02:00
Andreas Shimokawa
979a44a077 Mi Band 2: Grey out "rotate wrist to switch info" when "activate display upon lift" in not enabled in preferences
Closes #1124
2018-06-24 22:05:45 +02:00
Andreas Shimokawa
99dec159f7 Mi Band 3: add untested and incomplete support
This also improves firmware/RES probing to distinguish Mi Band 2/3 firmware files and Mi Band 3/Bip RES files.

Notes:
- Firmware flashing should might but is untested
- This basicall runs off the Amazfit Bip code which will probably incorrect (Mi Band 3 is proabably something between the Bip and the Mi Band 2)
2018-06-14 18:16:49 +02:00
Andreas Shimokawa
3dd1929436 Huami devices: Minor refactoring 2018-06-14 16:30:43 +02:00
Andreas Shimokawa
66bb0bd81b Merge branch 'master' into bip-wip 2018-03-27 11:09:59 +02:00
Andreas Shimokawa
73cfeb8a7e Mi Band 2: scheduling diplay on lift wrist does not work (only on Bip), make the on and off settings at least work again... 2018-03-24 00:00:25 +01:00
Andreas Shimokawa
e26dbc6812 Mi Band 2/Bip/Cor: allow to set a period when the display/background light gets enabled when lifting the wrist
Closes #1013
2018-03-23 23:30:28 +01:00
Andreas Shimokawa
3d3cc1f40c Merge branch 'master' into bip-wip 2018-03-13 17:27:18 +01:00
License Bot
238bacde9f Update license headers 2018-02-26 14:27:33 +01:00
Andreas Shimokawa
6f68c8adde Merge branch 'master' into bip-wip 2018-01-04 12:09:57 +01:00
Andreas Shimokawa
01a5d862a0 Mi Band 1S: fix regression with firmware 4.16.4.22 and whitelist 4.16.11.15 2017-12-29 00:41:21 +01:00
Andreas Shimokawa
f6b183d39a Allow firmware files up to 1.5MB
This helps some experiments
2017-12-21 09:40:47 +01:00
Andreas Shimokawa
7e2f895001 Merge branch 'master' into bip-wip 2017-12-17 00:24:48 +01:00
cpfeiffer
fccd2ebb77 Display the actual firmware kind instead of "Firmware"
i.e. "GPS Firmware", "Watchface", "Resources", ...
2017-12-11 23:36:39 +01:00
Andreas Shimokawa
bfceaf9cc9 Merge branch 'master' into bip-wip 2017-12-11 19:30:54 +01:00
Andreas Shimokawa
f0ac296492 Initial support for cyanogenmod/lineage weather provider
TODO:
- also reconstruct json for Pebble background js fake replies
- find a better location for settings
- interatively display candidates when looking up location
- grey out setting on non-cm/los devices
2017-12-11 19:09:37 +01:00
Andreas Shimokawa
36e50bddb0 remove obsolete comment 2017-11-19 23:47:06 +01:00
Andreas Shimokawa
2ccebe07f5 Merge branch 'master' into bip-wip 2017-11-11 00:08:19 +01:00
Andreas Shimokawa
1e324acd65 Mi Band 2/Bip/Cor: Whole day HR Measurement 2017-11-11 00:04:51 +01:00
cpfeiffer
f5318287c4 WIP: Bip GPS fetching, parsing, exporting
Also adjust Mi2 date/time sending wrt DST offsets
2017-10-31 23:16:39 +01:00
Andreas Shimokawa
495ba81edc remove unused getPrimaryActivity() from coodinators, mark Mi Band HRX as non-heartrate 2017-10-23 13:44:38 +02:00
Andreas Shimokawa
69619c21f6 Mi Band 2: try to add support for Mi Band HRX
Also refactors some stuff, basically moving stuff around
2017-10-23 10:28:54 +02:00
Andreas Shimokawa
a809ad214d Refactor some common Huami stuff (Mi Band 2 / Bip)
This also fixes a bug where every event from the device (like not worn detection) counted as a button press
2017-10-21 22:50:28 +02:00
José Rebelo
5701707e87 Mi Band 2: Change distance unit 2017-10-03 09:12:33 +02:00
Andreas Shimokawa
9f05aff11b Mi2/Bip: Various sleep fixes
- Long standing bug fixed in determinePreviousValidActivityType()
  it always got the very fist valid sample, not the nearest in the past
  (for me that was light sleep, so every timespan queried began with light sleep)
- Support type 2 (running) and 12 (wakeup(?))
- Support new firmwares (Mi2 and Bip) by masking only the last 4 bits (0xf),
  takes some ugly query hack in determinePreviousValidActivityType() since
  greenDAO does not support the & operator (even though sqlite does)
2017-09-29 17:21:16 +02:00
Andreas Shimokawa
2be84435ce Mi Band 2/Bip: implement setting user info (experimental, disabled) 2017-09-23 00:09:52 +02:00
Andreas Shimokawa
412153364e Amazfit Bip: initial support for fetching debug logs from the watch
TODO:
- fix wrong toast about start time
- properly create an API for this kind of stuff (currently uses testNewFunction())
2017-09-18 23:24:11 +02:00
Andreas Shimokawa
3301194e75 Consolidate duplicate Mi2 / Bip icon definition
Also handle some more recently added icons
2017-09-14 10:15:14 +02:00
License Bot
a10fc8ad4e Update license headers 2017-09-12 12:39:15 +02:00
Michal Novotny
05d0625b68 Mi Band 2: Implement multiple button actions
This enables option for multiple button actions according to the "Delay after button action". This broadcast is being sent to the intent
along with button_id extra identifying how many times have the pass been done.

By pass defined number of button presses is meant.
2017-09-10 23:02:13 +02:00
cpfeiffer
e9a68e70b5 Make Mi2 FetchOperation reusable 2017-09-09 00:02:30 +02:00
Michal Novotny
fcf9be877a Support for button actions on Mi Band 2 device (#793)
Implement button actions for MiBand 2
2017-09-05 22:37:41 +02:00
cpfeiffer
962720145e Fix custom language being lost for newly created activities
So we do need to set the language both on change and onCreate()

For some reason, the title bar of the SettingsActivity is not updated on recreate().

Closes #787
2017-09-03 01:04:34 +02:00
Andreas Shimokawa
455dfde63d Amazfit Bip: add instructions and warning to the firmware installation screen 2017-08-27 23:08:10 +02:00
Andreas Shimokawa
2eb25e7c4e Amazfit Bip: Firmware installation screen improvements
- Try to improve firmware detection (older 0.0.8.xx firmwares were not detected)
- Whitelist GPS firmware that comes with firmware 0.0.8.xx
- show actual device icon istead of hardcoded Mi Band icon
2017-08-27 00:32:15 +02:00
License Bot
15f4ce2869 Update license headers 2017-08-25 11:25:01 +02:00
Andreas Shimokawa
4bb18b9795 Amazfit Bip: enable caller name display upon initialization
This is neccessary for newer firmwares (0.0.8.74 at least)
(I assume this command also exists on Mi2, hope it is true :D)
2017-08-25 01:04:36 +02:00
Andreas Shimokawa
a398f33cb8 Mi Band2: do not misuse ALERT_LEVEL_ constants, use AlertCategory enum 2017-08-23 23:04:40 +02:00
José Rebelo
f7abe2d4a3 Mi Band 2: Inactivity Warnings 2017-07-17 20:25:52 +02:00
José Rebelo
34bd2ed9cc Mi Band 2: Do Not Disturb 2017-07-15 21:17:29 +02:00
José Rebelo
ceb82f3474 Mi Band 2: Goal notification 2017-07-15 21:14:25 +02:00
Carsten Pfeiffer
377e999067 Merge branch 'master' into mi2-display-items 2017-07-13 23:26:25 +02:00
José Rebelo
6c95a9fcb9 Mi Band 2: Rotate wrist to switch info 2017-07-13 23:20:11 +02:00
José Rebelo
2c0b105aa6
Mi Band 2: Display item settings 2017-07-12 14:59:14 +01:00
Andreas Shimokawa
a4e35b49b2 Only show realtime chart on device supporting it 2017-06-02 21:59:46 +02:00
cpfeiffer
c79eda5507 Remove "tapString" from DeviceCoordinator 2017-05-19 22:35:37 +02:00
cpfeiffer
36c1b5a6f2 Fix static context leak
I don't think this is the cause for #655, but it supposedly also breaks
instant run, so now it's fixed.
2017-04-21 22:34:47 +02:00
Andreas Shimokawa
7ee20348db Only sync Calendar and Sunrise/Sunset on devices that support it 2017-04-19 21:51:23 +02:00
cpfeiffer
b97674ba85 Mi2: Display realtime steps in Live Activity #428
Thanks for the hint!
2017-03-20 23:01:28 +01:00
Andreas Shimokawa
7c63f92aaa Remove obsolte and unused code related to old and unsupported activity database 2017-03-20 22:27:17 +01:00
License Bot
6a842c52fa Update license header in all java files. 2017-03-16 17:36:15 +01:00
cpfeiffer
d408be5ec8 Mi2: make text/icon notifications confiurable and version dependent 2017-03-15 00:26:39 +01:00
cpfeiffer
5d96df3508 Mi2: add hint about intermediate firmware 1.0.0.53 2017-03-14 23:45:30 +01:00
cpfeiffer
17ecee0cab Mi2: initial support for text notifications and icons
See #560
2017-03-14 00:45:54 +01:00
Daniele Gobbetti
0ac77fc0a4 Remove the legacy ControlCenter and its usages. Add New GUI to the changelog. 2017-03-11 19:49:57 +01:00
Andreas Shimokawa
fe870ebc77 Move step goal generic, show proper sleep goal in weekly sleep goal
It is now also accessible via "About You" but still remains in the Mi Band Settings
(because it has to be setup initially by a "wizard")
2017-03-11 11:34:03 +01:00
License Bot
e392fbfd80 Add license header to all java files. 2017-03-10 14:53:19 +01:00
cpfeiffer
31e0e9a5f7 Mi2: More internal cleanup from initial Mi1 copy&paste 2017-03-05 21:45:39 +01:00
cpfeiffer
f6bee00582 Mi2: some internal cleanups/renamings 2017-03-05 21:27:47 +01:00
cpfeiffer
88b35c6eec Mi2: rename some constants + add two 2017-03-05 10:43:19 +01:00
cpfeiffer
09967b2006 Mi2: follow 12h/24h system configuration
=> Remove custom preference option, #573
2017-03-03 22:32:54 +01:00
cpfeiffer
82ea5702c5 Mi2: configurable time format (12h/24h)
Fixes #573
2017-03-03 22:14:28 +01:00
cpfeiffer
4419200624 Mi2: Initial support for textual notifications #560 2017-03-03 20:12:43 +01:00
cpfeiffer
337bfa1938 Handle button presses and log them
See #556
2017-02-21 21:41:21 +01:00
cpfeiffer
4f0674d038 Support for alarm clock notifications for Mi1 + Mi2 #538
No support for Pebble and HPlus for now.

Atm relies on the CM deskclock alarm, which nicely broadcasts
events about the current alarm. See
https://github.com/CyanogenMod/android_packages_apps_DeskClock.git
2017-02-07 23:49:10 +01:00
cpfeiffer
2ae4497261 Mi2: the only reason I can see for detecting MiBandSupport for Mi2
Fixes #529, hopefully
2017-01-28 23:25:15 +01:00
cpfeiffer
ec6a8b6743 MI: some more logging 2017-01-28 23:25:15 +01:00
cpfeiffer
ba7d13fa5d Disable smart alarms for Mi2
Closes #471
2017-01-26 21:09:49 +01:00
cpfeiffer
ac68bfe351 Mi Band 1+2: backend implementation of making BT pairing optional
- cleaned up the DeviceService.connect() variants
- discovery: pass the device candidate around instead of the mac address

Attempts to fix #512, #514, #518
2017-01-26 00:16:38 +01:00
cpfeiffer
4c26c2933b Mi Band 1+2: make BT pairing optional
(Attemts to fix #512, #514, #518)
2017-01-26 00:16:38 +01:00
cpfeiffer
d103d09fcf Mi Band: just a method rename 2017-01-26 00:16:38 +01:00
cpfeiffer
df1fe7c5b8 Port to UriHelper 2016-12-29 01:46:00 +01:00
cpfeiffer
caaa38ed04 Mi2: support for current battery status #449
so far we understand
- last charge date
- current level
- state normal
- state charging

and we are notified on changes.
2016-12-14 00:50:43 +01:00
cpfeiffer
6dfc895303 Mi2: Initial work on firmware update #427 2016-12-11 02:11:58 +01:00
cpfeiffer
4a19046301 Mi2: Some characteristics and opcodes for fw update 2016-12-11 02:11:58 +01:00
cpfeiffer
fd2c182714 Mi 2: another characteristic rename (0000005) 2016-12-11 02:11:58 +01:00