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

2384 Commits

Author SHA1 Message Date
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