* First Steps into making Gradle Catalogs
* Rename a couple dependencies.
* Downgrade compose compiler since it'll take more to bump the kotlin version apparently.
* Code review comments.
* Refactoring these are painful.
* Now I know my ABC, next time wont you sing with me....
* Show measurement unit in Wear OS complication
* Extend existing `friendlyState` method
* Make showing unit configurable (defaulting to false)
* Feedback fixes
* Resume Assist voice input on new intent (as assistant app/brought to front)
* Use constants for android.intent.action.ASSIST
- android.intent.action.VOICE_ASSIST is marked as internal
Add toggle for assistant app intent filter on Wear
- Adds a toggle for enabling/disabling Assist as an assistant app (= intent filter on Assist activity), as users may not be able to change the app used after choosing 'Always' and Wear OS 2 doesn't ask the user which app to use which can result in Assist instead of the Google Assistant being forced.
* Use Assist pipeline STT/TTS on Wear OS
- Update Assist pipeline support on Wear OS to use the pipelines' STT/TTS capabilities, if available and if the app has the required permission
- Move UrlHandler functions (app) to UrlUtil (common)
* Create a base AssistViewModel for sharing code
- Creates AssistViewModelBase in common to share Assist tasks that appear in both the main app and watch app
* Keep screen on during voice input to avoid interruption
* First attempt at a new release model.
* Fix bad syntax
* Bump year and month with another job
* Use the plugin's version in apps.
* Make sure to generate the pre release weekly.
* Review Comments.
- Allow continuing conversation for Assist on watches by adding a mic input button at the bottom of the screen
- Allow changing pipelines for Assist on watches when on a supported core version
- Preparing for pipeline STT and TTS
* Native Assist setup + text input
* Minor (text input) UI tweaks and fixes
- Set a very light window tint to increase contrast on white backgrounds
- Keyboard to outline for consistency
- Text input: keyboard action, keyboard icon to outline for consistency, show keyboard when switching
- Fix reset conversation on recreation
* Voice input
- Add basic voice input support to the native Assist interface
* Voice input bugfixes
- Don't block voice output while sending data via websocket
- Drop voice output data if there is a subscriber and the buffer is full by specifying a buffer + overflow strategy that matches behavior when there are no subscribers
- Properly stop AudioRecord reading when job is cancelled (non-suspending function)
- Stop recorder before stopping output collection
* Voice responses (generated TTS) playback
- Play received tts-end events when using voice input
- Update permission info on resume to catch granted permissions while in the background
* Pipeline switcher
- Allow switching between all different pipelines
- Add icon content descriptions
* Check + show attribution
* Prevent sheet that is too high pushing controls away
* UI feedback: pipelines and attribution
* Update Automotive manifest
* Fix speech bubble size for larger responses
* Update manifest to handle tasks/backstack better
- Set the affinity to a value to make sure Assist is always launched in another task than the main app
- Automatically remove from recents as Assist will be the only thing in it's task, after finishing there's nothing left to (re)start
* App-specific feature checks and error handling
- Check for microphone support on device
- Handle connectivity errors
- Handle argument errors
- Handle errors for pipelines that are no longer visible
* More UI feedback
- Add a title to the sheet to make sure people know this is the Home Assistant app
- Fix TextField alignment
* More header means max height adjustment
* Group incoming messages by subscription to prevent out-of-order delivery
- Messages received on the websocket are processed asynchronously, which is usually fine but can cause issues if messages need to be received in a specific order for a subscription. To fix this, process messages in order for the same subscription.
* Implement Assist pipeline API
- Add basic support for the Assist pipeline API
- Update conversation function to use the Assist pipeline when on the minimum required version
- Update UI to refer to Assist pipeline requirement
* Bump com.android.tools.build:gradle from 7.4.2 to 8.0.0
Bumps com.android.tools.build:gradle from 7.4.2 to 8.0.0.
---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump Gradle version
* Build default values changes
- Remove items that match new defaults
- Add item to keep old default to allow for those changes to happen in another PR
* Align target Kotlin version with target Java version
* Use JDK 17
* Remove one more item that now matches default
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joris Pelgröm <joris.pelgrom@gmail.com>
* Add ComplicationType.LONG_TEXT support, friendly state
- Makes it possible for watch faces to request a long text complication
- Use the friendly state to support translated states and dates
* Add show title option
- Allows hiding the title of a complication in case it doesn't look right
* Implement/fix reading state from database
- When a entity ID is provided in the configuration request, load data for that complication from the database to allow easy reconfiguration
- Provide more appropriate error messages when complication isn't configured / the entity doesn't exist
* ktlint
- Exchange server information between the Wear app and phone app, and create a temporary server on the phone that holds the Wear server information, to ensure that the same server is used on both devices
* Get and cache user information
- Add function to get information about the current user
- Cache user information alongside server in database
* Replace/prevent admin only calls
* Push Wear users to install app on phone
- Push Wear OS users to install the app on their phone if they don't already have it, as the sign in experience is a lot better and less sensitive to errors
- Allow using 'Advanced' if the user cannot or doesn't want to install the app on their phone
* Fix import
* Add time
* Update play store listing for wear OS
* Update description and add screenshots for tiles
* Update phone screenshots to be consistent and showcase some widgets
* Fix small size
* Use single screenshot to show widgets and meet requirements
* Update home screen images
* Show all widgets
* Update camera widget image, oops
* Fix screenshots