1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-08-04 13:02:12 +02:00
Commit Graph

170 Commits

Author SHA1 Message Date
cpfeiffer
c79eda5507 Remove "tapString" from DeviceCoordinator 2017-05-19 22:35:37 +02:00
Andreas Shimokawa
b1d1e701f9 Pebble: map walk and run to TYPE_ACTIVITY instead of UNKNOWN
fixes speed zones chart being empty for pebble health
2017-05-15 22:30:07 +02:00
Andreas Shimokawa
86392dbf06 Merge branch 'master' into background-javascript 2017-04-20 14:34:32 +02:00
Andreas Shimokawa
7ee20348db Only sync Calendar and Sunrise/Sunset on devices that support it 2017-04-19 21:51:23 +02:00
Daniele Gobbetti
5c0c5581bb Merge branch 'master' into background-javascript
# Conflicts:
#	app/src/main/assets/app_config/js/gadgetbridge_boilerplate.js
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinator.java
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java
2017-04-08 21:16:01 +02:00
Andreas Shimokawa
7c63f92aaa Remove obsolte and unused code related to old and unsupported activity database 2017-03-20 22:27:17 +01:00
Andreas Shimokawa
fe07e09d41 Fix firmware installation on Pebble Time Round
Closes #602
2017-03-17 22:34:50 +01:00
Andreas Shimokawa
06c89b508e Merge branch 'master' into background-javascript 2017-03-16 18:01:51 +01:00
License Bot
6a842c52fa Update license header in all java files. 2017-03-16 17:36:15 +01:00
Andreas Shimokawa
09f3dad9ff Merge branch 'master' into background-javascript 2017-03-11 22:03:29 +01:00
Daniele Gobbetti
0ac77fc0a4 Remove the legacy ControlCenter and its usages. Add New GUI to the changelog. 2017-03-11 19:49:57 +01:00
Translation Bot
a14e14eeb9 Merge branch 'master' into background-javascript 2017-03-10 23:14:40 +01:00
License Bot
e392fbfd80 Add license header to all java files. 2017-03-10 14:53:19 +01:00
cpfeiffer
53dbc54041 Only start the webview when needed 2017-02-25 22:02:40 +01:00
Daniele Gobbetti
2eb43fa740 Pebble: Fix for week sleep chart amounts (the colors are still wrong) 2017-02-25 12:52:24 +01:00
Andreas Shimokawa
b3cddebdbb Pebble: ensure a better error message if someone tries to install a FW 1.x pbw 2017-02-05 22:50:42 +01:00
cpfeiffer
ba7d13fa5d Disable smart alarms for Mi2
Closes #471
2017-01-26 21:09:49 +01:00
cpfeiffer
ac68bfe351 Mi Band 1+2: backend implementation of making BT pairing optional
- cleaned up the DeviceService.connect() variants
- discovery: pass the device candidate around instead of the mac address

Attempts to fix #512, #514, #518
2017-01-26 00:16:38 +01:00
Andreas Shimokawa
ed020c2a97 Pebble: raise limit of appinfo.json. Some pbws have huge ones :/
Fixes #505
2017-01-18 21:47:15 +01:00
cpfeiffer
aadde7d1ca Port to UriHelper, fix potential resource leak 2016-12-29 01:41:47 +01:00
cpfeiffer
a96a747119 Pebble: fix resource leak on app installation 2016-12-29 01:29:28 +01:00
Daniele Gobbetti
4ce890b5ce Pebble: support opening files from the system share intent 2016-12-27 13:02:02 +01:00
Andreas Shimokawa
3441192d19 Pebble 2: Fix Pebble Classic FW 3.x app variant being priorized over native Pebble 2 app variant
Fixes #475
2016-12-25 23:11:49 +01:00
Uwe Hermann
0746aaa579 app: Random typo and consistency fixes. 2016-12-01 20:22:12 +01:00
Andreas Shimokawa
16b4bfd0e7 Pebble LE: also return to control center if successfully initialized 2016-11-27 10:38:16 +01:00
Andreas Shimokawa
34ad088b88 Pebble: Experimental support for BLE on all models via dev option in Pebble Settings
HOWTO:
1) Pair you normal Pebble (not necessary if already done), make sure it was connected once
2) Unpair your LE pebble if already paired
3) Switch on "Always prefer BLE" in Pebble Settings
4) Tap on the + in Control Center to add a new device
5) Pair your Pebble-LE XXXX or Pebble Time LE XXXX inside Gadgetbridge's Device Discovery actibity

