1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-10-27 05:51:51 +01:00

Commit Graph

  • f1db0f0ccf Fix MGB body composition parsing beta-build openScale-3.0 oliexdev 2025-10-24 11:00:28 +02:00
  • 67deb2b896 This commit ensures that measurement evaluations correctly handle different units. oliexdev 2025-10-24 10:52:57 +02:00
  • 7da37212f1 Fix Huawei AH100 user info packet creation oliexdev 2025-10-22 06:43:47 +02:00
  • 788d43a017 This commit introduces a reusable DeleteConfirmationDialog to standardize the user experience for all destructive delete operations. oliexdev 2025-10-19 12:28:55 +02:00
  • 6df53cf782 This commit fixes an issue where the top bar actions in the Overview screen would not update correctly. The DisposableEffect responsible for setting the top bar is now re-triggered whenever its dependencies change, ensuring actions like the Bluetooth status icon are always up-to-date. oliexdev 2025-10-19 09:38:27 +02:00
  • 7297714c09 This commit adds user list handling for Standard Beurer/Sanitas scales. oliexdev 2025-10-18 19:01:23 +02:00
  • 1ec45a332e Fix user consent handling for Beurer/Sanitas scales oliexdev 2025-10-18 17:07:45 +02:00
  • 5523b4cd6c The configuration of the top bar actions, including the "Add Measurement" button, is now handled within a DisposableEffect that observes the ON_CREATE and ON_RESUME lifecycle events. oliexdev 2025-10-18 15:57:42 +02:00
  • 1f98fd13f2 Refined UI padding and widget scaling oliexdev 2025-10-18 15:23:47 +02:00
  • c85de04005 Saved Bluetooth device information by storing and retrieving the manufacturerData. This provides more complete device data for reconnection and debugging purposes. oliexdev 2025-10-18 12:24:00 +02:00
  • 28a9b03a58 Fix MGB scale data parsing oliexdev 2025-10-18 10:15:03 +02:00
  • b8a885341e Bump version code to 69 oliexdev 2025-10-06 15:04:20 +02:00
  • f95d48673c Refactored user interaction feedback to be suspendable oliexdev 2025-10-06 14:46:40 +02:00
  • 6ed3f62617 This commit completes the migration of all legacy Java-based Bluetooth drivers to the new Kotlin-based ScaleDeviceHandler architecture. oliexdev 2025-10-06 14:39:42 +02:00
  • 2ab6abec4d This commit introduces a mandatory disclaimer dialog that appears when a user saves a new Bluetooth scale. The dialog informs the user that openScale is an open-source project and that compatibility with all scales cannot be guaranteed. oliexdev 2025-10-06 09:56:59 +02:00
  • 82b49ee64f This commit removes unused imports from OverviewScreen.kt, specifically related to animation and tooling. oliexdev 2025-10-05 19:56:17 +02:00
  • ccb76358a8 The splitter's position is now updated locally during the drag gesture for a smoother, more responsive user experience. The final position is then saved to the settings only when the drag gesture ends, reducing the number of preference updates. oliexdev 2025-10-05 18:53:11 +02:00
  • 70cac56b8c This commit introduces a draggable splitter to resize the chart panes on the Overview and Graph screens. oliexdev 2025-10-05 18:25:11 +02:00
  • 9fb52109d8 Fix chart menu state and clear top bar actions on navigation oliexdev 2025-10-05 12:17:07 +02:00
  • ade5409505 The smoothedData flow is now initialized with null instead of an empty list. This ensures that downstream consumers correctly handle the loading state and do not attempt to process data before it's available. oliexdev 2025-10-05 11:09:20 +02:00
  • 93d0916fd6 Replaced the while(true) loop and awaitPointerEventScope in the pointer input modifier with a more concise detectTapGestures onPress handler. oliexdev 2025-10-05 09:10:36 +02:00
  • 24bc4ed30b This commit removes the time range filtering logic from the SharedViewModel. The responsibility for filtering measurements by a specific time range is now delegated to the individual screen's ViewModel that requires this functionality. oliexdev 2025-10-04 18:27:19 +02:00
  • 65898a7cc8 Users can now select a custom start and end date using a date range picker, in addition to the predefined ranges (e.g., Last 7 Days, Last 30 Days). oliexdev 2025-10-04 16:05:13 +02:00
  • 8acc3fd9ec This commit enhances the measurement smoothing logic to handle large time gaps in data, preventing smoothing across long periods of inactivity. oliexdev 2025-10-04 10:50:16 +02:00
  • e0667fc58c Refactor: Introduce PeriodChart for enhanced navigation oliexdev 2025-10-04 09:43:42 +02:00
  • 7510ee7361 This commit removes the processedMeasurementsFlow from the SharedViewModel. This simplifies the data processing pipeline, as the graphUiState now directly provides the necessary data to the UI, making the intermediate flow redundant. The setTypesToSmoothAndDisplay function was also removed as it was only used by the now-deleted flow. oliexdev 2025-10-03 13:30:12 +02:00
  • 2f9f043522 The AmputationSettingsDialog composable has been renamed to AmputationInputDialog to more accurately reflect its function as a user input form. All call sites have been updated to use the new name. oliexdev 2025-10-03 12:14:22 +02:00
  • 2a96ce89b8 A new 'amputations' field is added to the User entity, allowing users to specify which limbs are affected and to what degree (e.g., hand, forearm, full leg). This information is managed via a new dialog in the user detail screen. oliexdev 2025-10-03 12:10:56 +02:00
  • 06eaef4912 The clickable area around each measurement type icon now has a ripple effect, improving touch feedback. This was achieved by applying the clickable modifier directly to the RoundMeasurementIcon and removing the wrapping Column oliexdev 2025-10-02 19:54:59 +02:00
  • 99d46125bd This commit refactors the User Detail screen to use OutlinedTextField for all user-related settings, creating a more unified and consistent user interface. oliexdev 2025-10-02 19:04:21 +02:00
  • 6f1ff43cb2 Ensured MiScale date parsing respects the local time zone. oliexdev 2025-10-01 19:35:58 +02:00
  • 219a8f5691 Refactored Yoda1Handler for improved weight unit handling and added debug logging for Bluetooth operations. oliexdev 2025-10-01 19:10:43 +02:00
  • 4f5bc2d2d3 This commit enhances the logging for SPP (Serial Port Profile) write operations. oliexdev 2025-09-29 11:11:50 +02:00
  • 6a3ddda907 This commit enhances the logging for SPP (Serial Port Profile) connections and data handling. oliexdev 2025-09-29 11:08:23 +02:00
  • f1f24344d6 Added verbose logging to BroadcastScaleAdapter for improved debugging of Bluetooth advertisement handling. oliexdev 2025-09-29 10:50:33 +02:00
  • 1f7bd825e8 Refactored read function in ScaleDeviceHandler.Transport interface oliexdev 2025-09-28 19:10:26 +02:00
  • 0f7cf97670 This commit introduces several improvements to the Bluetooth Low Energy (BLE) communication and logging mechanisms oliexdev 2025-09-28 13:14:51 +02:00
  • c3761e24af Refactored Bluetooth data models ScaleUser and ScaleMeasurement from Java to Kotlin. oliexdev 2025-09-27 18:30:58 +02:00
  • 0c6e324660 Rename .java to .kt oliexdev 2025-09-27 18:30:58 +02:00
  • 453493f4ef Improved user feedback on measurement deletion. oliexdev 2025-09-24 18:19:18 +02:00
  • afbe5f9103 This commit introduces the ability to select multiple measurement entries in the table view. Users can now perform batch operations like deleting, exporting, or changing the assigned user for the selected items. oliexdev 2025-09-23 20:43:38 +02:00
  • ef75860ab1 This commit enhances user goal management in the UserDetailScreen and persistence for the "My Goals" section's expanded state on the OverviewScreen. oliexdev 2025-09-22 17:29:08 +02:00
  • 7e28b8af72 This commit introduces the ability for users to set and manage goals for various measurement types. oliexdev 2025-09-22 14:47:50 +02:00
  • 1a5d7c3f36 The CSV export now uses the custom name for MeasurementTypeKey.CUSTOM if available, otherwise it falls back to the key name. This ensures that custom measurement types are correctly represented in the exported CSV file. oliexdev 2025-09-12 17:41:12 +02:00
  • b1d23c3697 Reduced Log spam for derived values oliexdev 2025-09-12 17:04:48 +02:00
  • 1b7f4eb567 Do not re-import old values from MiScale oliexdev 2025-09-11 18:20:24 +02:00
  • 9cb4b22e4c This commit introduces a unique constraint on the timestamp per userId in the Measurement table. This prevents duplicate measurements for the same user at the exact same time. oliexdev 2025-09-10 13:27:07 +02:00
  • 9436dcfe1d This commit introduces the functionality for assisted weighing, allowing users to weigh items (e.g., pets, infants) by subtracting a reference weight. oliexdev 2025-09-10 12:15:47 +02:00
  • 855e096ab9 Resolved an issue causing the "No User Selected" card (or data views) to flicker briefly on app start or when the initial user was being determined. oliexdev 2025-09-09 19:30:49 +02:00
  • 0e7fcc4a08 The IconPickerDialog ensuring consistency across different themes and preventing potential visibility issues. oliexdev 2025-09-08 16:37:43 +02:00
  • 475b1e7335 This commit introduces detailed debug logging to StandardWeightProfileHandler and StandardBeurerSanitasHandler to improve traceability of Bluetooth interactions, user data handling, and consent flows. oliexdev 2025-09-08 09:29:57 +02:00
  • 5a961a0266 Enhanced setNotifyOn to check for CCCD and properties oliexdev 2025-09-07 19:26:49 +02:00
  • c88c388fe3 Add user icons, allowing users to select an icon for their profile. oliexdev 2025-09-05 13:27:35 +02:00
  • 3c323aee0c Remove LBM from derived measurements and calculations as formulas could be applied to LBM oliexdev 2025-09-05 08:12:03 +02:00
  • 2766b20a2d In MiScaleHandler.kt, use the user's ID for unique16() instead of a timestamp-based value to improve uniqueness and relevance. oliexdev 2025-09-04 19:59:12 +02:00
  • c1b6fb1bf3 Handle display of text and user input types in MeasurementDetailScreen oliexdev 2025-09-04 18:29:52 +02:00
  • e5785de911 The user mapping helper methods (saveUserIdForScaleIndex, loadUserIdForScaleIndex, etc.) were previously located in the generic ScaleDeviceHandler.These methods are now moved to the more specific handlers where they are actually used. oliexdev 2025-09-04 18:07:42 +02:00
  • 823ade9869 This commit modifies the QNHandler to only attempt to configure GATT characteristics if they are actually present on the connected device. This prevents errors when a scale might not support all expected characteristics (e.g., some QN scales might only implement one of the two characteristic "flavors"). oliexdev 2025-09-04 17:45:58 +02:00
  • 0b0779c66f Add GIT_SHA and BUILD_TIME_UTC to build config and log output oliexdev 2025-09-04 07:44:53 +02:00
  • c41a7b5403 The MiScaleHandler now accepts both FF FF and 00 00 as markers for the history count announcement, in addition to the existing FF FF marker. This change improves the reliability of detecting the history count on MiScales. oliexdev 2025-09-04 07:31:54 +02:00
  • c5950e2429 Several improvements to how numeric values are displayed and entered. It handles unit suffixes (kg, lb, %, cm, in, kcal) and locale-specific decimal/grouping separators. For UnitType.ST, it converts decimal stones (e.g., 12.5) into "X st Y lb" format (e.g., "12 st 7 lb"). oliexdev 2025-09-03 21:50:15 +02:00
  • 123e164830 Store full ScannedDeviceInfo for saved Bluetooth device enhanced DebugGattHandler to dump the full GATT service/characteristic tree oliexdev 2025-09-03 18:59:19 +02:00
  • b2cf36ebfa Improve detection logic for QN and Renpho scales oliexdev 2025-09-03 16:41:08 +02:00
  • fb2b560496 Made the screen scrollable and applied padding for IME and navigation bars. oliexdev 2025-09-03 16:16:26 +02:00
  • 968308215c Refactor Mi Scale handler for cleaner v1/v2 separation and robustness oliexdev 2025-09-03 15:42:20 +02:00
  • f81516c9c0 Refactor Bluetooth settings for better usability (show capabilities and set tune profile) oliexdev 2025-09-03 14:49:19 +02:00
  • b440cf9ac7 Merge branch 'origin/master' into Weblate. master dev-build Hosted Weblate 2025-09-03 01:02:01 +02:00
  • edbef59e3f Translated using Weblate (Slovenian) Damjan Gerl 2025-09-02 00:33:24 +02:00
  • 9e467410ac Convert BLE measurement values to user-defined units before saving oliexdev 2025-09-02 19:35:25 +02:00
  • b6df901c50 Ensure scale detection based on real Bluetooth device names oliexdev 2025-09-02 18:49:34 +02:00
  • b075d8c00c Introduce unified TuningProfile for all link types enum (Balanced, Conservative, Aggressive) and corresponding data classes (BleGattTuning, BleBroadcastTuning, BtSppTuning) to manage link-specific timing and retry parameters. oliexdev 2025-09-02 17:51:36 +02:00
  • 303d74edbe Improved GATT scale connection reliability and error reporting oliexdev 2025-09-02 16:49:10 +02:00
  • 1bd1c3632a Prioritize passed-in user for BT connect, allow brief wait for app state oliexdev 2025-09-02 16:24:48 +02:00
  • 993cb178a5 Refactor: Modernize multiple Bluetooth scale handlers: oliexdev 2025-09-02 12:38:30 +02:00
  • b40a3bbf5d Separate ModernScaleAdapter into link-specific adapters: oliexdev 2025-09-02 10:57:45 +02:00
  • 15566aa1e3 This commit adds seven new modern Bluetooth scale handlers: oliexdev 2025-09-02 10:07:49 +02:00
  • 8524082c98 Adds modern Kotlin-based handlers for several Bluetooth scale models: oliexdev 2025-09-01 20:17:30 +02:00
  • 81783bae0b This commit refactors the connection logic in ModernScaleAdapter.kt to improve handling of broadcast-only Bluetooth devices. oliexdev 2025-09-01 18:27:08 +02:00
  • d4ecb37d11 Introduce LinkMode and broadcast-only support for ModernScaleAdapter, allowing handlers to declare whether they communicate via GATT or by parsing advertisement data only. oliexdev 2025-09-01 18:18:17 +02:00
  • b0c7f44854 Refactor: Introduce modern BLE scale handlers and adapter, which introduces a new architecture for handling Bluetooth Low Energy (BLE) scales, moving away from the legacy Java-based system towards a more modern, Kotlin-based approach. oliexdev 2025-09-01 17:30:03 +02:00
  • 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. oliexdev 2025-08-30 15:22:49 +02:00
  • 84161c8089 Rename .java to .kt oliexdev 2025-08-30 15:22:49 +02:00
  • bdd20422ce Add MeasurementType User and dialog to change user oliexdev 2025-08-30 10:32:27 +02:00
  • 7be6b9575c This commit introduces the ability to select and apply body composition formulas (Body Fat, Body Water, LBM) within the measurement type detail screen. oliexdev 2025-08-29 20:17:15 +02:00
  • 96143e6a25 Configured a debug build type in build.gradle.kts with an applicationIdSuffix of ".debug" and versionNameSuffix of "-debug". oliexdev 2025-08-29 15:55:55 +02:00
  • 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. oliexdev 2025-08-29 15:33:39 +02:00
  • 7bce0be76b This commit introduces a new home screen widget that displays the latest value for a selected measurement type. oliexdev 2025-08-29 12:21:43 +02:00
  • 2901a3a520 The notification icon has been scaled down to better fit the notification bar. oliexdev 2025-08-27 09:31:00 +02:00
  • 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. oliexdev 2025-08-27 09:23:56 +02:00
  • 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. oliexdev 2025-08-26 18:18:30 +02:00
  • 5e755382e1 Add reminder functionality oliexdev 2025-08-25 17:36:26 +02:00
  • 7013a41c2d Always show share/delete button for log files. Additionally, the app's version code has been incremented for the open beta build oliexdev 2025-08-25 08:53:45 +02:00
  • 3269bd4aa1 Update README.md OliE 2025-08-24 17:20:28 +02:00
  • 21468530fe Update README.md OliE 2025-08-24 17:09:25 +02:00
  • b43b6f9828 Refactor BluetoothFacade and BluetoothViewModel for Snackbar handling oliexdev 2025-08-23 16:59:39 +02:00
  • 7e416f11b6 Refactored classes and packages to align with Android’s architecture recommendations (Hilt, lifecycle-aware state, unidirectional data flow) oliexdev 2025-08-23 15:22:29 +02:00
  • 940d47391b Refactor database migration to use getDefaultMeasurementTypes oliexdev 2025-08-20 16:16:58 +02:00
  • 3e966fbb7c Backfill derived values on app start if needed oliexdev 2025-08-20 16:08:35 +02:00
  • 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. oliexdev 2025-08-20 12:07:16 +02:00
  • 561b8e886a Update LogManager warning message and set BT_STATUS on disconnect oliexdev 2025-08-20 11:39:08 +02:00