* Replace OutlinedTextField with TextField
* Text field consistency updates
- Replace `OutlinedTextField` with the filled `TextField`
- Replace server dropdown button with server dropdown menu
* 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 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
* Apply car prefix to car sensors, add some logging around new car sensors
* Update state based on reported status, minor clean up
* Make code more concise per review comment
* Use unavailable when status is not given
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.
* 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
* Implement a frontend-like single entity picker
- Adds a new Composable `SingleEntityPicker` which aims to provide a text input with autocomplete search for entities like the frontend, where you can pick one
* Improve filtering to allow suggestions with space, searching for entity IDs
- Trim search input so the space automatically added after an IME suggestion is ignored
- Also search entity ID but sort those results second, friendly name keeps priority
- It looks like not all devices keep the original settings names, fallback to the 'manage default apps' intent if we cannot directly open the screen for the assistant app setting
- Don't suggest setting HA as the assistant app on Android L as this setting doesn't exist yet
- Allow suggesting setting HA as the assistant app on Android M as this setting was added in M
Add Auto notification extension + vector icon
- Add an option to have notifications show up on Android Auto
- Apply color filter to MDI notification icons as Android Auto doesn't make them white
- Switch default notification icon for vector icon
Implement suggestion area in settings
- Add a suggestion area to the top of the main app settings screen where very important settings can be promoted; to start setting HA as assistant app and enabling the notification permission
- Thread credential syncing uses the provided CoroutineScope to run other functions that throw exceptions. When using a normal Job a thrown exception will mean that everything in that scope is cancelled and propagates, even if caught. That isn't wanted so use a SupervisorJob instead when running this function to make sure that when caught nothing else stops.
* 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>
* Add `git status` check to determine what's dirty.
* Put the locale stuff in the app/wear folders rather than common with the real data.
* Revert "Add `git status` check to determine what's dirty."
This reverts commit 8513c0b09f.
* Leave the git status check for sanity later.