Commit Graph

891 Commits

Author SHA1 Message Date
cpfeiffer b7223c7e86 Initial support for transaction-local GattCallbacks (not used yet)
So that we won't have to mix everything in MiBandSupport
2015-08-05 23:26:09 +02:00
Daniele Gobbetti 495a8cc650 Reorder the lines in the MiBandService class.
No functional changes, just clarity enhanchement.
2015-08-05 17:32:02 +02:00
Daniele Gobbetti 65fc6f6866 Adapt the Firmware installer activity to the new FirmwareHelper 2015-08-05 17:31:11 +02:00
cpfeiffer e92c9dbbb5 Better check for fw version major (#30) 2015-08-04 23:08:40 +02:00
cpfeiffer 910d9ef398 Make firmware reading a bit more failsafe #30 2015-08-04 23:02:36 +02:00
cpfeiffer bdc9e70e6e Attempt to fix reconnection problems after being away from the Mi Band
*untested*
2015-08-04 22:03:10 +02:00
cpfeiffer c407ed1a76 Last refactoring for now: BluetoothCommunicationService
- rename to DeviceCommunicationService
- move all bluetooth related bits into separate DeviceSupportFactory
  class
2015-08-04 01:01:14 +02:00
cpfeiffer db4261e02b More refactoring: new service/devices package and service/bt package 2015-08-03 23:51:53 +02:00
cpfeiffer 7c597b325a Big refactoring: move classes and packages around to get a better structure
- model package contains mostly shared interfaces (UI+service), not named GB*
- impl package contains implementations of those interfaces, named GB*
  the impl classes should not be used by the service (not completely done)
- the service classes should mostly use classes inside the service and deviceevents
  packages (tbd)

Every device now has two packages:
- devices/[device name] for UI related functionality
- service[device name] for lowlevel communication
2015-08-03 23:09:49 +02:00
Daniele Gobbetti afc4c9efaa Added some javadocs 2015-08-03 18:35:58 +02:00
Daniele Gobbetti c798cd00fe Prevent tearing of the barchart values over other graph elements 2015-08-03 18:34:58 +02:00
Andreas Shimokawa 94b9736a5d actually bump version 2015-08-03 09:15:32 +02:00
cpfeiffer 1b1d60faa8 Updated 2015-08-03 01:36:54 +02:00
cpfeiffer e9f693942a Updated translations from transifex (thanks!) 2015-08-03 01:29:06 +02:00
cpfeiffer 802f48011d Refactoring of database access
- the db is now exclusively locked for one thread
- the charts read from the db and analyze data in a background thread

+ some small cleanups
2015-08-03 01:21:44 +02:00
cpfeiffer 9ca595a5cb Some javadocs 2015-08-02 00:12:21 +02:00
Daniele Gobbetti 216cdad591 update CHANGELOG.md 2015-07-31 16:19:32 +02:00
Daniele Gobbetti 46ee5a5499 Send the wear location (left hand / right hand) to the MiBand. 2015-07-31 16:19:32 +02:00
Daniele Gobbetti 69ddead8fb Reorder the COMMAND_ constants so that they are in numerical order 2015-07-31 16:19:03 +02:00
Daniele Gobbetti 5b3510fade Update the firmware-update notification based on the feedback we get from the band. 2015-07-31 16:18:09 +02:00
Daniele Gobbetti 2208d5088b Remove the timeout and handle the messages that the band sends back to acknowledge its status.
This should make the firmware transfer much more reliable and hopefully release-ready.
2015-07-31 12:30:42 +02:00
Daniele Gobbetti fbbc2afda4 Add a timeout of 1 second before rebooting after firmware update. 2015-07-31 11:28:03 +02:00
Daniele Gobbetti 0a6dc8f7a0 Double the filter sections for opening pebble apps/firmwares and miband firmwares
There are some inconsistencies across ROMs: some need the mimetype filter to be present in order to match the file extension, other refuse to do so if the filter is present. Current strategy is to satisfy both requirements by duplicating the filter element.
2015-07-30 17:14:44 +02:00
Daniele Gobbetti e4ddbf4aaa Update CHANGELOG.md 2015-07-30 11:58:38 +02:00
Andreas Shimokawa 0eeb5a6479 PebbleGadgetBridgeSampleProvider: properly override getID() 2015-07-29 23:28:10 +02:00
Daniele Gobbetti 878afd79df Allow the user to set the target number of steps for each day (fitness goal), both in the sharedpreferences and in the MiBand.
The value is then used in the graphs.

#31 #44
2015-07-29 18:49:16 +02:00
Daniele Gobbetti 27669761bf Fix potential race condition when counted steps are above the daily target.
Also added a few comments wrt the labels and the values of the pie chart.
2015-07-29 18:07:35 +02:00
Daniele Gobbetti 3ed4856bf6 Update CHANGELOG.md 2015-07-29 17:31:53 +02:00
Daniele Gobbetti c05cfc775e New chart showing the steps done today and in the last week.
#31 #44
2015-07-29 16:30:19 +02:00
Andreas Shimokawa f51ffcf16f Use animated upload icon for installation progress notification
Also fix a bug which caused the main gadgetbridge service notification to be reused for the installation notification
2015-07-28 23:10:21 +02:00
Daniele Gobbetti 1bef702485 Send the progress updates from the actual BT transfer, which is where most of the time is spent. 2015-07-28 22:38:52 +02:00
Daniele Gobbetti 23f752dc20 New firmware tested. 2015-07-28 22:03:53 +02:00
Daniele Gobbetti 14f754306d Use a single queue for the whole firmware transfer.
At the moment the progress bar code is not useful because the FW preparation is almost instantly done, and is the BT transfer that takes time.

The transfer happens when the getQueue method is called, and there is no progress info that I can find.
2015-07-28 19:15:25 +02:00
Andreas Shimokawa 732f26823b move installer progressbar from PebbleIoThread to GB and use that for Mi Band fw installation 2015-07-28 18:44:54 +02:00
Andreas Shimokawa 9f591ef8b5 Refactoring: Merge Pebble app/fw installer activity and Miband firmware update Activity 2015-07-28 17:30:20 +02:00
Andreas Shimokawa c3853c7735 Merge remote-tracking branch 'origin/firmware_update' 2015-07-28 16:21:57 +02:00
cpfeiffer 858c962dd0 Refactoring #45
- add some device and db independent model interfaces for activity samples
- use these model interfaces where possible
- chart activity does not do device dependent rendering anymore and uses
  normalized values for all devices
- initial interface for daily summaries
2015-07-28 00:05:05 +02:00
Andreas Shimokawa 91b8d7789d Pebble: improvemnts for upcoming Gadgetbridge Pebble watchapp 2015-07-27 23:21:06 +02:00
Andreas Shimokawa dbbcf20bbc reformat code 2015-07-25 21:52:52 +02:00
Daniele Gobbetti 47cbf68c37 Merge remote-tracking branch 'upstream/master' into firmware_update 2015-07-25 21:36:46 +02:00
Daniele Gobbetti c4590d3989 Update Changelog.
Typo
2015-07-25 21:31:22 +02:00
Daniele Gobbetti 0dd29807b2 Update Changelog.
Prepare for release
2015-07-25 21:29:31 +02:00
Daniele Gobbetti 8f840df5f6 Set GB notification visibility to public.
This way on android 5 the status of the connection is shown also on the lockscreen even if the user chose to hide sensible content of the notifications.
2015-07-25 21:14:18 +02:00
cpfeiffer 716bbc7b78 Avoid NPE when fetching activity data:
java.lang.NullPointerException: Attempt to write to field 'int nodomain.freeyourgadget.gadgetbridge.miband.MiBandSupport$ActivityStruct.activityDataHolderProgress' on a null object reference
        at nodomain.freeyourgadget.gadgetbridge.miband.MiBandSupport.flushActivityDataHolder(MiBandSupport.java:748)
        at nodomain.freeyourgadget.gadgetbridge.miband.MiBandSupport.handleActivityNotif(MiBandSupport.java:689)
        at nodomain.freeyourgadget.gadgetbridge.miband.MiBandSupport.onCharacteristicChanged(MiBandSupport.java:583)
        at nodomain.freeyourgadget.gadgetbridge.btle.BtLEQueue$2.onCharacteristicChanged(BtLEQueue.java:369)
2015-07-25 00:09:24 +02:00
cpfeiffer a1f60aab91 Fix logging configuration
Make sure to not invoke any logging before it is properly configured.
2015-07-25 00:09:24 +02:00
Andreas Shimokawa 49cc4ec9d6 Pebble: for 3.x notification, do not zero parent UUID
instead reuse the same reandom UUID again.
2015-07-24 09:33:20 +02:00
Andreas Shimokawa 91cc19befe Pebble: spoof a newer application version (3.x) 2015-07-24 01:34:50 +02:00
Daniele Gobbetti f16a96e9b2 Initial support for upgrading firmware of the MiBand.
This release seems to be working quite well with respect to the firmware upgrading itself. The user facing part needs more work.

In order to update the firmware one has to:
- open a file ending with .fw
- switch from the firmware upgrade activity to the main one
- connect to the miband
- return to the firmware upgrade activity
- press the "install" button (that became active when the device connection was established)

Caveats:
There are almost no check wrt. the integrity of the firmware files.
2015-07-23 17:14:51 +02:00
Andreas Shimokawa 844d929748 update remaining languages from transifex
Please fix the removed strings on transifex. Some of them might have been removed because the original english string has been changed.
2015-07-23 16:00:36 +02:00
Andreas Shimokawa 69f4b11594 update Korean translation from transifex 2015-07-23 15:56:47 +02:00