- Update images to align with Matter branding guidelines
- Remove "shared" from screens as this flow is also used for fast pair where it makes no sense
* 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
* 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
* Initial work on Android Auto support.
* Get some toggling working, add a main view that is useful.
* Make sure we can test this on every commit.
* Migrate to full flavor.
- Add option to quick settings tile to only allow interacting with it when the device is unlocked, similar to device controls on Android 13 (but phrased differently to match the system default behavior)
- Add a lot more quick settings tile services
- Enable QS tile services only for tiles up to the highest tile # in use + 4, with a minimum of 12, to prevent long lists and make it work 'automagically'
* Update instead of cancel notification on reply
- When a notification is replied to, update it instead of cancelling it to allow the other to continue manipulating it
* Support multiple replies
- Keep a history of replies in the bundle to match system behavior
* Only keep replies that are actually shown
* Update Matter dependency
* Improve shared device commissioning
- Show device name if available
- Show error codes if returned
* Show toast for commissioning request errors
- When an error occurs for commissioning requests/before the Play Services UI is shown, show a toast informing the user that Matter is currently unavailable. Most user-facing errors will be shown in the Play Services UI (during commissioning).
* Add setting to start the app always on the first dashboard view
* Run linting
* Do not close SettingsActivity
* Only show first view if not in HA Config + Fix flash of dashboard when navigating to app settings
* Scroll to top when calling first view of dashboard
If we are on a another view a we are scrolled to the bottom, the first view will be also at the bottom
* Use default dashboard as starting dashboard
* Allow HA config dashboard to call the first view of dashboard
- Also disallow /hassio (Home Assistant addons) to call the first view
* Enhance show first view setting description
* Fix class name spelling LifecycleHandler
* Fix calling first view of dashboard on config/areas and config/automation
Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
* Add new option to vibrate when quick settings tile is clicked
* Use vibration effects if the device supports it
* Review comments
* Remove question mark
* Set switch color when unchecked
* Matter commissioning: MVP
- Implement a basic framework for the app to support Matter commissioning
- Add hooks for the `matter/commission` message that will be sent by the frontend to trigger Matter commissioning
* [WIP] HA as Matter share target
* [WIP] Updated commissioning flow
- Add websocket Matter API support
- Update architecture to better ensure a working minimal build
- Remove external bus responses for Matter commissioning message
* Rename MatterRepository
* Handle shared Matter devices
- Adds UI to handle shared Matter devices instead of copying the pairing code to the clipboard
- Updates the on network pairing pin/code to be a String, which may be received for shared devices
* Cleanup test button
* Pairing code type and service error handling
- Update pairing/pin code type to Long for server
- Send Play Services error if commissioning returned an error
* Increase timeout for Matter commissioning requests
* Use normal commissioning for shared devices
- Use the normal matter/commission command for devices shared with the app
- Shared device UI polishing
* Fix minimal and remove old name
* Update frontend commissioning status enum
* Update quick setting tiles with state updates
* Keep track of appropriate job to cancel when needed, use variable for toggle with lock
* Switch to Job from CoroutineScope