oliexdev
baaae69c66
Convert legacy Bluetooth scale algorithm classes to Kotlin and unit tests have been added for each of these Kotlin classes to verify the correctness of the ported algorithms against snapshot values and behavioral properties.
beta-build
2025-08-30 15:22:49 +02:00
oliexdev
84161c8089
Rename .java to .kt
2025-08-30 15:22:49 +02:00
oliexdev
bdd20422ce
Add MeasurementType User and dialog to change user
2025-08-30 10:32:27 +02:00
oliexdev
7be6b9575c
This commit introduces the ability to select and apply body composition formulas (Body Fat, Body Water, LBM) within the measurement type detail screen.
2025-08-29 20:17:15 +02:00
oliexdev
96143e6a25
Configured a debug
build type in build.gradle.kts
with an applicationIdSuffix
of ".debug" and versionNameSuffix
of "-debug".
2025-08-29 15:55:55 +02:00
oliexdev
ac8e27fbfb
This commit introduces a new setting in the General Settings screen that allows users to enable or disable haptic feedback (vibration) when a new measurement is received and refactored BleConnector
to use MeasurementFacade
for saving measurements.
2025-08-29 15:33:39 +02:00
oliexdev
7bce0be76b
This commit introduces a new home screen widget that displays the latest value for a selected measurement type.
2025-08-29 12:21:43 +02:00
oliexdev
2901a3a520
The notification icon has been scaled down to better fit the notification bar.
2025-08-27 09:31:00 +02:00
oliexdev
ac968424ae
The reminder notification now features a dedicated small icon (ic_notification_foreground
) and uses the app's launcher icon (ic_launcher_foreground
) as the large icon for improved visual clarity and consistency.
2025-08-27 09:23:56 +02:00
oliexdev
769a3db921
This commit introduces a new feature that groups snackbar messages when multiple measurements are saved in quick succession. Instead of displaying individual "Measurement saved" messages for each, a single message like "Saved X measurements" will now be shown.
...
Additionally, this commit:
- Improves the snackbar display logic to prevent duplicate messages and introduces a debounce mechanism.
- Enhances the Overview screen's scrolling behavior to smoothly scroll to the top when new items are added, and also improves the scroll behavior when tapping on chart points.
2025-08-26 18:18:30 +02:00
oliexdev
5e755382e1
Add reminder functionality
2025-08-25 17:36:26 +02:00
oliexdev
7013a41c2d
Always show share/delete button for log files. Additionally, the app's version code has been incremented for the open beta build
2025-08-25 08:53:45 +02:00
oliexdev
b43b6f9828
Refactor BluetoothFacade and BluetoothViewModel for Snackbar handling
2025-08-23 16:59:39 +02:00
oliexdev
7e416f11b6
Refactored classes and packages to align with Android’s architecture recommendations (Hilt, lifecycle-aware state, unidirectional data flow)
2025-08-23 15:22:29 +02:00
oliexdev
940d47391b
Refactor database migration to use getDefaultMeasurementTypes
2025-08-20 16:16:58 +02:00
oliexdev
3e966fbb7c
Backfill derived values on app start if needed
2025-08-20 16:08:35 +02:00
oliexdev
4e5c24f7fe
Refactor BluetoothCommunication handler usage
...
refactors the `BluetoothCommunication` class to use a single `mainHandler` for managing various delayed tasks like pre-scan timeouts, disconnect timeouts, and connection delays.
2025-08-20 12:07:16 +02:00
oliexdev
561b8e886a
Update LogManager warning message and set BT_STATUS on disconnect
2025-08-20 11:39:08 +02:00
oliexdev
5d8d8165fc
Refactors Bluetooth permission handling and connection logic across several parts of the application
2025-08-20 11:23:11 +02:00
oliexdev
9dc61d7e53
Refactor unique number generation for legacy scales. Additionally, fix corrected date parsing and history data for the MiScale2 driver:
2025-08-20 08:36:34 +02:00
oliexdev
01fd3214aa
- Implemented a fileMutex
to synchronize file access operations, preventing potential race conditions when writing to or exporting the log file.
...
- Increased `MAX_LOG_SIZE_BYTES` from 5 MiB to 10 MiB.
2025-08-19 21:07:26 +02:00
oliexdev
8c7a62c401
Implement database migration from version 6 to 7
2025-08-19 20:50:13 +02:00
oliexdev
f29bd962d2
Safeguard LogManager against concurrent file access
2025-08-19 19:11:00 +02:00
oliexdev
5f9d8f95dc
Refactor BluetoothMiScale2 for improved history handling and more reliable skeletal muscle mass calculation in MiScaleLib
using the Janssen BIA equation, with a fallback to a lean body mass ratio if impedance is unavailable.
2025-08-19 18:43:13 +02:00
oliexdev
94f23467ca
Apply highlight color correctly for light theme
2025-08-18 18:28:05 +02:00
oliexdev
3a13162f9e
Displays evaluation state symbols (▲, ▼, ●, !) next to values in table screen, similar to the overview screen.
2025-08-18 18:12:27 +02:00
oliexdev
cf6d834db7
Introduces a new framework for evaluating measurement values against reference ranges and displays this information in the UI.
2025-08-18 16:52:10 +02:00
oliexdev
220afffb33
Enable point selection on graph screen to show measurement details
2025-08-18 09:40:39 +02:00
oliexdev
3855d93046
Introduces a feature where selecting a point on the line chart in the OverviewScreen
will scroll the measurement list to the corresponding item and highlight it temporarily.
2025-08-18 07:52:46 +02:00
oliexdev
8f7c15e0c5
Implement Automatic Database Backups
2025-08-17 19:25:01 +02:00
oliexdev
98cc2ba9f5
Add settings for chart data smoothing
2025-08-16 17:54:53 +02:00
oliexdev
4da84c8778
Adjust default icon and color for custom measurement types
2025-08-16 14:52:06 +02:00
oliexdev
4eed5ce2f7
Replace String-based icons with enum and introduce MeasurementIcon composable
2025-08-16 14:32:47 +02:00
oliexdev
d61670cc84
enhances unit conversion capabilities, particularly for BODY_FAT
, WATER
, and MUSCLE
measurement types. These types can now be converted between percentage (%) and absolute mass units (kg, lb, st)
2025-08-16 10:36:18 +02:00
oliexdev
5b03c4bd89
Update default measurement type colors and units
2025-08-16 09:18:26 +02:00
oliexdev
a3d18a1258
Introduces a new "Chart Settings" screen accessible from the main settings menu.
2025-08-15 15:56:56 +02:00
oliexdev
365b1029c5
Fix sync selectedUser field in driver with setSelectedScaleUser()
2025-08-15 12:57:58 +02:00
oliexdev
cd991b4f18
Modifying the UserDetailScreen
to use the localized gender display names.
2025-08-15 11:45:12 +02:00
oliexdev
9e4b7f933f
If a user mapping already exists, skip the user list and jump directly to selecting the scale user.
2025-08-15 11:10:11 +02:00
oliexdev
3459ac1833
Enhance merging logic for Bluetooth standard weight profile
2025-08-15 09:12:52 +02:00
oliexdev
bedf32c46b
Improve logging in BluetoothStandardWeightProfile
2025-08-15 08:36:23 +02:00
oliexdev
b2fc2a1570
Translate time range filter options
2025-08-15 08:31:29 +02:00
oliexdev
53d05505c6
Added some documentation to BluetoothViewModel for clarity
2025-08-15 08:07:41 +02:00
oliexdev
5bef95e613
- Streamlined the handling of user input dialogs (CHOOSE_USER
, ENTER_CONSENT
) in AppNavigation.kt
by resetting dialog-specific state based on interactionEvent.interactionType
to ensure fresh state upon dialog visibility.
...
- Introduced `pendingUserId` to better manage user context during asynchronous operations like consent requests.
- Improved logging for user registration and selection steps.
2025-08-15 07:30:24 +02:00
oliexdev
ac181603e1
Enhanced LogManager with Markdown formatting and lifecycle awareness
2025-08-15 06:40:01 +02:00
oliexdev
841dcf04fc
Add logging for CHOOSE_USER interaction
2025-08-14 13:03:28 +02:00
oliexdev
38185c26c9
Translate new dialog strings
2025-08-14 12:25:21 +02:00
oliexdev
28725e9ba3
When calculating derived values, the code now fetches the unit from the MeasurementType
and converts the input values (e.g., weight to KG, waist to CM) before passing them to the calculation functions. This ensures calculations are performed with consistent units.
2025-08-14 12:02:28 +02:00
oliexdev
994361ad5c
Refactor measurement type to improves the logic for setting the initial and updating selectedInputType
based on allowed types.
2025-08-13 19:43:29 +02:00
oliexdev
22f5512b83
Refactor: Remove unit settings from user, use measurement type settings
2025-08-13 19:21:24 +02:00