- Add specific error if the app encounters a HTTP 404 response during onboarding registration, because that means the mobile_app integration is missing
- After an error, clean up the session data to make sure a new registration attempt is made
* Show entity state on entity chip in Wear OS app
- Shows the color and position of an entity state on the entity's chip in the Wear OS app by using a custom background class that accepts more than a single Color
* Use horizontal instead of diagonal gradients
- The default BrushPainter actually isn't the correct one, the ToggleChip class uses its own but that is marked as internal and we cannot override the default BrushPainter so another copied class it is
* RTL entity position support
- When using an RTL language, the entity chip should fill in the position value from the right side
* Support cover position
- Show cover position as entity chip's background
- Adjust background color code to also work when a chip isn't checked for covers that are currently closing
* Cleanup EntityUi
* Cleanup duplicate code in device controls
* Naming conventions
- Should've used a lowercase letter to start
- Fix class
* Fix build
- Updates because ToggleChipColors has changed
- Add workaround for implementing Compose interface because kotlin-gradle-plugin is linked to stable Compose and we cannot update yet
* Update gradient values to match rc02
- Wear Compose 1.0.0-rc02 changed the default values for the gradients in ToggleChips, so update the values used when using a custom background to match
* Rebasing First TLS Client (MTLS) implemention onto upstream's master
* Removed commented code
* First Client TLS implementation rebased with upstream's masster
* Removed redundant semicolon
* Added try/catch to key import, added import feedback to enduser
* ktlint fixes
* Rely on the device Credential store
* Tweaked and cleaned the strings related to the TLS Client Auth message
* Removed commented code
* Attempt to remember the key alias and load it as soon as the app starts
* Cleaned rebase and tidying up code
* Added handler for HTTP error (when a certificate is not provided)
* When no certificate is availble, do the request to get an HTTP error back (for error handling)
* Pleased the linter
* Pleased the linter
* Switched to constructor injection
* Attempt to load the key in a non-blocking fashion.
* Do not loop around the blocking code
* onReceivedClientCertRequest now runs non blocking and the KCAC callback is used instead of polling.
* Wait until the executor task actually completes.
* Cleaned the code
* Removed unused import
* Wait for the executor to finishes executing its task
* During onboarding, if TLS Client Auth is enabled but no certificate is available, correctly report to the user
* Use a safe call on errorResponse
* Do not block anymore
* Removed unused return types
* Removed unused return types and the executor
* Removed unused imports
* Code cleanup
* Improved synchronization
* Added a string for certificate expiration
* Added a function to clear the alias and removed blocking code
* Added a function to clear the alias
* Display an error message if the user certificate is not valid plus minor refactoring
* Check the validity of the selected certificate
* Added an error message if the client certificate is not valid
* Resolved warnings and linting issues
* Fixed broken branch when testing for error condition
* Removed unused imports
Co-authored-by: Mirco Boschi <mircoboschi@gmail.com>
* Fix storage sensors to update continuously and do some refactoring in StorageSensorManager
* Fix size unit formatter logic.
So now it can not only output 0GB for smaller values (<1GB) but also 345MB or 640KB for example
* Use String.format(...) for adding thousands separator and replace StringBuilder usage with template
* Speed up loading device controls by running network async
- Speed up loading the device controls menu and initial controls by launching all requests in an async block, which allows the server to respond out of order
- For individual controls, only start listening for changes once we have provided initial controls
* Speed up Wear OS cold boot by running network async
- Speed up a cold boot of the Wear OS app by launching all network requests in an async block, which allows the server to respond out of order
* Bump compose, make it build and update loading screen
* Fix toggle icons
* Update refresh interval picker layout
* Remove potential empty item in MainView to improve content alignment in window
* Fix rotary scroll
* Fix toggle icon in DetailsPanelView
* Stop using hardcoded strings...
* Bump to rc02
* Smoother rotary scrolling
* Revert "Smoother rotary scrolling"
This reverts commit e13738983d.
* Only show loading screen in one place to make sure we always see the same ui
* Add entity state complication with hardcoded entity id
* Add config activity and save entity id in DB
* Update complications when entity state changes
* Allow all entity types for complication
* Update config layout
* remove unused file
* Upload database json
* Process review comments!
* Fix little bug
* Icon background and error catching
* Add automatic refresh and fix missed Dao inject
* Add icons for standard domains
91cd584b4b/src/common/const.ts (L66)
* Cleanup and further icon updates
* The webview activities now handle keyboard|keyboardHidden|navigation
configuration changes by keyboard connection changes, to avoid the
activity restart which leads to frontend reload.
* Refactor variable names and types
* Remove unnecessary DB write operation happening on every update of the Last Update Triggered sensor.
We already know that the Add New Intent toggle's value is not true, so there's no need to write false in the DB over and over again.
* Fix logic for determining the next DB entry's ID: don't generate possibly already existing ID
* Remove empty list element before adding new entry
* Implement logic for determining if the sequence is continuous
* Implement logic for fixing the DB entries to make their IDs a continuous sequence
* Extract "lastupdate_intent_var1:" to String constant
* Fix determining next ordinal based on PR comment
(and also simplify the isSequenceContinuous logic)
* Replace check with if based on PR discussion
* Replace negated .any {...} logic with .none {...}
* Don't include devices twice in Bluetooth list
- Don't include Bluetooth devices twice in the devices list when using it for location-related functions. Do allow duplicates for the BT sensor for backwards compatibility.
* Switch high accuracy mode BT constraint to device address
- Change the Bluetooth device constraint for high accuracy mode for location updates to use the Bluetooth device address instead of the device name to ensure uniqueness + fix crash in sensor settings screen
- Set padding in Scaffold because lint doesn't seem to like ignoring it
* Migrate high accuracy mode BT constraint names to addresses
- When enabling the high accuracy mode, make sure that all data for the Bluetooth device constraint is a Bluetooth device address and if not try to match it to a device.
- Because the database can contain devices that are not currently paired/connected, without changing to a new setting this check always must be executed, which is why it is placed in the function for enabling the high accuracy mode.
* Also show user-friendly labels in sensor settings detail screen
- Update the sensor settings detail screen to also show a user-friendly label for list settings on the main screen, before opening a dialog. This will use the same function as when the dialog info is populated, which simplifies code.
- Merge SensorSettingType.LIST with other list types rows in sensor settings detail screen, remove getSettingTranslatedEntry in viewmodel which is no longer necessary.
* Fix empty Bluetooth list setting value when off
* Bump reorderable and fix breaking changes
* Only include reorderable with full version
* Improve "Wear Favorite Entities" screen design
- Fix too small touch targets for dragging
- Fix no background resulting in overlapping text when dragging
- Update design to standard Material design
- Re-use Composable for selected and unselected favorite entities