Commit Graph

84 Commits

Author SHA1 Message Date
Andreas Shimokawa
70ae5a2a3a Pebble: Allow to select the preferred activity tracker via settings activity (Health, Misfit, Morpheuz) 2016-02-18 20:41:22 +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
20c4e49fe1 Refactoring of the Pebble Health steps data receiver.
Added logic to deal with pebble health sleep data.
Added database helper to change the type of a range of samples (needed for sleep data).
Fixes to the Pebble Health sample provider.
2016-02-09 17:52:21 +01:00
danielegobbetti
2f8207abf9 Initial support for reading pebble health steps/activity data. 2016-02-07 09:27:51 +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
Andreas Shimokawa
0c805809a5 Pebble: allow pbw installation with appinfo.json files up to 64k (was 8k)
Fixes DIN watchface installation
2015-12-21 22:32:27 +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
Andreas Shimokawa
b1954eec3e make use of some new icons 2015-12-11 21:38:43 +01:00
Andreas Shimokawa
4528aaf22f Pebble: Allow installing apps compiled with SDK 2.x also on the balast platform (pebble time, pebble time steel) 2015-12-11 21:11:55 +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
Andreas Shimokawa
f59382e3c8 Pebble: Show correct icon for activity tracker and watchfaces in app installer (language and fw icons still missing) 2015-12-08 18:32:17 +01:00
Andreas Shimokawa
62c196eb1d Pebble: determine pbw type early for correct display in pbw-cache on firmware 3.x 2015-12-08 13:23:07 +01:00
Andreas Shimokawa
3ac00a004f Pebble: Support installing .pbl (language files) on firmware 3.x 2015-12-08 12:07:14 +01:00
Andreas Shimokawa
1c3e0b628b Pebble: store app details in pbw-cache and display them in app manager on firmware 3.x
Improves #93
2015-12-07 18:16:23 +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
Andreas Shimokawa
b05cfc6aac Pebble: fix crash on firmware 3.x when pebble requests a pbw that is not in Gadgetbridge's cache 2015-12-06 17:56:46 +01:00
Andreas Shimokawa
79f92b8495 Fix installing pbw files from different URIs than local files on Firmware 3.x. Fixes #183 2015-12-06 17:22:07 +01:00
Andreas Shimokawa
9ebb320e10 fix installing pbz/pbw files from content provides (eg. download manager)
This still does not fix pbw isntallation problems with FW 3.x since the content does not get copied to the pbw cache yet when content providers are involved
2015-12-06 16:48:43 +01:00
Andreas Shimokawa
bc108ba095 Pebble: support installing 3.x apps on OG Pebble 2015-12-05 16:06:42 +01:00
cpfeiffer
bd0716ba58 Some more lint warnings fixed 2015-11-23 23:04:46 +01:00
cpfeiffer
81c2f657bd Some lint fixes 2015-11-23 22:46:12 +01:00
cpfeiffer
d4f070f0aa Simplify external dir handling again -- prefer the primary dir
The primary external dir is often a user-partition on the internal
storage medium. This one is safe in multi-user environments.

The "removable storage" (sdcard) on the other hand can be read by
everyone. If the former is not available or not writable, use the
latter.

closes #153
2015-11-01 20:49:50 +01:00
cpfeiffer
694b3d897f Some Javadoc 2015-10-26 23:32:03 +01:00
cpfeiffer
4200e77016 Disable activity data fetching when not supported
Closes #149
2015-10-24 23:28:55 +02:00
cpfeiffer
c350f04fa9 Make "Locate device" work with newer firmware and MI1A. (#136)
Separate the different notification logic into distinct strategy classes.
2015-10-22 00:53:27 +02:00
cpfeiffer
3b94a96060 Fix some warnings 2015-10-21 23:29:37 +02:00
Andreas Shimokawa
44a36a5f1d Pebble: First try to receive at least steps from the Misfit pebble watchapp 2015-10-21 23:11:59 +09:00
Sergey Trofimov
d57c6166b9 Fix pairing with MI1A 2015-10-18 21:54:22 +03:00
Andreas Shimokawa
262271dbd0 Pebble: calculate CRC for language files (.pbl) since they do not have a manifest
It should fix installation of all .pbl files (tested with Spanish, German, French and the inofficial Japanese language pack)
This also marks the return of the infamous STM32CRC, this time with hopefully fixed tail code.
2015-10-07 22:29:30 +09:00
Andreas Shimokawa
5860c4f4f9 Pebble: WIP support for flashing language files (.pbl)
NOTES:
- YOU SHOULD NOT TRY THIS YET ;)
- This was only tested with the unoffical japansese language pack
- Problably needs proper crc calculation (I just hardcoded the one for the japanese language pack)
2015-10-06 23:56:01 +09:00
cpfeiffer
586d959055 Merge branch 'master' into live-activity-data 2015-10-02 23:49:03 +02:00
Daniele Gobbetti
f8edf5c525 Move BLE standard characteristic and services debug names to the right class. 2015-09-28 16:28:08 +02:00
Daniele Gobbetti
deea721090 Add verbatim Official BLE Services, Descriptors and Characteristics.
Move the already defined constants to these new classes.
2015-09-28 12:51:01 +02:00
cpfeiffer
4250a002b4 Merge branch 'master' into live-activity-data 2015-09-27 00:16:04 +02:00
Andreas Shimokawa
1d41f2f8e4 Refactoring
The notfification APIs now use NotificationSpec as their only parameter, which
contains all information (required and optional ones).
We no longer have separate methods and actions for SMS/EMAIL/GENERIC anymore.
The type of notification is important now, not how we received them technically.
2015-09-24 14:45:21 +02:00
Andreas Shimokawa
3bb673d33a Pebble Time Round support ("chalk" platform) 2015-09-23 23:20:49 +02:00
cpfeiffer
3852fcd756 Reuse MiBandDateConverter 2015-09-23 23:16:42 +02:00
Andreas Shimokawa
77b4bb9cf1 Mi Band: Do not whitelist 1.0.10.14 anymore, vibration seems to be broken with Gadgetbridge 2015-09-20 22:13:25 +02:00
Daniele Gobbetti
55341678b3 Add firmwares from the wiki. 2015-09-17 16:56:23 +02:00
Daniele Gobbetti
b73ff49681 Use data type constant instead of hardcoded value 2015-09-17 16:56:23 +02:00
Andreas Shimokawa
95e22a4e32 Pebble: Allow stopping apps though PebbleKit messages (also in the API) 2015-09-13 21:44:26 +02:00
Andreas Shimokawa
d3dbde6917 Some refactoring:
- Put Pebble icon ID constants in its own class
- remove ICON_ and COLOR_ prefixes from constants
2015-09-13 15:21:07 +02:00
Julien Pivotto
1027336591 Pebble: Support colors in 3.x notifications (Pebble Time)
* Generic notifications are still red
* Colors are in a separated static class

Closes #120.
2015-09-13 14:54:43 +02:00
Andreas Shimokawa
4f80844016 noficicaion_kind -> notificationKind 2015-09-13 13:38:11 +02:00