Now Gadgetbridge will connect to your LE Pebble when tapping on Pebble XXXX if "Always Prefer BLE" option is enabled.
You can easily switch back to classic LE by turning that option off again
2016-11-27 09:49:28 +01:00
cpfeiffer
b9ff2cd468 A few improvements to discovery
- display the right icon for found device candidates
- scan for specific LE services
2016-11-27 01:09:20 +01:00
Andreas Shimokawa
029cc02a29 Pebble: Add Pebble specific pairing activity mainly useful for Pebble 2 since it properly pairs the Pebble after connecting with BLE
Fixes #433
2016-11-19 22:13:00 +01:00
Andreas Shimokawa
485cda52a8 Pebble 2: actually report HRM feature to Charts Activity 2016-11-15 23:41:35 +01:00
Daniele Gobbetti
1f77e3e84f Coordinator: add explicit methods to determine if the device supports app management and which class is responsible for it. 2016-10-25 17:39:11 +02:00
cpfeiffer
a39e3a035c Move device deletion logic to DeviceCoordinator and subclasses 2016-10-24 20:02:44 +02:00
Andreas Shimokawa
cd195a5969 map more apps to notification types (icons and colors on the pebble) 2016-10-11 11:54:52 +02:00
Andreas Shimokawa
696611d392 Do not show "your activity" if activity tracking is not supported 2016-09-20 22:02:40 +02:00
cpfeiffer
411a90326e Fix method name 2016-09-04 22:39:35 +02:00
cpfeiffer
bfaaed7e5c Detcach samples from the session after querying, to save memory 2016-08-27 21:40:46 +02:00
cpfeiffer
c59553c9c9 Rename GBDevice#hardwareVersion to model
(e.g. while DeviceType is "PEBBLE" in general, the model
might specify a Pebble Time or Time Steel.
2016-08-26 20:57:59 +02:00
Daniele Gobbetti
0126b90f20 Store the timestamps as sent by the pebble. Use a strict inequality operator at the end of the period to exclude the last sample. 2016-08-18 21:44:06 +02:00
cpfeiffer
fbf06c1fe3 Separate coordinator and support instances for Mi1 and Mi2 #323
+ Some more testing stuff for Mi2
2016-08-17 00:53:16 +02:00
Daniele Gobbetti
23c289ce1a Use the real raw values as received by the device.
Some types were also added, even though they are educated guesses.
2016-08-09 20:22:05 +02:00
Daniele Gobbetti
22d0387f76 Fix the comparison order again ,as it was correct originally.
Partial revert of 5cfddbb7e9
2016-08-09 20:05:42 +02:00
Daniele Gobbetti
5cfddbb7e9 Use the right properties to build the query and fix the comparison operators.
Performance: iterate first on the smaller dataset.
2016-08-09 17:52:07 +02:00
Andreas Shimokawa
fe5ec74ca1 Pebble Health: read overlay data in sample provider and patch in raw kind
completely untested
2016-08-09 11:56:05 +02:00
Andreas Shimokawa
af58b4600d whoops 2016-08-07 12:15:40 +02:00
Andreas Shimokawa
c4f83d68cd refactoring: add generic support for manually filtering samples by acticty kind in AbstractSampleProvider
This allows a lot of simplifications for Morpheuz and Misfit
2016-08-07 11:45:09 +02:00
Andreas Shimokawa
6b2565e4c9 DB refactoring: remove activity type from Morpheuz database, determinate it in PebbleMorpheuzSampleProvider instead 2016-08-07 01:47:15 +02:00
Andreas Shimokawa
8ba1ae3f3e create extra table for Morpheuz, remove more unused stuff
Pebble activity tracker now do not share a common base anymore.

TODO: consider creating a custom way of querying activity types like in Misfit. The activity kind stored in the database now is solely based on the intensity, so it is redundant.

(#206)
2016-07-31 00:06:26 +02:00
Andreas Shimokawa
eabe625c47 rename some classes, remove obsolete ones 2016-07-30 23:22:27 +02:00
Andreas Shimokawa
8ea29e6e1d Refactor database / sample access (#206)
We now have separate tables for each provider's samples but a common interface.
2016-07-27 23:34:13 +02:00
Andreas Shimokawa
726f767576 work towards a Pebble Misfit raw sample table 2016-07-25 22:19:39 +02:00
cpfeiffer
aa00d2f93a Avoid NPEs when device-name is null 2016-07-12 00:24:23 +02:00
Andreas Shimokawa
340a0f4a66 Fix coordinators not recognitzing devices by name
Do not ask a device candidate for its name , ask the underlying BluetoothDevice
The candidate uses the device alias - not good for matching
2016-07-09 23:10:21 +02:00
Andreas Shimokawa
73b2fc357e Pebble: Add some Pebble Time 2 support - NOT WORKING
Not working because these are expected to use BLE.
The Emulator should work though.
2016-07-04 22:09:56 +02:00
cpfeiffer
e70a2290c3 sampleproviders now return device specific data #206 2016-06-27 20:43:48 +02:00
cpfeiffer
45fa930ac3 Properly check support for heartrate measurements 2016-06-19 23:22:28 +02:00
cpfeiffer
9772d8af06 Merge remote-tracking branch 'origin/master' into db-refactoring 2016-06-19 21:14:03 +02:00
cpfeiffer
41e6833b2d Getting closer... db migration almost works. 2016-06-18 01:26:36 +02:00
Andreas Shimokawa
79b439da28 Implement App Sorting
- grab icon to move apps
- cache can be sorted but nothing will be send to watch
- if sorting apps or watchfaces, order will be sent to watch
- we try to keep track of what is installed and what not

Firmware 2.x is currently not working properly
2016-06-17 22:43:06 +02:00
cpfeiffer
d544509b60 Merge remote-tracking branch 'origin/master' into db-refactoring 2016-06-16 21:55:16 +02:00
cpfeiffer
687beee501 Migration work 2016-06-16 21:54:53 +02:00
Andreas Shimokawa
65ac4b364f Merge branch 'master' into appmanager-fragments 2016-06-16 01:09:35 +02:00
Andreas Shimokawa
9f61458790 Pebble: Allow installation of aplite apps on diorite 2016-06-16 00:59:15 +02:00
Andreas Shimokawa
1c6c78507c Merge branch 'master' into appmanager-fragments 2016-06-15 22:53:41 +02:00
Andreas Shimokawa
d225743d64 Pebble: some preparations for Pebble 2 2016-06-15 22:53:05 +02:00
cpfeiffer
71d99384c1 Cleanup, remove duplicated code, fix some TODOs 2016-06-14 23:10:35 +02:00
Andreas Shimokawa
1d6a697000 playing around with fragments 2016-06-14 15:56:38 +02:00
cpfeiffer
3b87966fe9 Merge branch 'master' into db-refactoring 2016-06-06 22:16:40 +02:00
Andreas Shimokawa
ca714417ac Pebble: also copy pbw to cache on Firmware 2.x
Neccessary step towards watchface configuration on 2.x
2016-05-22 11:33:14 +02:00
cpfeiffer
3e0bc16741 More WIP, but we're getting closer
current state:
- storing samples works (tested only mi band)
- charts work
2016-05-16 23:00:04 +02:00
cpfeiffer
8ca821ab8a More WIP on db refactoring 2016-05-13 23:47:47 +02:00
cpfeiffer
d0c8483d92 More WIP 2016-05-08 23:49:15 +02:00
cpfeiffer
9532fc879f "Ported" to AbstractSampleProvider 2016-05-08 23:17:05 +02:00
Andreas Shimokawa
619a17425f Mi Band: Display hint about starting Activity Activity instead of App Manager
TODO: Fix the string, I have no idea how to properly name the Activity Activity
2016-05-04 12:31:29 +02:00
cpfeiffer
0704915a88 Move parsing of preference strings to int values to Prefs 2016-04-25 23:39:03 +02:00
cpfeiffer
0c715a2669 Wrap access to SharedPreferences with "Prefs"
(to centralize quirk handling)
2016-04-25 23:18:55 +02:00
Andreas Shimokawa
dbeded8d04 In Control Center, do not show alarm configuration in context menu if device does not support it 2016-03-20 17:53:55 +01:00
Andreas Shimokawa
a3ee3c15fc Pebble: copy pebble-app-js.js out of the pbw upon installation not upon reading the .pbw
This eliminates the need to copy the whole file into a byte[], and all file size limts are gone.
2016-03-08 11:41:20 +01:00
Andreas Shimokawa
f616e4f571 Pebble: skip .js file if too large instead of breaking installation
(Hotfix)
2016-03-03 17:46:58 +01:00
Andreas Shimokawa
63d938559e pass GBDevice down to ExternalPebbleJSActivity to determine the platform version (aplite,basalt,chalk) 2016-03-03 11:52:30 +01:00
Daniele Gobbetti
089a59168e Initial support for using an external browser for configuring pebble apps. This allows existing configuration pages to work without having internet access ourselves.
This is a better approach as initially thought in #191.

What is missing is outlined in the (several) TODOs.
2016-03-02 21:07:27 +01:00
Andreas Shimokawa
fc464d112d change some more short and byte to int regarding Morpheuz 2016-02-29 23:13:07 +01:00
Andreas Shimokawa
ed85fd5011 convert byte and short values related to activity tracking to int
This avoids a lot of problems because java
- does not know unsigned values
- jvm and dalvic do not internally support byte and short
- sqlite does not know them either
2016-02-29 20:54:39 +01:00
Andreas Shimokawa
c449181083 Pebble: store appKeys in .json also.
Rumour says someone needs it soon...
2016-02-27 11:40:37 +01:00
Andreas Shimokawa
70ae5a2a3a Pebble: Allow to select the preferred activity tracker via settings activity (Health, Misfit, Morpheuz) 2016-02-18 20:41:22 +01:00
Daniele Gobbetti
20c4e49fe1 Refactoring of the Pebble Health steps data receiver.
Added logic to deal with pebble health sleep data.
Added database helper to change the type of a range of samples (needed for sleep data).
Fixes to the Pebble Health sample provider.
2016-02-09 17:52:21 +01:00
danielegobbetti
2f8207abf9 Initial support for reading pebble health steps/activity data. 2016-02-07 09:27:51 +01:00
Andreas Shimokawa
0c805809a5 Pebble: allow pbw installation with appinfo.json files up to 64k (was 8k)
Fixes DIN watchface installation
2015-12-21 22:32:27 +01:00
Andreas Shimokawa
b1954eec3e make use of some new icons 2015-12-11 21:38:43 +01:00
Andreas Shimokawa
4528aaf22f Pebble: Allow installing apps compiled with SDK 2.x also on the balast platform (pebble time, pebble time steel) 2015-12-11 21:11:55 +01:00
Andreas Shimokawa
f59382e3c8 Pebble: Show correct icon for activity tracker and watchfaces in app installer (language and fw icons still missing) 2015-12-08 18:32:17 +01:00
Andreas Shimokawa
62c196eb1d Pebble: determine pbw type early for correct display in pbw-cache on firmware 3.x 2015-12-08 13:23:07 +01:00
Andreas Shimokawa
3ac00a004f Pebble: Support installing .pbl (language files) on firmware 3.x 2015-12-08 12:07:14 +01:00
Andreas Shimokawa
1c3e0b628b Pebble: store app details in pbw-cache and display them in app manager on firmware 3.x
Improves #93
2015-12-07 18:16:23 +01:00
Andreas Shimokawa
b05cfc6aac Pebble: fix crash on firmware 3.x when pebble requests a pbw that is not in Gadgetbridge's cache 2015-12-06 17:56:46 +01:00
Andreas Shimokawa
79f92b8495 Fix installing pbw files from different URIs than local files on Firmware 3.x. Fixes #183 2015-12-06 17:22:07 +01:00
Andreas Shimokawa
9ebb320e10 fix installing pbz/pbw files from content provides (eg. download manager)
This still does not fix pbw isntallation problems with FW 3.x since the content does not get copied to the pbw cache yet when content providers are involved
2015-12-06 16:48:43 +01:00
Andreas Shimokawa
bc108ba095 Pebble: support installing 3.x apps on OG Pebble 2015-12-05 16:06:42 +01:00
cpfeiffer
bd0716ba58 Some more lint warnings fixed 2015-11-23 23:04:46 +01:00
cpfeiffer
81c2f657bd Some lint fixes 2015-11-23 22:46:12 +01:00
cpfeiffer
d4f070f0aa Simplify external dir handling again -- prefer the primary dir
The primary external dir is often a user-partition on the internal
storage medium. This one is safe in multi-user environments.

The "removable storage" (sdcard) on the other hand can be read by
everyone. If the former is not available or not writable, use the
latter.

closes #153
2015-11-01 20:49:50 +01:00
cpfeiffer
4200e77016 Disable activity data fetching when not supported
Closes #149
2015-10-24 23:28:55 +02:00