1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-31 20:11:58 +02:00

123 Commits

Author SHA1 Message Date
oliexdev
af8887eb8a remove pro and light version updated for releasing openScale 2.5.4 oss version 2025-06-27 09:40:07 +02:00
oliexdev
5aef28cabc update openScale to version 2.5.3 2024-12-14 17:05:31 +01:00
oliexdev
18861cd7aa updated to the latest libraries version 2024-11-17 10:57:17 +01:00
oliexdev
b98c143216 updated library dependencies 2024-05-20 10:56:33 +02:00
oliexdev
31eb9ae2f5 update openScale to version 2.5.2 2023-07-29 12:12:06 +02:00
oliexdev
529f018350 set transparent color for active indicator on navigation bar. 2023-07-29 12:08:10 +02:00
oliexdev
16336cc04e library versions updated 2023-07-22 08:54:27 +02:00
oliexdev
a34e68256e update openScale to version 2.5.1 2023-02-27 09:33:46 +01:00
oliexdev
df6dc39094 update openScale to version 2.5.0 2023-02-12 16:51:36 +01:00
oliexdev
c60b8c5be6 replace Fragment for navHostFragment with FragmentContainerView 2023-01-28 13:09:50 +01:00
oliexdev
a59a96151e update request runtime permissions to new Android methods 2023-01-20 14:01:03 +01:00
oliexdev
35f516f9cc update library dependencies 2022-12-08 16:02:40 +01:00
oliexdev
816f8f84a0 update openScale to version 2.4.6 2022-04-23 11:40:02 +02:00
oliexdev
9907522fbf update libraries 2022-04-15 12:08:28 +02:00
oliexdev
b273e5f61f update libraries and request ACCESS_FINE_LOCATION for SDK < 29 2022-04-15 11:30:06 +02:00
oliexdev
e99ee375be update openScale to version 2.4.5 2021-11-16 19:59:54 +01:00
oliexdev
7a0dcff820 update openScale to version 2.4.4 2021-11-15 10:29:17 +01:00
oliexdev
9947c5b955 added mutable flags for Android 12, see #791 2021-11-15 09:32:27 +01:00
oliexdev
49ae42b508 update openScale to version 2.4.3 2021-11-12 20:31:02 +01:00
oliexdev
fc02ea3008 update openScale to version 2.4.2 2021-11-12 07:36:23 +01:00
oliexdev
ff4b1c88aa don't include version number into the apk filename for debug build type so Travis can find it 2021-11-09 10:21:41 +01:00
oliexdev
0abf478602 check for new Bluetooth permissions in Android version >= 31, see #779 2021-11-05 08:49:19 +01:00
oliexdev
805181224d update openScale to version 2.4.1 2021-10-11 17:42:30 +02:00
oliexdev
8251ee7ba5 update openScale to version 2.4.0 2021-10-10 13:00:24 +02:00
Krišjāns Bluķis
c9c6ca30bb Basic support for Beurer BF105, BF600, BF850, BF950 and Silvercrest SBF77; (#753)
* added code to register a new user and use a consent code for an existing scale

* BlueToothStandardWeightProfile: move access to SharedPreferences to wrapper functions;

* BlueToothStandardWeightProfile: rename CHARACTERISTIC_USER_BIRTHDAY to
CHARACTERISTIC_USER_DATE_OF_BIRTH to match Bluetooth documentation;

* Drop unused import: java.util.GregorianCalendar;

* BluetoothStandardWeightProfile: create new user if missing either consent
code or scale user index;

* BluetoothStandardWeightProfile: update user's initialWeight only for user
that is being currently created;

* BluetoothStandardWeightProfile: store user data after InitialWeight update;

* BluetoothStandardWeightProfile: fix user ID detection for weight and body composition measurements;

* BluetoothStandardWeightProfile: remove unused class variables;

* BluetoothStandardWeightProfile: simplify scale user selection code;

* BluetoothStandardWeightProfile: add wrapper to set user activity level when creating new scale user;

* BluetoothStandardWeightProfile: add wrapper to request scale measurement;

* BluetoothBeurerBF105: use base class methods to access SharedPreferences;

* BluetoothStandardWeightProfile: use scale user index to set user id in measurement database;

* BluetoothStandardWeightProfile: separate measurement parsing and storing;

* basic Beurer BF600 support;

Based on BluetoothBeurerBF105 by jensMF <jens.freudenthal@zoho.com>;

* BluetoothStandardWeightProfile: Update state machine: use enum with meaningful names instead of hard-coded integers;

* BluetoothBeurerBF600: fix new scale user creation.
Birthday in BF600 consists only from date, no time fields.

* BluetoothStandardWeightProfile: Add wrappers and SM states to request vendor-specific scale user-list;

* BluetoothBeurerBF600: read vendor specific user list, based on BluetoothBeurerBF105 by jensMF <jens.freudenthal@zoho.com>;

* BluetoothStandardWeightProfile: fix unbinding of userScaleIndex from app userId;

* Implement dialog to select existing scale user and enter scale user pin/consent code.

* BluetoothStandardWeightProfile: show warning if scale battery level below 10%;

* BluetoothStandardWeightProfile: When creating new scale user: request user to step on scale barefoot;

* Reconnect Bluetooth scale after user enters consent code or selects scale user;

* BluetoothFactory: threat Beurer BF850 and BF950 the same as BF600;

* BluetoothStandardWeightProfile: fix max stepNr warning message;

* BluetoothStandardWeightProfile: Refactor onBluetoothNotify(): move handling of User Control Point to separate function;

* BluetoothStandardWeightProfile: make debug messages about User Control Point more explicit;

* BluetoothStandardWeightProfile: make debug messages about unhandled notifications more explicit;

* BluetoothStandardWeightProfile: make decoding of weight and body composition measurements more verbose;

* BluetoothStandardWeightProfile: merge previous and new measurement if new measurement lacks user id (and timestamp);

Bluetooth scales usually implement both "Weight Scale Feature" and
"Body Composition Feature". It seems that scale first transmits weight
measurement (with user index and timestamp) and later transmits body
composition measurement (without user index and timestamp).
If previous measurement contains user index and new measurements does not
then merge them and store as one.
NOTE: On scales that implement only Weight Scale feature (or only Body
Composition feature) this commit will cause last measurement transmitted
to be delayed until disconnect.

* BluetoothStandardWeightProfile: Calculate lean body mass and bone mass;

Thanks to Adam Serbinski <adam@serbinski.com> for providing formulas!

* BluetoothStandardWeightProfile: remove redundant constant;

* BluetoothBeurerBF600: cosmetic: fix newline;

* BluetoothGattUuidBF600: show scale user initials (if set) instead of sale user index;

* BluetoothSwpSBF77 experimental support for SBF77 based on BF600 and BF105;

* BluetoothCommunication: Stop state machine only if setNotification operation was enqueued;

* BluetoothStandardWeightProfile: avoid hang if battery service is not implemented by connected device;

* BluetoothFactory: treat BF950 like SBF77;

* BluetoothSwpSBF77: show scale user initials (if set) instead of sale user index;

* BluetoothStandardWeightProfile: reuse common method to decode vendor specific scale user data;

* BluetoothBeurerBF600 and BluetoothSwpSBF77: show debug message if setNotifyVendorSpecificUserList() passed or failed;

* BluetoothSwpSBF77: Add UUID to send user initials to BF960;

* BluetoothSwpSBF77: send user activity level to scale (Beurer BF950 and SBF77);

* BluetoothSwpSBF77: Implement request to perform measurement (Beurer BF950 and SBF77);

* BluetoothSwpSBF77: cosmetic: fix white-space;

* update Blesses library version to 2.0.11

* usage of default scale user constructor

* move custom scale characteristics into their scale classes

* usage of string resources instead of hard coded strings

* BluetoothStandardWeightProfile: Fix writeBirthday() method according to Bluetooth GAAT_Specification_Supplement_v4 chapter 3.59.2;

Remove writeBirthday() overrides in classes that extends BluetoothStandardWeightProfile;

* BluetoothBeurerBF105: reuse state-machine and helper functions from BluetoothStandardWeightProfile;

* BluetoothBeurerBF105: use 0 instead of 1 when requesting user list;

Vendor application also seems to be using 0 (according to btsnoop_hci.log from BF105);

* BluetoothStandardWeightProfile: move user initials helper functions to base class;

* BluetoothCommunication: fix needReConnect() function;

Was broken by: update Blesses library to version to 2.0.11 (95e1d1298b);

* BluetoothBeurerBF105: move call to writeInitials() to base class;

* BluetoothBeurerBF600: write user initials if specific characteristic exists on scale;

Works on Beurer BF850. On Beurer BF600 there is no user initials;

* BluetoothSwpSBF77: write user initials if specific characteristic exists on scale;

Should work on Silvercrest SBF77 and Beurer BF950;

* BluetoothStandardWeightProfile: use resource strings instead of hard coded strings

* BluetoothStandardWeightProfile and BluetoothCommunication: catch IllegalArgumentException in setNotificationOn();

It seems that blessed library 2.0.11 (95e1d1298b)
returns non-null object from getCharacteristic() even if characteristic is not
available and then trows exception later;

* BluetoothStandardWeightProfile: fix crash when user name starts with space character;

* BluetoothStandardWeightProfile: fix crash when user name contains two words with two or more spaces between them;

* BluetoothSwpSBF77: prepare to merge BluetoothSwpSBF77 and BluetoothBeurerBF105;

Change function order in file to reduce diff;

* BluetoothSwpSBF77: cosmetic code formatting change;

* BluetoothStandardWeightProfile: stop state-machine after requesting scale user list;

Co-authored-by: jensMF <jens.freudenthal@zoho.com>

* BluetoothStandardWeightProfile: remove doubled call;

Co-authored-by: jensMF <jens.freudenthal@zoho.com>

* BluetoothStandardWeightProfile: make this class abstract and make stub functions abstract also;

* BluetoothStandardWeightProfile: convert VENDOR_SPECIFIC_MAX_USERS into abstract function;

* Refactor: Rename BluetoothSwpSBF77 to BluetoothBeurerBF950;

* BluetoothBeurerBF950: use BluetoothBeurerBF105 as base class; Affects BF950 and SBF77;

* BluetoothFactory: remove commented code about BluetoothStandardWeightProfile;

All mentioned scales have proper classes implemented;

* BluetoothStandardWeightProfile: fix bug: app requests to select scale user on each connection if scale have maximum number of users;

* update libraries to newest version and added some comments

Co-authored-by: jensMF <jens.freudenthal@zoho.com>
Co-authored-by: oliexdev <olie.xdev@googlemail.com>
2021-10-10 11:00:08 +02:00
oliexdev
49e4cd8867 upgrade dependencies 2021-08-21 16:24:05 +02:00
oliexdev
2082f3e0c7 update openScale to version 2.3.5 2020-12-13 14:41:10 +01:00
oliexdev
049139b3c0 update openScale to version 2.3.4 2020-12-11 07:43:06 +01:00
oliexdev
e5880e954e update openScale to version 2.3.3 2020-11-26 07:00:37 +01:00
oliexdev
009b2c63a6 fix archives base name for every build types 2020-11-05 14:49:31 +01:00
oliexdev
2aecf2c4e6 update openScale to version 2.3.2 2020-11-05 14:25:50 +01:00
OliE
ef45f393ac Libra like Trendline (#625)
implemented the Hacker's Diet Libra like trendline based on an exponentially smoothed moving average calculation, see issue #436
2020-09-13 15:16:49 +02:00
oliexdev
6bb730b153 fixed travis apk build bug 2020-08-16 17:10:47 +02:00
oliexdev
3594739651 set correctly tint color if night mode is globally on but in openScale theme mode is light, see issue #611 2020-08-16 08:44:59 +02:00
oliexdev
629507e6fe update to version 2.3.1 2020-08-15 08:58:39 +02:00
oliexdev
b72d1bd2ac added support for round launcher icons and update version to 2.3.0 2020-06-16 11:21:55 +02:00
OliE
5b5274e798 Androidx refactoring (#587)
- integration of Androidx navigation component
- replaced obsoleted preferences with Androidx preferences
- replaced png file with svg files
- integration of DayNight theme
- use of live data to have always up-to-date measurements
2020-06-16 09:55:10 +02:00
oliexdev
a1c2685a8f added try catch block in signing config to avoid loading error in travis 2020-04-29 07:43:53 +02:00
oliexdev
a1440443f1 move keystore load procedures in signing config to avoid loading error in travis 2020-04-29 07:28:04 +02:00
oliexdev
4dcfd19f2c added fastlane support and gradle signing feature 2020-04-28 21:49:11 +02:00
oliexdev
57a0fdef3c update openScale version to 2.2.0 2020-01-10 16:39:24 +01:00
OliE
c8c7a63986 Travis issue (#530)
fixed travis issue with kotlin
2019-12-22 12:18:53 +01:00
oliexdev
61765d305e updated library version 2019-12-22 10:38:34 +01:00
OliE
78ff154edc App intro (#526)
added App intro slides
2019-12-09 18:26:00 +01:00
oliexdev
0713e669a2 set archive base name for openScale apk 2019-10-20 15:43:07 +02:00
oliexdev
22a5729848 update openScale to version 2.1.2 2019-10-20 15:07:26 +02:00
oliexdev
a0772a62a6 upgraded blessed library to version 0.10 2019-10-18 15:33:24 +02:00
oliexdev
ee9e47efdf update openScale to version 2.1.1 2019-09-29 17:09:10 +02:00
oliexdev
148eabdc5b updated build dependencies 2019-09-28 10:25:00 +02:00
oliexdev
7b7e58aea9 updated external library version 2019-08-27 15:56:02 +02:00