Commit Graph

1975 Commits

Author SHA1 Message Date
cpfeiffer 77cad5c47f Initial support for testing the DeviceCommunicationService
Lots of support classes to enable local testing, without
a device or an emulator.
2015-08-22 01:09:56 +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
Daniele Gobbetti df417e5c6c Fix bug regarding setting wear location.
Closes #95
2015-08-21 15:23:48 +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 6869fc85ee update CHANGELOG.md 2015-08-20 22:51:55 +02:00
Andreas Shimokawa ff6d28cdc8 Remove INTERNET permission
Accidentially commited my local change to make the emulator connection work.
(Yes I know I had been warned)
2015-08-20 22:41:38 +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 a6b28a804c Fix typo (sorry xphnx!) 2015-08-19 17:38:16 +02:00
Daniele Gobbetti 0d8adeb7f9 Some refinements:
- only show the bigtext notification if the device has set extended battery info
- custom icon for the low battery notification (with license information)
- show device name in the notification
- set the notification to high priority
- the battery threshold is now set in GBDevice
2015-08-19 17:36:53 +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
cpfeiffer 5a4f8fb56f Last commit accidentally called the wrong get*Samples method 2015-08-19 01:06:46 +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
cpfeiffer 585a888ecb Improved javadoc 2015-08-18 00:11:51 +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
cpfeiffer 9dc945a406 Don't throttle events for Pebble
And actually do busy-filtering for Mi and Pebble
2015-08-17 21:30:37 +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 913f37246f update CHANGELOG 2015-08-17 14:27:43 +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
Andreas Shimokawa c8c882c3d1 Pebble: Support removing apps on FW 3.X (metadata) 2015-08-17 13:07:34 +02:00
Andreas Shimokawa f0924716fc Pebble: when reading app fetch uuid, do not switch to little endian too early 2015-08-17 12:55:17 +02:00
Andreas Shimokawa 0d0b3a87e1 Pebble: on FW 3.x always assume success for installation and do no wait for 2.x packets 2015-08-17 12:43:38 +02:00
cpfeiffer bcf42f8022 Finally, the prev and next buttons do something (#79)
Far from perfect, but a start.
2015-08-17 02:22:16 +02:00
cpfeiffer 964994972b Fix for pebble sample provider switching without quitting gb) 2015-08-16 23:30:16 +02:00
cpfeiffer 27a9eb8a07 Only repaint chart when activity is still alive
(fixes error message when synchronizing in the charts activity and then
switching orientation)
2015-08-16 23:27:18 +02:00
cpfeiffer 0bd65e050c Make intensity also always positive #91
I never experienced such values, but others apparently do...
2015-08-16 23:18:32 +02:00
Andreas Shimokawa 48f5931043 PebbleProtocol: add missing assignment 2015-08-16 13:13:53 +02:00
Andreas Shimokawa 6af0bb2754 Pebble: Do not hardcode icon id for metadata installation, properly acknowledge app fetch requests 2015-08-16 11:33:32 +02:00
Andreas Shimokawa a4f5524f6e Pebble: blindly implement missing parts for app installation on FW 3.x
This is expected to fail and needs to be enable in preferences (untested features).
2015-08-16 00:32:36 +02:00
cpfeiffer 567f27b0f4 Some initial fixes found by static analysis #92 2015-08-16 00:17:16 +02:00
cpfeiffer 929831e4f0 Add travis-ci badge #92 2015-08-15 23:21:42 +02:00
cpfeiffer 5e233f6eb9 First attempt at travis-ci integration #92 2015-08-15 23:02:39 +02:00
cpfeiffer 3486b5ab69 Static code analysis: run findbugs, pmd and lint at 'gradle check' #92
As a start, the build won't abort on any serious errors.
2015-08-15 23:02:38 +02:00
Andreas Shimokawa a5e009b371 update changelog 2015-08-15 22:46:04 +02:00