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
cpfeiffer
83ad2a9bd9
Mi 2: rename characteristic 00000003 to "CONFIGURATION"
2016-12-11 02:11:58 +01:00
Andreas Shimokawa
17b581022b
optimize imports
2016-12-09 20:14:17 +01:00
cpfeiffer
928bdd5d36
Adjust comments to current values
...
They look plausible compared to 1S activity
2016-12-04 20:25:20 +01:00
cpfeiffer
44f74270df
Mi2: Experimental support for activity recognition
2016-12-02 00:22:06 +01:00
Uwe Hermann
0746aaa579
app: Random typo and consistency fixes.
2016-12-01 20:22:12 +01:00
cpfeiffer
011646b097
Fix activity data on Mi Band 1 #440
2016-11-29 22:22:54 +01:00
cpfeiffer
2f7eb9ef23
Some more improvements to discovery
...
- pass service uuids to GBDeviceCandaidate so that DeviceCoordinators
can detect devices by their services.
Note: they should not rely on service uuids being available
2016-11-27 02:46:07 +01:00
cpfeiffer
b9ff2cd468
A few improvements to discovery
...
- display the right icon for found device candidates
- scan for specific LE services
2016-11-27 01:09:20 +01:00
cpfeiffer
3fdfb7d172
Mi2: Support for setting the fitness goal (steps)
2016-11-24 21:58:32 +01:00
cpfeiffer
a8a7d8db31
Mi2: WIP synchronize only new data since last sync
...
(#323 )
2016-11-22 00:05:41 +01:00
cpfeiffer
0c51f86afc
Mi2: more work on activity data #323
2016-11-22 00:05:41 +01:00
cpfeiffer
82cd06f4c1
Mi2: WIP: initial support for activity data
...
(#323 )
2016-11-22 00:05:41 +01:00
Andreas Shimokawa
029cc02a29
Pebble: Add Pebble specific pairing activity mainly useful for Pebble 2 since it properly pairs the Pebble after connecting with BLE
...
Fixes #433
2016-11-19 22:13:00 +01:00
cpfeiffer
d8145a52f9
Activate the display when lifting the wrist #323
...
Configurable, defaults to true
2016-11-13 21:47:54 +01:00
cpfeiffer
d89899557c
Mi2: Add config option to configure date/time display
...
(added a new EventHandler method to set a specific configuration option)
2016-11-13 20:47:24 +01:00
cpfeiffer
3cc8d887ca
Mi2: Initial support for wear location, hr during sleep and date format #323
...
- wear location from prefs is sent to the band
- hr measurement during sleep is sent to the band
- date format is sent to the band (date+time or just time)
(TODO: needs preference option)
2016-11-13 01:44:52 +01:00
cpfeiffer
a941a6cd5f
Make some strings translatable
2016-10-28 23:47:39 +02:00
Andreas Shimokawa
d3571d53b2
Mi Band: allow to remove mac address from preferences
...
(this allows to clear an extra mi band from the control center)
Evil hack...
2016-10-26 00:03:54 +02:00
Daniele Gobbetti
1f77e3e84f
Coordinator: add explicit methods to determine if the device supports app management and which class is responsible for it.
2016-10-25 17:39:11 +02:00
cpfeiffer
a39e3a035c
Move device deletion logic to DeviceCoordinator and subclasses
2016-10-24 20:02:44 +02:00
cpfeiffer
3a12ffd42d
Mi2: Fix for alarm enablement. Was too late, apparently.
2016-10-23 22:38:57 +02:00
cpfeiffer
c87d08bf4b
Small refactoring for initial support for Mi2 Alarms #323
2016-10-21 00:50:41 +02:00
Daniele Gobbetti
21fc5c7498
Integrate Daniele's live-sensor-data support
2016-10-11 23:13:40 +02:00
cpfeiffer
a559140f67
Fix the previous fix ;-)
2016-10-11 21:35:45 +02:00
cpfeiffer
1fc44034f0
Also use getGenericType() for the "summary" types
2016-10-11 21:28:28 +02:00
cpfeiffer
f1243f52c1
Deactivate some unsupported things for Mi2
2016-10-11 20:23:25 +02:00
Andreas Shimokawa
c65a0a16de
fix mi band try vibration buttons
2016-10-11 17:57:50 +02:00
cpfeiffer
62828e5158
Remove ORIGIN_ notification constants, clean up
...
- MI preferences now use NotificationType.getFixedName() for preference
keys
2016-10-10 22:45:26 +02:00
cpfeiffer
db034a246c
Add 'Try' button to vibration profile preferences, closes #405
2016-10-09 00:10:53 +02:00
cpfeiffer
7479c3d420
Whitelist 4.16.4.22 #369
2016-10-05 23:17:02 +02:00
cpfeiffer
5bdc7933b3
Somewhat hacky support for Mi2 notification icons #323
2016-10-02 23:04:59 +02:00
cpfeiffer
ccdb843b6e
Improved Mi Band 2 support #323
...
- connecting works and is stable
- firmware and hardware version is displayed
- time is set
2016-09-20 23:12:17 +02:00
Andreas Shimokawa
696611d392
Do not show "your activity" if activity tracking is not supported
2016-09-20 22:02:40 +02:00
JohnnySun
90d730bdc8
Added miband2 connection support
2016-09-13 01:28:50 +08:00
cpfeiffer
cd535a0a45
Include known devices from the database in CC
...
(as long as device-support is still available)
Fixes non-paired devices not being displayed
2016-08-31 00:33:54 +02:00
cpfeiffer
c59553c9c9
Rename GBDevice#hardwareVersion to model
...
(e.g. while DeviceType is "PEBBLE" in general, the model
might specify a Pebble Time or Time Steel.
2016-08-26 20:57:59 +02:00
cpfeiffer
fbf06c1fe3
Separate coordinator and support instances for Mi1 and Mi2 #323
...
+ Some more testing stuff for Mi2
2016-08-17 00:53:16 +02:00
cpfeiffer
a7b9ae5596
whitelist fw 4.15.12.10 #369
2016-08-04 00:05:58 +02:00
cpfeiffer
43d7566c0b
some more microsteps #206
2016-08-01 22:18:57 +02:00
cpfeiffer
f5ba09ebe0
Some babysteps towards miband2 support #323
...
Start to implement standard BLE profiles/services.
2016-07-25 00:00:22 +02:00
cpfeiffer
df59ce7b96
Switch light sleep and deep sleep #250
...
Apparently REM is considered deep sleep and NREM is considered light
sleep even though NREM (non-rapid-eye-movement) phase 3 is actually
defined as deep sleep.
2016-07-19 20:43:28 +02:00
cpfeiffer
7b26986ab0
Fix for #349
...
We must not use UUID_CHAR_PAIR anymore. This prevents connecting
without being bonded. Connecting when bonded still works.
As without bonding, ControlCenter would not display the device anymore,
we have to re-install the "remember last connected device" in the
preferences thing.
2016-07-15 00:13:49 +02:00
cpfeiffer
ebda3e1535
uncomment some constants
2016-07-14 20:37:20 +02:00
cpfeiffer
aa00d2f93a
Avoid NPEs when device-name is null
2016-07-12 00:24:23 +02:00
cpfeiffer
80930ce42a
More logging for pairing, destroy pairing activity when bonding failed #349
2016-07-10 00:11:28 +02:00
Andreas Shimokawa
340a0f4a66
Fix coordinators not recognitzing devices by name
...
Do not ask a device candidate for its name , ask the underlying BluetoothDevice
The candidate uses the device alias - not good for matching
2016-07-09 23:10:21 +02:00
cpfeiffer
9215233344
Whitelist 4.16.3.7 Mi1S firmware
2016-07-08 22:17:19 +02:00
cpfeiffer
94cc1a883a
Use GBActivity in Pairing Activity for theming
2016-07-05 22:13:11 +02:00
cpfeiffer
abeb642972
Don't remember paired Mi device in preferences
...
(this was just a very old workaround for an even older Mi firmware
that couldn't pair)
2016-07-05 20:27:23 +02:00
cpfeiffer
7613b62dab
Improved discovery mechanism #323
...
Does not rely solely on mac addresses anymore. Should help when
mac address randomization is used.
2016-06-28 00:35:50 +02:00
cpfeiffer
e70a2290c3
sampleproviders now return device specific data #206
2016-06-27 20:43:48 +02:00
cpfeiffer
45fa930ac3
Properly check support for heartrate measurements
2016-06-19 23:22:28 +02:00
cpfeiffer
233a6155cc
Add class DeviceManager that provides access to the list of managed devices
...
Basically moved code out of ControlCenter to a separate class. Also provides
change events when the device list has changed, or changes to the device
state have occurred.
2016-06-18 23:35:34 +02:00
cpfeiffer
41e6833b2d
Getting closer... db migration almost works.
2016-06-18 01:26:36 +02:00
cpfeiffer
687beee501
Migration work
2016-06-16 21:54:53 +02:00
cpfeiffer
71d99384c1
Cleanup, remove duplicated code, fix some TODOs
2016-06-14 23:10:35 +02:00
cpfeiffer
3b87966fe9
Merge branch 'master' into db-refactoring
2016-06-06 22:16:40 +02:00
cpfeiffer
ca26e27c60
Basic support for Mi Band 2 #323 , untested
2016-06-05 22:31:07 +02:00
Szymon Tomasz Stefanek
60fc29cc4d
Add support for shifting the device time by N hours to allow for sleep data gathering of shift workers
2016-06-03 04:43:12 +02:00
cpfeiffer
40a376bbd0
Merge branch 'master' into db-refactoring
2016-05-16 23:01:16 +02:00
cpfeiffer
3e0bc16741
More WIP, but we're getting closer
...
current state:
- storing samples works (tested only mi band)
- charts work
2016-05-16 23:00:04 +02:00
cpfeiffer
5963843216
Experimental support for #274 (untested yet)
2016-05-15 00:15:31 +02:00
cpfeiffer
8ca821ab8a
More WIP on db refactoring
2016-05-13 23:47:47 +02:00
cpfeiffer
d0c8483d92
More WIP
2016-05-08 23:49:15 +02:00
cpfeiffer
9532fc879f
"Ported" to AbstractSampleProvider
2016-05-08 23:17:05 +02:00
Andreas Shimokawa
045d5119ff
Do not update summary for checkbox preference
...
Was causing summary to get overwritten by "true" or "false" when changing preferences
2016-05-04 13:07:11 +02:00
Andreas Shimokawa
619a17425f
Mi Band: Display hint about starting Activity Activity instead of App Manager
...
TODO: Fix the string, I have no idea how to properly name the Activity Activity
2016-05-04 12:31:29 +02:00
cpfeiffer
e35ce978bd
Remove now unused imports + fix one more SharedPreferences usage
2016-04-25 23:43:19 +02:00
cpfeiffer
0704915a88
Move parsing of preference strings to int values to Prefs
2016-04-25 23:39:03 +02:00
cpfeiffer
0c715a2669
Wrap access to SharedPreferences with "Prefs"
...
(to centralize quirk handling)
2016-04-25 23:18:55 +02:00
Andreas Shimokawa
faa6a9d906
use android:summary="%s" for ListPreferences
2016-04-14 16:44:44 +02:00
Andreas Shimokawa
a15b327ff1
Refactoring: get rid of ServiceCommand, use new CallSpec and MusicSpec to pass Call and Music info
2016-04-04 20:08:34 +02:00
cpfeiffer
b129844169
Small fixes to PR 273 #232
...
- dynamically toggle hr sleep support when preference changes
- check hr support dynaically after device info is available to avoid false error message
2016-04-03 22:38:06 +02:00
Christian Fischer
20aa7d9ad9
add preference to set hartrate sleep detection
2016-04-02 16:09:30 +02:00
Andreas Shimokawa
adfef3db42
Prepare code for more music metadata (duration, track count, current track number)
...
Oh and format code
2016-03-27 17:45:44 +02:00
cpfeiffer
9d9ef8a6f8
Some cleanup
2016-03-23 22:06:48 +01:00
Andreas Shimokawa
df3a06ac9b
Reformat code, make getter of @NonNull members also @NonNull
2016-03-22 21:55:15 +01:00
cpfeiffer
b0ec74696d
Give better feedback when a firmware cannot be installed #234
2016-03-22 16:12:27 +01:00
Andreas Shimokawa
dbeded8d04
In Control Center, do not show alarm configuration in context menu if device does not support it
2016-03-20 17:53:55 +01:00
Andreas Shimokawa
4be1926459
reformat code though Android Studio
2016-03-20 15:00:05 +01:00
cpfeiffer
4f956000c5
Enhanced support for firmware detection, recognition and upgrade #234
...
Also supports double firmware upgrade for Mi1S.
- so far, only hr firmware upgrade is tested for 1S
- adds junit testcases for firmware recognition and handling
2016-03-20 01:07:57 +01:00
cpfeiffer
c5a887192d
Remove/revert some temporary test code
2016-03-16 00:27:32 +01:00
cpfeiffer
91f02ae920
WIP: Lots of work towards double firmware update for Mi 1S #234
2016-03-16 00:27:08 +01:00
cpfeiffer
5eb8f57b4c
Some more byte -> int conversions
2016-03-07 22:47:34 +01:00
Andreas Shimokawa
ed85fd5011
convert byte and short values related to activity tracking to int
...
This avoids a lot of problems because java
- does not know unsigned values
- jvm and dalvic do not internally support byte and short
- sqlite does not know them either
2016-02-29 20:54:39 +01:00
cpfeiffer
ddde25e5df
Initial firmware update support for Mi1S #234
2016-02-28 02:46:48 +01:00
cpfeiffer
de6f898fef
Some more fixes regarding heart rate measurement #178
2016-02-27 11:18:16 +01:00
Kasha
9e636d66f6
Initial heart rate support by KashaMalaga #178
...
(removed unrelated Android M fixes and squashed commits)
2016-02-27 00:05:06 +01:00
cpfeiffer
c86365ee2e
Some more Mi Band pairing improvements #180
...
- listen to notifications early -- the band then actually tells us that
authentication is required
- check for this after sending user info
- add authentication states to GBDevice
- workaround for event problems in pairing activity (delivered although
already unregistered)
- BtLEQueue now deals with gatt events coming *before* connectGatt()
actually returned (namely the connection event)
2016-02-13 00:15:16 +01:00
Daniele Gobbetti
baf5eee72f
Refactored the User Activity-tracking related preferences.
...
Created a new device-independent class ActivityUser to hold the data
Moved the constants from the miband constant class to the ActivityUser class
Removed the miband-specific in favor of common-prefixed preferences (with upgrade support for legacy values)
Changed the way the gender is stored to an integer value
Removed the hardcoded default values for user data in favor of static fields of the ActivityUser class
2016-02-02 17:33:24 +01:00
Daniele Gobbetti
94c8633bad
Move the generic user info outside the miband preferences activity. They still have to be renamed.
2016-02-02 14:32:19 +01:00
cpfeiffer
a6d3c50f94
Fix discovery of Mi Band 1S #196
...
closes #204
2016-01-06 23:38:17 +01:00
cpfeiffer
41dde9a9c2
Programmatically perform a bonding
...
(i.e. bluetooth-level pairing). Previously the pairing appeared to
happen automagically, but this doesn't work (anymore). So now we first
pair on the bluetooth-level, then application level.
2016-01-06 00:16:41 +01:00
Daniele Gobbetti
0dda5c214b
Add preference for reserved alarm slots (for calendar event notification)
...
Just this, no logic to support the choice yet.
2015-12-17 16:11:35 +01:00
cpfeiffer
f258e62633
Refactoring: centralize GBDevice creation
...
- created and provided by DeviceHelper
- passed from UI to service
- without UI, service uses DeviceHelper directly
=> Cleaner and less duplicated code
2015-12-13 00:43:07 +01:00
cpfeiffer
0d63e5b770
User Info is probably the same for MI 1A and 1S #178
...
Can you please test whether this fixes the connection problems?
2015-12-08 21:48:56 +01:00
cpfeiffer
134eeacaea
Whitelisted 5.15.7.14
2015-12-07 01:22:27 +01:00
cpfeiffer
365ce61cb6
Support for firmware upgrade/downgrade on Mi 1A.
...
I hope I didn't break firmware upgrades on some Mi 1 models
other than mine (my hardware revision is 2).
Upgrades for Mi 1S are currently disabled, we need some brave
souls who can help us test this.
Closes #173
Also see: #169
2015-12-07 01:14:06 +01:00
cpfeiffer
b056e1b2a0
tiny log addition
2015-12-07 01:13:47 +01:00
cpfeiffer
bd0716ba58
Some more lint warnings fixed
2015-11-23 23:04:46 +01:00