1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-19 00:19:25 +01:00
Commit Graph

492 Commits

Author SHA1 Message Date
cpfeiffer
8dee55198e Don't (always) leak the file descriptor.
It's still very much possible to leak the descriptor (when an exception occurs
somewhere in between or anything else goes wrong). So maybe the whole thing
should be redesigned to be independent of files.
2015-08-06 00:45:07 +02:00
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