- Allow the Wear support libraries to specify the redirect URI to use for OAuth login
- Catch any exceptions that might be thrown when building an OAuth request
* Move server settings to a server settings screen
- Move server-specific settings to a new screen to be accessed from the main settings only containing server specific settings in preparation for multiserver
- Sensors is currently not server-specific even though one setting is stored by server ID, to be fixed later
* Store app preferences in another shared preferences file
- Store app preferences not in the integration shared preferences file, but in the shared preferences file for general prefs (it is named themes but there are already other app-level prefs in it)
- Move Wear specific preferences to it's own repository + shared preferences file
* Improve server row with local data
- While we don't have a server name or user name, show the registration name when available to improve the server row layout
* Simplify location permission request code
- Remove the flexible permission requests as it isn't used in the current settings structure, only expect location permissions
- Switch from the deprecated functions to the new flow using activity result contracts
* Remove unused string
* Update conversation UI with speech bubble
* Clean up design, vibrate when displaying response, close activity if screen turns off
* Review comments
* Switch response side to better match frontend
* Design tweaks
* Use row padding instead of spacer
* Initial commit of wear OS notifications
* Update to allow message and title
* Move constants to object to reduce imports
* Split up logic to match phone app
* Update readme and set websocket to false for wear OS
* Bump firebase BOM
* Add a tile to interact with conversation integration
* Check HA core version and that conversation is enabled
* Rename search to conversation
* Add some TODOs, review comments for more clean up
* Review comment
* Add back private set
* Only subscribe to favorite entities on Wear OS homescreen
* Switch to subscribing to all supported domains
* Update entity states when app is resumed and entities are loaded to keep things in sync
* Only update domains when needed
* Update all registeries when we resume
* Move UI update to view model
* Review comment
* Clear values before updates
* Process review comments
* Switch from viewmodelscope to lifecyclescope for external collections
* Check loading state before collecting
* Revert previous changes for checking loading state
* Skip collection if not connected
* Simplify launching collections
* Add daily floors sensor for Wear OS3 devices
* Do a compatibility check for sensor availability in health services
* Print more logs and attempt to send latest data, update more getAvailableSensor methods
* Process review comments
* Process more review comments, use actual time in millis
* Clear out available sensors when updating with new list
* Log the capabilities in case we need to troubleshoot later
* Review comment
* Missed one additional review comment
* Return immediately instead of storing a list
* Add caching of favorites, results in prettier loading
* Update wear/src/main/java/io/homeassistant/companion/android/home/MainViewModel.kt
Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>
* Implement a lot suggestions from @jpelgrom
Revert previous changes to database and implement properly
* Apply suggestions from code review
Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>
* Implement suggestions from @jpelgrom
* Remove null assertions from icon function
* Update wear/src/main/java/io/homeassistant/companion/android/home/views/MainView.kt
Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>
* Fallback to entity ID if friendly_name is missing when creating cache,
Remove wrapper function to delete cached items
* Remove "clear cache" button
* Implement changes by @jpelgrom
Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>
* Add user activity sensor from health services for Wear OS
* Only add health services if device supports it
* Move library initialization to after isEnabled check
* Review comments