- MdcTheme appears to have been deprecated in the latest release. Replace it with our own theme everywhere it is used. Thankfully, because the modifications for the HA (XML) theme are very minor compared to a default Material theme there's not a lot to define/duplicate.
- Fixes the following warning x23: /home-assistant-android/common/src/main/java/io/homeassistant/companion/android/database/AppDatabase.kt:838:34 The corresponding parameter in the supertype 'Migration' is named 'db'. This may cause problems when calling this function with named arguments.
* Make volume sensors update instantly by subscribing to a broadcast
* Change skippableActions to a 1-to-many map and the list of all volume sensors to the corresponding Intent action key
- Update Assist on Wear to automatically open the login screen when logged out, instead of asking the user to close and login, to prevent text being cut off issues
- Add another item at the top of Assist on Wear to allow the pipeline selector to be scrolled into the center of the screen (the first item cannot be scrolled into the center of the screen)
- After discussion with Thread dev, remove Thread credential syncing from the start of the Matter commissioning flow. There are 2 major reasons for this:
* it significantly slows down the flow while only being useful some of the time
* the results have limited usefulness because the API limits how much Home Assistant can influence the device data
The alternative for the user is to use the manual 'import credentials' button in the frontend (matching iOS), or access the sync option in the app settings > troubleshooting menu.
- To (hopefully) finally address review failures about text being cut off on round screens replace it with an icon. Same icon as used in the previous screen so should be pretty clear.
* Integrate car sensors with automotive, and added permissions
* Set context in every call
* Fixed CarSensorManager format
* Enable car sensors only on correct flavors
* Fixed format
* Renamed context to latestContext and added parenthesis to expression
* Support multiple Template tiles on Wear OS
* Add `TemplateTileConfig` data class
* Fix migration
* `Pair` -> `TemplateTileConfig` fixes
* Fix `getAllTemplateTiles` implementation
* Initial work on companion <-> wearable device communication
* More work on phone <-> wear device communication
* Save updated template in phone app
* Get the template to render using the right method
* Fix CI complaints
* Work on Wear UI for multiple template tiles
* Update wear manifest
* Wear migration and navigation fixes
* Fix Template tile IDs in mobile app
* Make adding a new Template tile on Wear device work
* Small cleanups and TODO fixes
* Try to fix template config refresh in settings
* Fix after rebase
* Adopt blocking approach for reacting to tile events, inspired by #3974
* Use `OpenTileSettingsActivity` for template tile
* Adopt Material 3 and other UI-related changes
* Show help text in phone app if no template tiles have been added yet
* Reference the view model variable inside the function
By having the view model variable outside the block, the updated template tile
might not be propagated to the template settings view.
* Reload template tiles when opening the template tiles from settings
* Replace null key with -1 for old template tile
* Lint complaints fixes
* remove TODO
* Store error
* Scrollable list of template tiles
* Move "Configure template tile" to header
* Replace with methods with copy
* Show template as secondary text
* Fix scrolling
* Update app/src/full/java/io/homeassistant/companion/android/settings/wear/views/SettingsWearTemplateTileList.kt
Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>
* Remove unused field
* Move padding to "no tiles" text
* Add deep link
---------
Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>
* Support for Thread "import credentials" frontend action
- Add support for the frontend action to import Thread credentials, or better said export Thread credentials from the device. This is essentially a very basic sync.
* Rename/reorder reused Matter code
- Change names and order of reused Matter code for Thread importing to prevent potential confusion
* Update minimal implementation
- Fixes the button widget authentication dialog automatically being dismissed when triggered on Android 14 QPR1+, because the window was not in the foreground. It looks like the framework check for this was bugged before QPR1, and the Home Assistant app was showing the authentication dialog before the window (which is transparent) was in the foreground.
- Addresses the following warning: The option setting 'android.defaults.buildfeatures.buildconfig=true' is deprecated. Each module uses the BuildConfig class so it's added everywhere.
* Add Wear OS TLS client certificate authentication (TLS CCA) support
Wear OS does not currently allow the user to install certificates to the
system-wide KeyChain for TLS CCA support. This commit adds support for
using certificates from the app-specific Android KeyStore with UI for
setting up a certificate during the Wear OS onboarding process.
The manual step in the onboarding process is required since we cannot
transmit certificates of the Android KeyChain because they are not
extractable.
In particular, this commit adds the following changes:
* KeyStoreImpl as an additional KeyChainRepository interface
implementation for loading and storing keys to the application's
KeyStore. TLSHelper uses KeyStoreImpl as a fallback key manager.
* UI for selecting a certificate file with GET_CONTENT intent during
Wear OS onboarding in OnboardingActivity if it is detected that the
Home Assistant may require TLS CCA. The UI includes a password check
for the PKCS12 container.
* During onboarding the app sends the raw PKCS12 data to Wear OS
together with the container password. The connection is assumed to be
encrypted and trusted so that no additional encryption is necessary.
* Move PKCS12 password check to lifecycle scope
* Remove redundant try-catch when loading PKCS12
* Simplify MobileAppIntegrationView layout code
- When using the device controls panel instead of individual/native controls on Android 14, also check the setting for using controls while the device is locked and if so block the panel (as the frontend doesn't have a read only mode).
Fix wrong attribute name for the target temperature step. Correct one is target_temp_step (which is returned by the API) instead of target_temperature_step
* mobile_app_notification_cleared for wearos
* Fix imports
* Remove database id extra
* Fix whitespace
* Reformatted imports and added the receiver to the manifest
* Move `handleDeleteIntent` to common