* 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....
- Hide already added instances when adding another server to the app when found in discovery
- Show already added instances with their external URL in discovery when logging in a Wear OS device
* Android auto: default to favorites if defined
* Fix changing servers
* Fix empty favorites list
* Review comments
* Account for extra grid items when showing favorites
* Switch to grid view for home screen, show all domains when there are no favorites for the server
* Review comments
* Clean up and move some methods to util
* Collect favorites with allEntities
* Review comments
* Move native mode logic back
* Check distraction again in domain screen
* Use base class to get distraction optimized variable
* Send blank template if user is not logged in
* Mark variables as private
* Fix icon resolution for grid items
* 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 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>