Commit Graph

1431 Commits

Author SHA1 Message Date
Joris Pelgröm
50506f06ca
Add toggle for voice command intent with Assist (#4478) 2024-06-26 06:46:52 +02:00
Joris Pelgröm
ebd800ded3
Hide 'Wait' if WebViewActivity error is not due to external bus timeout (#4412)
* Hide wait if WebViewActivity error is not due to external bus timeout

 - The error pop up in WebViewActivity can show up for various reasons. The option to wait is only relevant when it is due to a timeout waiting on the external bus, otherwise it is an error for page loading/ssl/...  where waiting won't change the outcome. To prevent confusion, hide the wait button when the error is not triggered by the external bus timeout.

* Align refresh button text and action

 - Have the refresh button trigger refresh errors instead of timeouts by using the correct url + function instead of interacting with WebView directly (for previous commit to work as expected)
 - Make the text on the refresh button and the action do the same thing by using the same check for internal
2024-06-14 23:21:24 +02:00
Daniel Shokouhi
6bd3ac21f9
Update change log week of 6/14 (#4464) 2024-06-14 12:55:08 -07:00
Roffild
cdaf17f9a6
Remove "No unique cases found to override" log (not specific enough) (#4439) 2024-06-12 14:51:12 +02:00
dependabot[bot]
9bb9513f9f
Bump kotlin from 1.9.24 to 2.0.0 (#4414)
* ---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: org.jetbrains.kotlin.android
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: org.jetbrains.kotlin.kapt
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: org.jetbrains.kotlin.plugin.parcelize
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump ksp

* Use Jetbrains Compose compiler

* Remove deprecated duplicate config

* ktlint

* Remove old Compose compiler version

---------

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>
2024-06-03 08:22:03 -07:00
Joris Pelgröm
dff1fa352f
Use ksp instead of kapt for Hilt (#4418) 2024-06-02 14:39:05 +02:00
Joris Pelgröm
9935ad45e4
Trim Assist pipeline text messages (#4433)
- For received Assist pipeline text messages from the server, trim what is displayed in the app to avoid messages with additional empty lines as seen in the latest HA core beta
2024-06-01 23:08:50 +02:00
Joris Pelgröm
48e2ab570e
Update changelog version 2024.6.1 (#4434)
Update changelog version
2024-06-01 19:51:28 +02:00
Daniel Shokouhi
3833e73dfe
Update change log week of 5/17 (#4411) 2024-05-17 10:39:58 -07:00
Joris Pelgröm
62673fc7a3
Quick fix minor warnings from Android Studio (#4406)
- 'getter for isSpeakerphoneOn: Boolean' is deprecated. Deprecated in Java
 - Unnecessary safe call on a non-null receiver of type Intent
 - The corresponding parameter in the supertype 'BaseWidgetConfigureActivity' is named 'savedInstanceState'. This may cause problems when calling this function with named arguments.
2024-05-15 14:30:54 -07:00
Daniel Shokouhi
d640b9d974
Use device class enum where possible and supply possible states for those sensors (#4394)
* Use device class enum where possible and supply possible states for those sensors

* Add some missing sensors

* Review comments and suppress lint

* Add media session sensor to enum device class
2024-05-13 12:41:18 -07:00
Joris Pelgröm
395b553772
Prevent race creating + clean up sensor entries for old/deleted servers (#4386)
- Prevent a race on logout from the frontend between updating the sensors and deleting the server data, causing stale sensor entries
 - During periodic sensor updates, clean up any orphaned sensor entries there might be (because of this bug or other race conditions we're unaware of)
2024-05-06 08:15:29 -07:00
Daniel Shokouhi
ab2753685e
Update change log week of 5/3 (#4382)
* Update change log week of 5/3

* Remove mention of sensor in automotive since it doesnt have it
2024-05-04 12:57:25 -07:00
dependabot[bot]
a8f924d4b9
Bump activity-compose from 1.8.2 to 1.9.0 (#4376)
* Bump activity-compose from 1.8.2 to 1.9.0

Bumps `activity-compose` from 1.8.2 to 1.9.0.

Updates `androidx.activity:activity-compose` from 1.8.2 to 1.9.0

Updates `androidx.activity:activity-ktx` from 1.8.2 to 1.9.0

---
updated-dependencies:
- dependency-name: androidx.activity:activity-compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.activity:activity-ktx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update nullability for overrides in app

* Update nullability for overrides in wear

---------

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>
2024-05-03 17:57:14 +02:00
Joris Pelgröm
674f5d4c5f
Add QR code scanner for frontend (#4303)
* Basic barcode scanner functionality

* Add overlay with cutout and toggle flashlight

 - Add a overlay with cutout in the middle / on the side, matching design and Google's barcode scanner
 - Working button for toggling the flashlight on and off

* Fix background camera use, complete more UI

 - Fix camera remaining active when the activity is paused (for example, by going to another app)
 - Set the app's theme
 - Add more UI parts: title, subtitle, optional action button

* Complete scanner UI

 - Request permission when launched, and add snackbar when permission is denied
 - Add flashlight button and position it to line up with the frame
 - Make title/subtitle/action dynamic
 - Fix double scrim for system bars on older API levels

* Add dependency to automotive as we can't exclude features

* More automotive dependencies

* Return information about barcode format

* Implement external bus for scanner

* Fix external bus type

 - The type for external bus messages should be command, with the bar_code/* in the key command
 - Send aborted when closing the scanner using back

* Improve feature availability check

 - Make sure the device actually has a camera and is not automotive
2024-05-02 17:55:22 -07:00
Michael Vieck
cda6b01589
Added Compose Previews for NFC, Onboarding & Companion Views (#4239)
* Feature/compose previews (#1)

* Compose Preview created for ChooseEntityView

* Nfc view previews added

* Added onboarding previews

* Fixed ktlint errors

* Author Test

---------

* Using phone view for preview

* Using premade preview entities

* Renamed preview logs

* Review comments

---------

Co-authored-by: Joris Pelgröm <joris.pelgrom@gmail.com>
2024-04-30 17:55:05 +00:00
Daniel Shokouhi
d733b405cc
Update change log week of 4/20 (#4354) 2024-04-20 16:26:38 -07:00
Joris Pelgröm
f37e34e9de
Provide interface for external bus outside WebViewActivity (#4338)
- Adds an interface to the app to interact with the external bus outside the WebViewActivity. This should make it possible for the frontend to control more native UI of the app.
2024-04-20 11:09:52 -07:00
bbrockbernd
a3630393bf
Fix runBlocking in coroutines (#4340)
* Fixed runBlocking call in suspend function DefaultSliderControl.performAction

* Fixed runBlocking in LanguagesManager.getCurrentLang. This function is always called from a coroutine.

* Fixed runBlocking in LanguagesManager.saveLang. This function is always called from a coroutine.

* Fixed runBlocking in LocationSensorManager.sendLocationUpdate. This function is always called from a coroutine.

* Fixed runBlocking for ThemesManager.saveTheme and ThemesManager.getCurrentTheme

* Fixed ktlint
2024-04-20 11:09:17 -07:00
Joseph
4965254a69
Add support for voice command action (#4331)
* Add assistant headset support

* Revert AudioUrlPlayerService back to AudioUrlPlayer

* Address feedback
2024-04-20 15:46:35 +02:00
Daniel Shokouhi
4d9498c02b
Add some missing states for audio sensor and correct mic muted intent condition (#4350)
* Add some missing states for audio sensor

* Correct improper SDK check for mic muted intent action

* Update wear intent receivers

* Correct mic muted sensor update type
2024-04-20 15:44:04 +02:00
Daniel Shokouhi
177a040f57
Update change log week of 4/6 (#4320)
* Bump change log version

* Update change log
2024-04-06 16:00:12 +00:00
Daniel Shokouhi
973b50d4c7
Update change log week of 3/29 (#4310)
* Update change log week of 3/29

* Remove mentioning battery sensors from automotive and dont mention entity state change
2024-03-30 23:01:24 +01:00
Joris Pelgröm
3154f9a0ca
Allow multiple tasks for command_webview (#4307)
Allow multiple tasks for command_webview
2024-03-29 08:16:50 -07:00
Joris Pelgröm
20cecf7790
Remove deprecated Accompanist System UI controller (#4298) 2024-03-26 15:29:47 -07:00
Joris Pelgröm
acb81ba920
Pre-fill entity state widget label with entity name (#4296)
- When creating a new entity state widget, if the label is empty pre-fill it with the name for that entity to improve the initial UX. This does not apply when you've edited the label (or are editing a saved widget) until cleared.
2024-03-26 15:17:27 -07:00
Joris Pelgröm
5bf22b8631
Check protocol/port when determining reload for WebView (#4297)
- When determining whether the WebView should be reloaded with the current server URL, also check that the protocol (http/https) and port (8123, 443, ...) match and if not reload.
2024-03-26 15:14:28 -07:00
Nicolas Mowen
de3a3481e2
Fix normal images not working after gif changes (#4289)
Fix normal images not working
2024-03-25 08:10:40 -07:00
Daniel Shokouhi
2eaf0cddb2
Update change log week of 3/22 (#4287)
* Update change log week of 3/22

* Remove mention of transmitter setting on Wear OS as its not supported

* Mention GIF support
2024-03-23 09:30:13 -07:00
Nicolas Mowen
ef6327ffb3
Support showing all frames of animated gif image in Android 14+ (#4284)
* Support showing all frames of animated gif when sent as image in Android 14+

* Use unique image names and delete existing files that are no longer needed

* Fix lint

* update behavior to keep 2 days of images
2024-03-23 09:55:56 -04:00
Roffild
5729bbe6f0
Notification: "when_relative" for "chronometer" (#4273)
"timeout" is relative, but "when" is absolute by default.

It is now possible to synchronize timers in seconds without time difference:
```yaml
timeout: 120
chronometer: "true"
when: 120
when_relative: "true"
```
2024-03-22 11:45:40 +01:00
Daniel Shokouhi
d342d642b7
Update change log week of 3/15 (#4274) 2024-03-16 12:36:02 -07:00
Daniel Shokouhi
3d8bd0151a
Hide hidden navigation entities in android auto (#4249) 2024-03-11 15:22:03 -07:00
Joris Pelgröm
6ff3560146
Controls: prevent individual server error from blocking all others (#4262)
- Catch exceptions thrown while loading all controls on a server level, to make sure that an issue with one server doesn't prevent data from other servers from showing.
2024-03-11 17:50:22 -04:00
dependabot[bot]
9aece78bce
Bump hilt from 2.50 to 2.51 (#4234)
* Bump hilt from 2.50 to 2.51

Bumps `hilt` from 2.50 to 2.51.

Updates `com.google.dagger:hilt-android-compiler` from 2.50 to 2.51
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.50...dagger-2.51)

Updates `com.google.dagger:hilt-android` from 2.50 to 2.51
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.50...dagger-2.51)

Updates `com.google.dagger.hilt.android` from 2.50 to 2.51
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.50...dagger-2.51)

---
updated-dependencies:
- dependency-name: com.google.dagger:hilt-android-compiler
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:hilt-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger.hilt.android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Remove protected from ServerManager inject

---------

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>
2024-02-29 17:27:05 -05:00
Joris Pelgröm
835b50f0e3
Update Assist dialog state when transitioning locked<>unlocked (#4235)
- Update the dialog flags for showing the Assist dialog when locked to prevent unintentional resuming in another locked state and clear contents when resumed intentionally (assistant intent action)
2024-02-29 17:26:07 -05:00
dependabot[bot]
48ac7037c2
Bump com.github.Dimezis:BlurView from version-1.6.6 to version-2.0.4 (#4220)
* Bump com.github.Dimezis:BlurView from version-1.6.6 to version-2.0.4

Bumps com.github.Dimezis:BlurView from version-1.6.6 to version-2.0.4.

---
updated-dependencies:
- dependency-name: com.github.Dimezis:BlurView
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix build: use convenience method which sets algorithm, remove functions matching defaults

---------

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>
2024-02-24 19:37:26 +00:00
Daniel Shokouhi
2e30f270ee
Update change log week of 2/23 (#4222) 2024-02-24 09:55:51 -08:00
Daniel Shokouhi
b3b61ae5bf
Add command screen off to write permissions method (#4223) 2024-02-24 12:28:51 -05:00
StopMotionCuber
45e0ca9caa
Add ability for ClimateControl Card to cycle through entity states (#4142)
* Add ability for ClimateControl Card to cycle through entity states

* Fix ktlint issue

* Set `currentMode` after sending request for cycling through modes

* Display thermostat always as "on"

* Use "toggle" string from widget_tap_action_toggle

* Use hashMap to save states of entities as we're in a singleton

* Include support for colliding entityIds when using multi server within ClimateControl

* Add comment why ToggleRangeTemplate is always set to checked
2024-02-22 17:06:43 -05:00
dependabot[bot]
15b1518a44
Bump org.jlleitschuh.gradle.ktlint from 11.6.1 to 12.1.0 (#4125)
* Bump org.jlleitschuh.gradle.ktlint from 11.6.1 to 12.1.0

Bumps org.jlleitschuh.gradle.ktlint from 11.6.1 to 12.1.0.

---
updated-dependencies:
- dependency-name: org.jlleitschuh.gradle.ktlint
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add .editorconfig

* ktlintFormat

* Fix comment in a 'value_argument_list' is only allowed when placed on a separate line

* Restore AssistShortcutView

* Fix comment in a 'value_argument_list' is only allowed when placed on a separate line

* Fix no comment expected at this location

* Fix property name should start with a lowercase letter and use camel case

* Fix parameter comments

* Fix comment in a 'value_argument_list' is only allowed when placed on a separate line, again

* Fix property name should use the screaming snake case notation when the value can not be changed

* Fix final comment in argument list

---------

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>
2024-02-06 21:02:39 -05:00
Daniel Shokouhi
075bc50a07
Update change log week of 2/2/24 (#4186) 2024-02-02 17:18:25 -08:00
Joris Pelgröm
98f3d7abd2
Add option to update camera & template tile when 'in view' (#4185)
* Add option to update camera & template tile 'on view'

 - Use the tile enter callback to request an update to the tile once it enters the view. Considering that this callback exists it's probably safe to assume an update that is requested in this callback won't be throttled (at least it appears to work during testing).
 - Minor edit to the refresh interval picker to ensure strings that are more than one line look a bit nicer.

* on view -> in view
2024-02-02 16:44:22 -05:00
Joris Pelgröm
f95b482e53
Replace deprecated MdcTheme with 'normal' theme matching XML theme (#4182)
- 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.
2024-02-02 15:30:41 -05:00
Jorden
1786a7d3e6
Fix button widget on Samsung devices (#4181)
Fix button widget
2024-02-02 15:27:03 -05:00
Márton Maráz
c185b871fd
Make volume sensors update instantly by subscribing to a broadcast (#4162)
* 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
2024-02-02 15:25:55 -05:00
Daniel Shokouhi
44807af50f
Update change log week of 1/26 (#4163) 2024-01-27 10:17:02 -08:00
Joris Pelgröm
97d312bdd6
Androidx dependency updates late Jan 2024 (#4165)
- Update Wear Assist alignment to keep same appearance of an inline chevron to change the assistant
2024-01-27 17:58:40 +00:00
Joris Pelgröm
c6ddca8fdc
Support image entity in camera widget (now renamed picture widget) (#4159)
- Allow selecting image entities in the camera widget
 - Rename camera widget to picture widget to better reflect camera + image entity support
2024-01-25 17:02:51 -05:00
Joris Pelgröm
d9e65f8e5d
Remove Thread credential sync from start of Matter commissioning flow (#4150)
- 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.
2024-01-24 13:06:48 -05:00