- 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.
- 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 location history (location, trigger, result)
- Initial setup saving data, no UI, cleanup or preferences yet
* On/off setting, limit history size and basic UI
- Add a on/off setting for location history (default on)
- Limit the history size to 48 hours, any older entries will be deleted during regular sensor updates
- Add a basic UI for location history based on paging considering the possible data size with multiserver/high accuracy. The list looks good and shows status at a glance, detail view still needs work.
* Finish expanded UI
- Make the expanded UI nicer and show relevant data, buttons for opening the location in a maps app and sharing log data
- Add empty states for location history
* Filter by state, improve list speed
- Add option to filter by state
- Simplify Room configuration and sort by indexed ID to improve list loading speed
* Remove duplicate source
* Fix minimal
* Split sent into sent and failed to send
* Initial work on migrating plugins to catalogs.
* Remove Enterprise Build profiling since we really don't use it.
* Use a common Java Version and sdk versions.
* ktlint
* Review comments.
* 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....
* Add favorites selection for Android Auto
* Move reorderable to implementation
* Small clean up
* Hide from minimal build
* Show on automotive builds and change some titles to match that device
* Update strings to be more precise about driving optimized
* Review comments
* Switch from string set to string to preserve order
* Move some conversion logic to PrefsRepository
* clean up
* Review comments
* Consistency updates
* Add CarInfoSensorManager
* use overrideLibrary instead of increasing minSdk
* use fullImplementation
* ensure that the sensor is enabled
* check sensorid for required permissions
* fix formatting
* start app notification
* merge CarInfoSensorManager into AndroidAutoSensorManager
* fix formatting
* fix merge error
* add other sensors
car name, manufacturer, manufacturing year, odometer, ev status (connected, charging port open/close)
* prevent multiple notifications
* apply review comments
* add "needs to be started" state to sensors
* apply review comments
* add android auto channel
* set car battery level as diagnostic sensor
* remove onNewIntent (not needed)
* formatting
* remove notification code
* replace "android_auto" prefix by "car"
* move carinfo sensors to main instead of full
* move android car sdk override to main
* update unavailable message
* add hasSensor method
* hide sensors for automotive
* move automotive check and limit sensors to full version
* remove _level from sensor names and ids
* remove alreadySentMessage
* Add icon dialog based on Jetpack Compose
TODO
* Migrate to new icon dialog
* Migrate old database
* Don't wrap with drawablecompat
* Rebase fixes and updates
- Fix and update database migration
- Fix dependencies
- Fix shortcut icons
- Fix ComposeView in AlertDialog not working by switching implementation to DialogFragment
- Fix icons that no longer exist
- ktlint
* Visual compatibility
- Automotive asset
- Handle icon ids in shortcuts to prevent users losing icons when updating shortcuts
- Add padding, color filter to shortcut icons to keep icons consistent with older icons
- Increase button widget icon padding to keep sizing consistent
- Add tip to dialog about searching in non-English languages
* Fix line endings
---------
Co-authored-by: Tiger Oakes <contact@tigeroakes.com>
* 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.
* 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
* Move vehicle service to minimal to allow for minimal Automotive build
- Move the vehicle package from full to main so it is included in the minimal build as well, to allow for a minimal Automotive build
- Adjust dependencies from full to any version (checked: the androidx.car dependency does not have a dependency on any GMS libraries)
- Move Automotive CarAppActivity + service + metadata to main manifest; not moved in app module because it is only used for Android Auto there
- Adjust GitHub Actions to include minimal Automotive APK
* Cleanup duplicate Play Services coroutines dependency
* Cleanup duplicate <uses-feature> for camera
* Missed one GMS dependency
* 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
* Creation of Automotive Module and Fix OnboardingActivity parent Activity.
* Adding Manifest Dependencies.
* Fixing ktlint
* Remove unused import.
* Copy Google Services to android automotive
Github actions for PR require this to be set up in order for the build to pass.
* Missing two entries to copy the google-services.json file
* Fixing Build Process.
* Version code +2
We add 2 because the app, wear (+1) and automotive versions need to have different version codes.
* Update +3 per recomendation.
* Code to support transition from Full app to Car App Library.
* Fixing linter.
* More ktlin
/home/runner/work/android/android/app/src/main/java/io/homeassistant/companion/android/BaseActivity.kt:19:1 Needless blank line(s)
/home/runner/work/android/android/app/src/main/java/io/homeassistant/companion/android/BaseActivity.kt:31:95 Unnecessary semicolon
/home/runner/work/android/android/app/src/main/java/io/homeassistant/companion/android/BaseActivity.kt:39:1 Unexpected blank line(s) before "}"
/home/runner/work/android/android/app/src/main/java/io/homeassistant/companion/android/BaseActivity.kt:44:1 First line in a method block should not be empty
* Changes to allow navigate back from / native and feedback from PR.
* Indentation fixes.
* Sync Thread datasets when starting Matter commissioning
- When starting Matter commissioning from the frontend, check if there are Thread datasets on the device or in core but not the other, and if so try to sync them
* Also sync Thread datasets in shared device flow
- Datasets may not be used by the system but it is useful for future devices
- Make methods in ThreadManager a bit more general