cpfeiffer
88fb81f921
Make onStartCommand() synchronized, to be sure
...
(or does Android take care of not calling this concurrently?)
2015-10-22 00:52:45 +02:00
cpfeiffer
ac120dc7d6
Small improvement to connect()
2015-10-22 00:32:16 +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
cpfeiffer
aa5749cd40
Some improvements to live activity.
...
Still rather inaccurate due to missing timing information.
2015-10-21 00:36:18 +02:00
cpfeiffer
52f3ca5253
Always name things positively. Negating things is bad for comprehension :-)
2015-10-19 23:36:10 +02:00
cpfeiffer
5a3990b9d2
Guard logging with LOG.isDebugEnabled()
2015-10-19 20:56:56 +02:00
Carsten Pfeiffer
4096e50681
Merge pull request #146 from sarg/master
...
Fix DeviceInfo checksum function.
2015-10-19 20:56:49 +02:00
Daniele Gobbetti
cee03debbb
- add code to send the confirmation of the activity data transfer after a timeout.
...
==> This is currently commented out because it was done to solve #141 but while doing this #143 popped out.
- send a stop_sync message to the band if the data doesn't fit the buffer. This way the data remains on the band.
2015-10-19 16:17:03 +02:00
Daniele Gobbetti
6460b391d9
Be dump the content of the notification to the debug log
2015-10-19 15:16:21 +02:00
Sergey Trofimov
94cbf2f301
Fix DeviceInfo checksum function.
2015-10-19 15:02:56 +03:00
cpfeiffer
4e0fed8857
Improvements to how and when alarms are sent to the device
...
They are now sent whenever the Alarms activity is finished.
Display "All alarms disabled" when no alarm is enabled.
Unrelated: pass exceptions to GB.toast() where applicable.
2015-10-18 23:52:59 +02:00
cpfeiffer
86d17c7792
Pass the exception to GB.toast()
2015-10-18 23:43:27 +02:00
cpfeiffer
ef15bf8ce8
Prevent firmware update for Mi Band 1A for now #136
2015-10-18 22:57:04 +02:00
cpfeiffer
dcd776e09a
Attempt to fix never finishing activity data fetching #142
...
(by disabling unrelated notifications)
2015-10-18 22:27:52 +02:00
cpfeiffer
7a44ea9596
Small comment
2015-10-18 21:33:07 +02:00
Sergey Trofimov
d57c6166b9
Fix pairing with MI1A
2015-10-18 21:54:22 +03:00
Sergey Trofimov
7591d4a8af
Fix typo
2015-10-18 18:29:41 +03:00
Sergey Trofimov
a1fd31c260
Show toast when no valid DeviceSupport found for pairing.
2015-10-18 09:34:51 +03:00
Sergey Trofimov
1c1f8e8535
Make DeviceSupportFactory recognize device names starting with MI
2015-10-18 09:20:18 +03:00
cpfeiffer
b43e96318a
Also support pulldown to sync in ControlCenter #138
...
Should factor out some common code between ChartsActivity
and ControlCenter, though.
2015-10-18 01:39:25 +02:00
cpfeiffer
1e56e540fa
Remove hardcoded equals("MI") in favor of DeviceCoordintator #136
2015-10-18 01:01:13 +02:00
cpfeiffer
45fc2c181c
Add pulldown to sync and tabs in the charts activity #138
2015-10-17 17:10:14 +02:00
Andreas Shimokawa
a9186791dc
register/unregister receivers at runtime instead of enabling/disabling them via packagemanger
2015-10-16 00:23:16 +09:00
cpfeiffer
4533ae22ee
Log otherwise uncaught exceptions ( #134 )
2015-10-07 23:32:58 +02: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
cd7acf6572
Pebble: Do not reboot after language file installation (does not seem to be necessary)
...
NOTE: This still does not work since crc calculation is missing
2015-10-07 00:44:29 +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
Andreas Shimokawa
d21b5e68b5
Pebble: Cleanup AppMessage handlers
2015-10-04 22:53:11 +09:00
Andreas Shimokawa
a4a59f5df4
fix hexdump() when using an offset with -1 as length (= full length)
2015-10-04 22:42:21 +09:00
cpfeiffer
0d27245dd1
Some more translations + reoder live activity layout
2015-10-04 00:17:24 +02:00
cpfeiffer
9db7d13a94
Log any exceptions during ble callbacks, if any #91
2015-10-04 00:00:53 +02:00
cpfeiffer
5b8bf468f5
Remove some superfluous checks
2015-10-03 23:52:33 +02:00
cpfeiffer
321c0ff125
Log when we get bogus timestamps #91
2015-10-03 23:42:22 +02:00
cpfeiffer
38c3a41279
Improve logging setup, should hopefully fix #107
2015-10-03 23:26:36 +02:00
cpfeiffer
2231dcbce3
Log GB's version
2015-10-03 22:30:11 +02:00
cpfeiffer
93523d7831
Fix crash introduced by translation before onCreate()
2015-10-03 10:08:48 +02:00
cpfeiffer
d6f9eac711
Revert to previous BLE connection method:
...
- first, connectGatt(true) to support automatic (re-) connection
- second, bluetoothGatt.connect() to connect immediately
2015-10-03 00:21:31 +02:00
cpfeiffer
586d959055
Merge branch 'master' into live-activity-data
2015-10-02 23:49:03 +02:00
cpfeiffer
baa2d0b27a
Displaying live activity data works well enough
2015-10-02 23:38:07 +02:00
cpfeiffer
c9e91bd708
Some work in enabling the history of step count
...
Doesn't work yet.
2015-10-02 00:07:19 +02:00
cpfeiffer
2149b18ae3
Yay, animating live activity data works.
...
Nice hack: MPAndroidChart supports animating values, but only animating
a new entry, going from zero to its actual value. We want to animate
a single entry changing its value.
Since it's just a single entry, we can let a custom animator do this
(without knowledge of any other entries).
2015-10-01 22:36:33 +02:00
Daniele Gobbetti
d14ccf1c5c
Get device name from the BLE Standard Characteristic.
...
Always log read and notify characteristics, even if unhandled.
Changed Log statements for write action to make them clearer.
2015-09-28 16:47:43 +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
18f952250a
First working code for vibrations on firmware version 1.0.10.14
2015-09-28 12:53:42 +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
cpfeiffer
0395977fde
Some work for properly animating our single (value-changing) entry
2015-09-27 00:10:33 +02:00
Andreas Shimokawa
c8a08510ce
always initialize checkboxes AppBlacklistActivity, not only when App is in blacklist
...
Closes #129
2015-09-25 21:33:35 +02:00
Daniele Gobbetti
720eaa111d
Add generic service for immediate alert and prepare the code to support characteristics from different services
2015-09-25 17:45:06 +02:00
Andreas Shimokawa
e3533a2b18
Pebble: Allow muting (blacklisting) Apps from within generic notifications on the watch
...
Closes #113
2015-09-25 00:53:40 +02:00
Andreas Shimokawa
94ad7f2eb9
set type to SMS when receiving an SMS via generic notification listener
2015-09-24 17:26:40 +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
Daniele Gobbetti
e1ea8270ca
Add a progress notification for the activity data transfer.
2015-09-24 14:03:01 +02:00
Daniele Gobbetti
5578691321
Fix progress bar
2015-09-24 14:02:33 +02:00
cpfeiffer
8ba307657a
Migrate from MPAndroidChart 2.1.0 to 2.1.4
...
This actually makes our CustomLegendRenderer and CustomBarChart
unnecessary.
2015-09-24 00:04:21 +02:00
Andreas Shimokawa
ab78d167d9
update CHANGELOG.md
2015-09-23 23:53:16 +02:00
Andreas Shimokawa
3bb673d33a
Pebble Time Round support ("chalk" platform)
2015-09-23 23:20:49 +02:00
cpfeiffer
d9b4bbe550
Move activity data and progress manipulation into dedicated methods
...
I did this in trying to understand the code better and to easier allow
for error handling/transaction rollback to be added.
2015-09-23 23:16:42 +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
Andreas Shimokawa
98b1abedac
Allow phone call notifications (also in call display) to be disabled in preferences
...
This will allow Pebble Dialer to handle these #106
2015-09-20 22:04:53 +02:00
Andreas Shimokawa
f6ef72e9fb
Pebble: fix some hardware revision strings to match strings in firmware json file
...
This should enable firmware upgrade on Pebble Time and might fix pbw installation on Pebble Time Steel
2015-09-20 18:27:41 +02:00
Andreas Shimokawa
60b24e004a
Pebble: Fix bug for Pebble Intent Notifications not arriving on FW 2.x
2015-09-19 21:35:02 +02:00
Andreas Shimokawa
0c4dbf75e0
Pebble: fix for PebbleKit AppMessages containing non-latin characters
2015-09-19 15:32:09 +02:00
Andreas Shimokawa
e1b02e1be4
Pebble: add option for PebbleKit support (default is disabled)
...
Also fix an endless loop when number of reconnects is set to 0
2015-09-19 12:49:34 +02:00
Andreas Shimokawa
e6a8a1a36c
Pebble: Better support for 8 and 16 bit integers in AppMessages
2015-09-18 00:03:34 +02:00
Andreas Shimokawa
041bd1a7f4
Treat Conversations messagess as chat messages, even if arrived via Pebble Intents (which is the default)
2015-09-17 23:08:05 +02:00
Andreas Shimokawa
a5ef952e37
Pebble: Implement WIP outbound communication with PebbleKit Android Apps
...
This improves #106
Pebblebike aka Ventoo works to some extent sometimes now ;)
2015-09-17 19:21:22 +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
58bbcb0035
Pebble: allow to configure reconnect attempts
...
This should help #89
2015-09-17 15:31:12 +02:00
Andreas Shimokawa
d8c096d931
Handle SMS/MMS as generic notification if disabled
...
(could serve as a workaround for #127 )
2015-09-16 01:09:03 +02:00
Andreas Shimokawa
6e3c839608
Allow to select preferred music player in preferences, closes #112
2015-09-16 00:53:54 +02:00
Andreas Shimokawa
de74a033f6
Try to support controlling multiple music players
...
This tries to control the last player that played a (new) song.
It is very limited since we cannot get the source of an intent.
Instead we try to guess from the Action.
The problem is that we cannot support players that use only the action "com.android.music.XXXX" and not something own.
Also try to blindly support getting spotify metadata (for testing #112 )
2015-09-15 01:36:33 +02:00
Julien Pivotto
21d59b23c1
Allow QKSMS notifications to be handled as a generic notification if SMS notification mode is set to "never"
...
This makes it possible to use the "Open on Phone" and individial dismiss feature with QKSMS.
2015-09-13 22:51:05 +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
6fff4fb7ba
Pebble: support byte arrays for Appmessages (including PebbleKit ones)
2015-09-13 18:37:59 +02:00
Andreas Shimokawa
9a32be97cb
Pebble: work towards PebbleKit support #106
...
- Untested features have to be turned on.
- We will accept data from any source.
- One way, we do not send out replies.
This already works with the minimalistic sports demo from the sdk
2015-09-13 18:20:15 +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
Andreas Shimokawa
04086a3b4c
Merge pull request #122 from roidelapluie/colors
...
Pebble: Support Colors in notifications
2015-09-13 14:58:05 +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
Julien Pivotto
eafb795874
Fix a small typo in gadgetbridge.model.ServiceCommand
2015-09-13 14:26:55 +02:00
Andreas Shimokawa
a73beceb44
Map a few more apps to NotificationKind
2015-09-13 13:48:21 +02:00
Andreas Shimokawa
4f80844016
noficicaion_kind -> notificationKind
2015-09-13 13:38:11 +02:00
Andreas Shimokawa
44d8294f8c
Pebble: use Hipchat icon for chat notifications on FW 3.x
2015-09-13 13:32:18 +02:00
Andreas Shimokawa
a85c04c02a
Pebble: use constant for icons where possible
2015-09-13 12:55:10 +02:00
Julien Pivotto
d50a82d495
Pebble: Set application icons for generic notifications
...
Closes #116 .
2015-09-13 00:39:53 +02:00
Andreas Shimokawa
637539861d
Merge pull request #115 from roidelapluie/notifications
...
Pebble: Use generic icon for generic notification instead of SMS icon on FW 3.x
This also adds a lot of constants for a bunch of icon IDs
2015-09-12 23:14:58 +02:00
Julien Pivotto
986e7e0450
Improve Pebble Time notifications icons
...
* Add a list of icons in the source code
* Generic notification now use the correct icon instead of the SMS icon
2015-09-12 22:14:36 +02:00
Andreas Shimokawa
914d1b9625
Make notification blacklist actually working
2015-09-12 00:19:36 +02:00
Andreas Shimokawa
03b9f02b2c
Pebble: allow launching internal Golf and Sports App if untested features are enabled
...
This is completely useless for now, but since it is there on every Pebble, I want to be able to launch it.
2015-09-10 23:07:42 +02:00
Andreas Shimokawa
0ad758fbca
WIP blacklist activity (currently does nothing except listing apps)
2015-09-10 13:48:54 +02:00
cpfeiffer
80d15573af
Avoid tiny window where a gatt callback of an operation could be unset
2015-09-10 00:00:52 +02:00
cpfeiffer
c23905070c
Some more logging improvelets
2015-09-09 23:39:57 +02:00
cpfeiffer
22a9ff1819
Log when no listener is registered for a characteristic change
2015-09-09 23:23:38 +02:00
cpfeiffer
e80a3cc591
Log the number of samples being flushed #91
2015-09-09 22:33:06 +02:00
cpfeiffer
e0ccb6bf84
Log the date/time that we sync to the Mi Band #91
2015-09-09 21:53:28 +02:00
cpfeiffer
d9d222ca9b
Tiny logging improvement
2015-09-09 21:15:29 +02:00
cpfeiffer
bddf6c8909
Also log the number of rows (samples) returned by the query #91
2015-09-09 20:52:04 +02:00
cpfeiffer
2dec5574cc
Log the where condition of the samples query #91
2015-09-09 20:49:17 +02:00
cpfeiffer
e34c5614d7
Bail out hard if we get negative steps from the database #91
...
We don't add them to the db for sure.
2015-09-09 20:46:50 +02:00
Andreas Shimokawa
7f331a1bb1
Pebble: play around with timeline pins
2015-09-08 14:15:46 +02:00
cpfeiffer
518b1ee6f4
Merge branch 'master' into live-activity-data
2015-09-07 21:41:02 +02:00
Daniele Gobbetti
6c28b50f52
allow the transfer of activity data without clearing MiBand's memory
2015-09-07 12:06:56 +02:00
cpfeiffer
1711a7a731
Merge branch 'master' into live-activity-data
2015-09-06 00:46:50 +02:00
cpfeiffer
fbd23c2d4c
Some layout improvements ( #30 )
2015-09-06 00:03:56 +02:00
cpfeiffer
bc3c0760d0
More WIP with live activity charts
2015-09-05 23:05:57 +02:00
Andreas Shimokawa
02cc8ba455
Allow K9 Mail notifications to be handled as a generic notification if K9 Mail notification mode is set to "never"
...
This makes it possible to use the "Open on Phone" and individial dismiss feature with K9 Mail.
2015-09-05 21:32:46 +02:00
Andreas Shimokawa
a839f07496
Pebble: use proper icon for "Open on Phone" on Pebble Time
2015-09-05 21:00:18 +02:00
Andreas Shimokawa
1a1277fa3d
Pebble: Fix "Open on Phone" on OG Pebble (no more error display)
2015-09-05 20:40:12 +02:00
cpfeiffer
5f993c0049
Merge branch 'master' into live-activity-data
2015-09-05 00:15:49 +02:00
cpfeiffer
69b64ed4b6
More logging for time/timezone changes
...
(trying to find an explanation for #91 )
2015-09-05 00:14:09 +02:00
cpfeiffer
8f4e933e30
More WIP on live activity:
...
- keep screen on while live activity is visible
- hide the date bar (prev&forward buttons)
- live activity chart is still nowhere near usable
2015-09-04 21:55:29 +02:00
cpfeiffer
9a1f4875fc
Temporary backup with live activity
2015-09-03 23:20:47 +02:00
cpfeiffer
05ee6e46c6
Display battery label in RED when battery is LOW #40
2015-09-02 23:49:48 +02:00
cpfeiffer
42420e676b
More WIP: displays live activity data
2015-09-02 23:49:06 +02:00
Andreas Shimokawa
e4a72a83ee
Ignore QKSMS generic noticfication to prevent duplicate SMS notifications
...
Closes #108
2015-09-02 22:54:20 +02:00
Andreas Shimokawa
ab29736a50
Pebble: Implement "Open on Phone" function for generic notifications
...
TODO:
- search a better icon for the Pebble Time
- send a reply to the OG Pebble to prevent the error message from popping up
2015-09-02 22:43:22 +02:00
Daniele Gobbetti
b6cbb5d6be
read initial value of live steps data when enabling notification
2015-09-02 16:36:20 +02:00
cpfeiffer
ab8982e7f2
WIP: support for live display of activity data
2015-09-02 08:02:26 +02:00
cpfeiffer
536b2bd8a0
Another translatable string
2015-09-01 23:56:14 +02:00
cpfeiffer
da5df5621e
Use MEDIUMINT for steps per day (no effect, not used, and ignored by sqlite)
2015-09-01 23:11:22 +02:00
cpfeiffer
4b4c6d1a6b
Do not accept negative step/intensity values in the db
...
(Ignore and log those requests instead)
2015-09-01 22:53:47 +02:00
cpfeiffer
c5db816cd1
Pass shorts along to avoid implicit signed conversion.
2015-09-01 22:53:20 +02:00
cpfeiffer
c49c795b1d
Actually remove that implicit "current date" handling
...
We now manage days explicitly in the UI.
2015-09-01 22:43:31 +02:00
cpfeiffer
d791054e42
Fix getLast24Hours() -- take end time into account
2015-09-01 22:37:20 +02:00
cpfeiffer
a6d18e599b
Tiny simplification and extract string
2015-09-01 22:34:04 +02:00
cpfeiffer
917801f223
Use the correct date for displaying steps #91
2015-09-01 22:13:30 +02:00
Andreas Shimokawa
fd789c445e
Allow dismissal of individual (generic) notification
...
Implemented for Pebble and Pebble Time #103
2015-09-01 22:00:11 +02:00
cpfeiffer
5c2bd1e8df
Avoid code duplication by reusing logMessageContent()
2015-09-01 21:26:51 +02:00
Andreas Shimokawa
46171e4ab8
Some preparations for interactive notifications
2015-08-31 22:27:25 +02:00
Andreas Shimokawa
2da717ea4c
set visibility of service notification to public again
2015-08-31 21:29:00 +02:00
Daniele Gobbetti
ee3ca5998e
Fail early when opening a pebble file.
...
Fixes #102
We could also use a whitelist approach instead, but we can't be sure that the user installs a file with .fw extension, hence i preferred to only avoid loading files which are known to be of the wrong type.
2015-08-31 17:41:09 +02:00
Daniele Gobbetti
9360b81ef3
Don't add new limitlines, clean the existing one before (it could be optimized further by reusing the existing one, probably)
2015-08-31 17:41:09 +02:00
Daniele Gobbetti
249ff5bf94
Let the user change date also on the Week steps chart
2015-08-31 17:41:09 +02:00
Andreas Shimokawa
face7cceea
probable close #104
2015-08-31 17:31:32 +02:00
Andreas Shimokawa
95b65265b4
remove eventClass field from GBDeviceEvent, use instanceof instead
2015-08-31 17:25:58 +02:00
cpfeiffer
50960277dd
Localized some firmware update texts and added some toasts on finish
2015-08-30 21:56:45 +02:00
cpfeiffer
41d8bcf634
Make firmware and app installation a bit more user friendly #30
2015-08-30 00:21:51 +02:00
cpfeiffer
530116976c
Only call super.onCharacteristicChanged() when not handling it here
2015-08-29 20:48:33 +02:00
cpfeiffer
25ddc20f89
Fix testcases with sdk 23: don't call Notificaton API during local tests
2015-08-29 20:39:34 +02:00
Andreas Shimokawa
13300fcb5d
finally fix build with SDK 23
2015-08-29 11:31:48 +02:00
Daniele Gobbetti
26792717d4
Add showing when the device wasn't worn by the user
2015-08-28 14:58:30 +02:00
Daniele Gobbetti
fb5ebeacb6
Light colors for the graphs.
...
Closes #99
2015-08-28 14:58:30 +02:00
cpfeiffer
086bb8aa4a
Also parcel the battery level threshold
2015-08-28 13:53:16 +02:00
cpfeiffer
ff989390f9
Fix the remaining TODO #101
2015-08-28 13:49:36 +02:00
Daniele Gobbetti
2f1aa45445
Merge remote-tracking branch 'origin/master' into low_battery_notification
2015-08-28 10:40:46 +02:00
Daniele Gobbetti
cbea0feb9e
Centralize the calendar conversion to/from byte array take 2.
...
Move to an independent class.
2015-08-28 10:40:25 +02:00
Andreas Shimokawa
2ca8e149ee
Pebble: support "dismiss all" action also on Pebble Time/FW 3.x notifications
...
This is done through a workaround, now we just label it as a generic action and reply properly to the invocation from the Pebble.
Fixes #86
2015-08-27 18:01:19 +02:00