1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-26 00:23:25 +02:00
Commit Graph

174 Commits

Author SHA1 Message Date
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
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
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
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
cpfeiffer
321c0ff125 Log when we get bogus timestamps #91 2015-10-03 23:42:22 +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
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
18f952250a First working code for vibrations on firmware version 1.0.10.14 2015-09-28 12:53:42 +02:00
cpfeiffer
4250a002b4 Merge branch 'master' into live-activity-data 2015-09-27 00:16:04 +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
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
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
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
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
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
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
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
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
cpfeiffer
c23905070c Some more logging improvelets 2015-09-09 23:39:57 +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
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
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
42420e676b More WIP: displays live activity data 2015-09-02 23:49:06 +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
c5db816cd1 Pass shorts along to avoid implicit signed conversion. 2015-09-01 22:53:20 +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
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
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
Andreas Shimokawa
44c7f99c58 GBDeviceProtocol::decodeResponse() now returns an array GBDeviceEvents
This allowed to remove some ugly hacks from pebble code,  when encoding a
response in a GBDeviceEventSendBytes  and at the same time trying to notify
generic code via another GBDeviceEnvent.
2015-08-27 15:02:29 +02:00
Daniele Gobbetti
3a6e433fb3 Merge remote-tracking branch 'origin/master' into low_battery_notification 2015-08-27 13:12:29 +02:00
Daniele Gobbetti
677e0808bf Centralize the calendar conversion to/from byte array. 2015-08-27 13:12:09 +02:00
Daniele Gobbetti
7923e153e6 Moved the enum to standalone in the model package. 2015-08-27 11:50:31 +02:00
Andreas Shimokawa
027e6fe8c3 Pebble: add more Datalogging endpoint debug output 2015-08-26 23:17:32 +02:00
Daniele Gobbetti
6ebc727f97 Merge remote-tracking branch 'origin/master' into low_battery_notification
Conflicts:
	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java
2015-08-24 17:48:17 +02:00
Andreas Shimokawa
cedd95186f Pebble: revert changes commited accidentially 2015-08-22 00:29:52 +02:00
Andreas Shimokawa
1150ad2b8d Pebble: Support taking Pebble Time screenshots. Closes #97. 2015-08-22 00:14:14 +02:00
Daniele Gobbetti
dcc988139f Merge remote-tracking branch 'origin/master' into low_battery_notification 2015-08-21 17:34:11 +02:00
Andreas Shimokawa
12337836bc bump version, update CHANGELOG.md 2015-08-21 16:06:23 +02:00
Andreas Shimokawa
6e80978998 Pebble: Add generic method for Blobdb endpoint for deduplicating code. 2015-08-21 14:29:12 +02:00
Andreas Shimokawa
2b0acd649b Pebble: close TCP socket when disconnecting from emulator. Prevents hang. 2015-08-21 13:19:46 +02:00
Daniele Gobbetti
eb39ce9367 Further improvements:
- append a string on the control center when the device is charging
- battery status string is no more, welcome battery state enum
- the notification will not be shown when the device is charging, even if the level is below threshold
2015-08-21 08:41:57 +02:00
cpfeiffer
a1cb246e27 Add and use a "client interface" for the actions of the service
Previously, the DeviceCommunicationService was invoked directly,
via
Intent intent = new Intent(foo, bar);
intent.setExtra(EXTRA_BAZ, baz);
startService(...);

and this was scattered throughout GadgetBridge.
Now there is a "frontend" available, so that you can call
the service more easily, like
GBApplication.deviceService().connect();

For a start, this client interface (DeviceService) actually
implements the same interface (EventHandler) as the receiving side
(DeviceSupport). This may change in the future.

This will also make testing much easier, because we can use
this client interface to invoke the test service as well.
2015-08-21 01:03:57 +02:00
Andreas Shimokawa
faaa04b670 App Installation: various improvements
- make FwAppInstallerActivity wait for a completely initialized device
- check basalt/aplite compatibility with pbw to be installed and report intead of crashing
- fix crash when trying to install pbw with all app slots full
2015-08-20 18:55:22 +02:00
Daniele Gobbetti
57a85e63b0 Merge remote-tracking branch 'origin/master' into low_battery_notification 2015-08-19 17:30:33 +02:00
Andreas Shimokawa
d2173d37ce forgot to commit this also 2015-08-19 01:46:18 +02:00
Andreas Shimokawa
e8e631fb49 Pebble: encode flags in metadata, this could not work on real devices 2015-08-19 01:42:13 +02:00
Andreas Shimokawa
a7796ecbc6 Pebble: Emulator support
NOTE:
- supports aplite and basalt emulator
- needs recompilation of Gadgetbridge with INTERNET permission

TODO:
- fix disconnect issues
- emulator special packet support
- string localization
- ...
2015-08-19 00:06:15 +02:00
Daniele Gobbetti
c3e395818f Adding support for battery events using GBDeviceEvent.
- show notification on low battery (closes #40)
- Miband specific: add date of last charge and number of charges
2015-08-18 17:37:51 +02:00
cpfeiffer
121baa19ec Move AbstractSerialDeviceSupport et al from bt package into serial package 2015-08-18 01:26:15 +02:00
cpfeiffer
99293d4ee5 Also extracted firmware update to separate operation 2015-08-18 00:52:02 +02:00
cpfeiffer
dbb92b55bc Make the Operations classes BLE-generic 2015-08-18 00:31:40 +02:00
Andreas Shimokawa
c0323339e8 Pebble: set UTC time and offset on FW 3.x 2015-08-18 00:13:55 +02:00
cpfeiffer
33b598ce5c First part of extracting parts out of MiBandSupport
Extract Activity Data fetching into distinct 'operation' class.

Fix a few small things wrt transaction-local GattCallbacks along the way.
2015-08-18 00:11:53 +02:00
Andreas Shimokawa
0c872a920e Pebble: always set token to -1 before waiting for a new one
This could fix potential problems with app installation
2015-08-17 22:50:46 +02:00
cpfeiffer
e6a0c35f73 Extract checksum implementations into separate class CheckSums 2015-08-17 22:43:42 +02:00
Andreas Shimokawa
6fede31bdf Pebble: make watchapp installation available on FW 3.x without the need for setting an option 2015-08-17 18:07:47 +02:00
cpfeiffer
9dd2f039f2 Rename AbstractBTDeviceSupport to AbstractSerialDeviceSupport
That way it also fits devices connected via TCP/IP for example.
2015-08-17 16:30:12 +02:00
Andreas Shimokawa
8fee88a1ba Pebble: use SMS/EMAIL icons for notifications on FW 3.X 2015-08-17 13:57:01 +02:00
Andreas Shimokawa
e704357728 Pebble: set HW revision to "dvt" for basalt emulator 2015-08-17 13:19:15 +02:00