Repository navigation
Releases
Releases · keeperofdakeys/openScale
openScale 3.0 beta build
Commits
- e535e5e: Complete rewrite of the entire openScale application from Java to Kotlin. This is the initial commit for the Kotlin version on this branch, aiming for improved code quality, conciseness, and modern Android development practices. (oliexdev)
- 8cff0b3: Add beta build type with new icon (oliexdev)
- 48d2fb8: Fixed some warnings e.g. clean up unused variables and simplify logic (oliexdev)
- 5513214: Add GitHub Actions workflow for beta builds (oliexdev)
- 7a4b500: Use in SettingViewModel the showSnackbar method by ShareViewModel (oliexdev)
- e369882: Use during csv import already existing MeasurementTypes (oliexdev)
- 3a0840f: make line chart point a little bit transparent and smaller (oliexdev)
- 5dcc41d: Initial integrated the existing Java Bluetooth scale classes and Bluetooth libraries from the Java-based openScale project.These components have been integrated into openScale 3.0 project structure but have not yet been migrated to Kotlin. Further work will be required to refactor and update this code to align with Kotlin best practices and the overall project architecture. (oliexdev)
- c44080a: Make more MeasurementTypes visible in the default table and chart views (oliexdev)
- 646d5a8: Recalculate derived values after CSV import (oliexdev)
- 5a87f14: Add new Bluetooth string resources and use them (oliexdev)
- 9e04555: Add ProGuard rules and OSS build type (oliexdev)
- 8b77750: Add DatabaseProvider for data sharing and add real-time sync triggers with openScale sync (oliexdev)
- 54b168d: Implemented Bluetooth user interaction handling (oliexdev)
- 172cd8d: Enable database schema export and update Fastlane configuration (oliexdev)
- db78109: Handle 'dateTime' column and skip zero values during CSV import for compatibility with openScale 2.x CSV exports (see issue oliexdev#1156). (oliexdev)
- b9203c8: Add scale and measure unit to user settings (oliexdev)
- e5e6708: Refactor ScaleFactory and BluetoothScannerManager to use ScannedDeviceInfo (oliexdev)
- aa7a923: Refactor UserDetailScreen to use UTC for date calculations (oliexdev)
- 8691a33: Add setting to show measurement type on right Y-axis (oliexdev)
- acded1e: Enable measurement value conversion when unit changes (oliexdev)
- Remove unit settings from user, use measurement type settings (oliexdev)
- 994361a: Refactor measurement type to improves the logic for setting the initial and updating
selectedInputTypebased on allowed types. (oliexdev) - 28725e9: When calculating derived values, the code now fetches the unit from the
MeasurementTypeand 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. (oliexdev) - 38185c2: Translate new dialog strings (oliexdev)
- 841dcf0: Add logging for CHOOSE_USER interaction (oliexdev)
- ac18160: Enhanced LogManager with Markdown formatting and lifecycle awareness (oliexdev)
- 5bef95e: - Streamlined the handling of user input dialogs (
CHOOSE_USER,ENTER_CONSENT) inAppNavigation.ktby resetting dialog-specific state based oninteractionEvent.interactionTypeto ensure fresh state upon dialog visibility. (oliexdev) - 53d0550: Added some documentation to BluetoothViewModel for clarity (oliexdev)
- b2fc2a1: Translate time range filter options (oliexdev)
- bedf32c: Improve logging in BluetoothStandardWeightProfile (oliexdev)
- 3459ac1: Enhance merging logic for Bluetooth standard weight profile (oliexdev)
- 9e4b7f9: If a user mapping already exists, skip the user list and jump directly to selecting the scale user. (oliexdev)
- cd991b4: Modifying the
UserDetailScreento use the localized gender display names. (oliexdev) - 365b102: Fix sync selectedUser field in driver with setSelectedScaleUser() (oliexdev)
- a3d18a1: Introduces a new "Chart Settings" screen accessible from the main settings menu. (oliexdev)
- 5b03c4b: Update default measurement type colors and units (oliexdev)
- d61670c: enhances unit conversion capabilities, particularly for
BODY_FAT,WATER, andMUSCLEmeasurement types. These types can now be converted between percentage (%) and absolute mass units (kg, lb, st) (oliexdev) - 4eed5ce: Replace String-based icons with enum and introduce MeasurementIcon composable (oliexdev)
- 4da84c8: Adjust default icon and color for custom measurement types (oliexdev)
- 98cc2ba: Add settings for chart data smoothing (oliexdev)
- 8f7c15e: Implement Automatic Database Backups (oliexdev)
- 3855d93: Introduces a feature where selecting a point on the line chart in the
OverviewScreenwill scroll the measurement list to the corresponding item and highlight it temporarily. (oliexdev) - 220afff: Enable point selection on graph screen to show measurement details (oliexdev)
- cf6d834: Introduces a new framework for evaluating measurement values against reference ranges and displays this information in the UI. (oliexdev)
- 3a13162: Displays evaluation state symbols (▲, ▼, ●, !) next to values in table screen, similar to the overview screen. (oliexdev)
- 94f2346: Apply highlight color correctly for light theme (oliexdev)
- 5f9d8f9: Refactor BluetoothMiScale2 for improved history handling and more reliable skeletal muscle mass calculation in
MiScaleLibusing the Janssen BIA equation, with a fallback to a lean body mass ratio if impedance is unavailable. (oliexdev) - f29bd96: Safeguard LogManager against concurrent file access (oliexdev)
- 8c7a62c: Implement database migration from version 6 to 7 (oliexdev)
- 01fd321: - Implemented a
fileMutexto synchronize file access operations, preventing potential race conditions when writing to or exporting the log file. (oliexdev) - 9dc61d7: Refactor unique number generation for legacy scales. Additionally, fix corrected date parsing and history data for the MiScale2 driver: (oliexdev)
- 5d8d816: Refactors Bluetooth permission handling and connection logic across several parts of the application (oliexdev)
- 561b8e8: Update LogManager warning message and set BT_STATUS on disconnect (oliexdev)
- 4e5c24f: Refactor BluetoothCommunication handler usage (oliexdev)
- 3e966fb: Backfill derived values on app start if needed (oliexdev)
- 940d473: Refactor database migration to use
getDefaultMeasurementTypes(oliexdev) - 7e416f1: Refactored classes and packages to align with Android’s architecture recommendations (Hilt, lifecycle-aware state, unidirectional data flow) (oliexdev)
- b43b6f9: Refactor BluetoothFacade and BluetoothViewModel for Snackbar handling (oliexdev)
- 7013a41: Always show share/delete button for log files. Additionally, the app's version code has been incremented for the open beta build (oliexdev)
- 5e75538: Add reminder functionality (oliexdev)
- 769a3db: 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)
- ac96842: 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) - 2901a3a: The notification icon has been scaled down to better fit the notification bar. (oliexdev)
- 7bce0be: This commit introduces a new home screen widget that displays the latest value for a selected measurement type. (oliexdev)
- ac8e27f: 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
BleConnectorto useMeasurementFacadefor saving measurements. (oliexdev) - 96143e6: Configured a
debugbuild type inbuild.gradle.ktswith anapplicationIdSuffixof ".debug" andversionNameSuffixof "-debug". (oliexdev) - 7be6b95: This commit introduces the ability to select and apply body composition formulas (Body Fat, Body Water, LBM) within the measurement type detail screen. (oliexdev)
- bdd2042: Add MeasurementType User and dialog to change user (oliexdev)
- 84161c8: Rename .java to .kt (oliexdev)
- baaae69: 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)
- 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)
- d4ecb37: Introduce LinkMode and broadcast-only support for ModernScaleAdapter, allowing handlers to declare whether they communicate via GATT or by parsing advertisement data only. (oliexdev)
- 81783ba: This commit refactors the connection logic in
ModernScaleAdapter.ktto improve handling of broadcast-only Bluetooth devices. (oliexdev) - 8524082: Adds modern Kotlin-based handlers for several Bluetooth scale models: (oliexdev)
- 15566aa: This commit adds seven new modern Bluetooth scale handlers: (oliexdev)
- b40a3bb: Separate ModernScaleAdapter into link-specific adapters: (oliexdev)
- Modernize multiple Bluetooth scale handlers: (oliexdev)
- 1bd1c36: Prioritize passed-in user for BT connect, allow brief wait for app state (oliexdev)
- 303d74e: Improved GATT scale connection reliability and error reporting (oliexdev)
- b075d8c: Introduce unified TuningProfile for all link types enum (Balanced, Conservative, Aggressive) and corresponding data classes (
BleGattTuning, `BleBroadcastTuning...
openScale development build
Bug Fixes
- Improve dark mode text visibility in setup screen(oliexdev#1138) (oliexdev#1140) #1140 (KRISHNA DAS MEENA)
Commits
- ea50f2e: Translated using Weblate (Dutch) (Wouter Mense)
- 35c0028: Added translation using Weblate (Basque) (Ander Martinez)
- 462cf8e: Merge branch 'origin/master' into Weblate. (Hosted Weblate)
- 9c2e1b5: Translated using Weblate (Slovenian) (Damjan Gerl)
- e639c9c: Translated using Weblate (Tamil) (தமிழ்நேரம்)
- 610e5ae: Translated using Weblate (Tamil) (தமிழ்நேரம்)
- 6ba75c7: Translated using Weblate (Basque) (Ander Martinez)
- 3822212: Translated using Weblate (Czech) (ikanakova)
- 6aad649: Translated using Weblate (Czech) (ikanakova)
- 72d7482: Translated using Weblate (Czech) (ikanakova)
- 85d6de5: Translated using Weblate (Portuguese (Brazil)) (Ddelaqua)
- 303cba2: Update and rename ci.yml to ci_master.yml (OliE)
- aa31dcf: Create ci_beta.yml (OliE)
- e5e5504: Update README.md (OliE)
- fccd4f6: Update README.md (OliE)
- 5b03e77: Fix package visibility for Android >= 11, see issue oliexdev/openScale-sync#7 (oliexdev)
- 2c7f874: Update README.md (OliE)
- a708107: Add support for ES-CS20M to QN-Scale (Josh)
- 1cc522f: Rename BluetoothRenphoScale to BluetoothESWBE28 (Josh)
- d9ab02d: Update bluetooth drivers to use standard constructor (Josh)
- 6ad07c1: Move bluetooth drivers to "driver" submodule (Josh)
- 06dde8f: Update BluetoothFactory to use driverId (Josh)
- 7809832: Pass UUIDs to discover driver, and use driverId to pick driver (Josh)
- dbae195: Udpate scale driver constructor to include deviceName (Josh)
- 2315baa: Detect ES-CS20M that declare themselves Renpho-Scale (Josh)