Commit graph

203 commits

Author SHA1 Message Date
Daniel Shokouhi 7f32738e10
Add a tile to start a conversation (#3158)
* Add a tile to interact with conversation integration

* Check HA core version and that conversation is enabled

* Rename search to conversation

* Add some TODOs, review comments for more clean up

* Review comment

* Add back private set
2022-12-18 15:25:00 -05:00
Daniel Shokouhi 8df504e1d7
Migrate more sensors to Wear OS (#3115) 2022-12-18 15:20:12 -05:00
Daniel Shokouhi 5780f1492b
Restart health services if no updates received in 30 minutes (#3126)
* Restart health services if no updates received in 30 minutes

* Only update activity state if the state changes or an update needs to be forced
2022-12-16 09:59:29 -05:00
Daniel Shokouhi 49849d4587
Let heart rate sensor get up to 10 events in case first is invalid (#3125)
* Let heart rate sensor get up to 5 events in case first is invalid

* Increase to 10 events to try and get a reading
2022-12-16 09:58:28 -05:00
Daniel Shokouhi d5714d85e4
Only subscribe to supported entities on Wear OS home screen (#3103)
* Only subscribe to favorite entities on Wear OS homescreen

* Switch to subscribing to all supported domains

* Update entity states when app is resumed and entities are loaded to keep things in sync

* Only update domains when needed

* Update all registeries when we resume

* Move UI update to view model

* Review comment

* Clear values before updates

* Process review comments
2022-11-30 14:59:57 -05:00
Daniel Shokouhi 8563efef5f
Add some debug logs for heart rate sensor (#3111) 2022-11-28 22:15:36 -05:00
Joris Pelgröm 442cb25e59
Add deeplinks to Wear OS sensor sync notifications (#3105)
Add deeplinks to Wear sensor sync notifications
2022-11-28 22:11:57 -05:00
Daniel Shokouhi fd7a593c41
Fix current version sensor so it properly reports the flavor (#3104)
* Fix current version sensor so it properly reports the flavor

* Review comments
2022-11-28 22:11:12 -05:00
Daniel Shokouhi f15b192a79
Reduce usage of job scheduling to avoid throttling (#3087) 2022-11-22 14:04:55 -05:00
Daniel Shokouhi 382b26c4c3
Skip heart rate value updates when below 0 (#3081) 2022-11-22 13:59:58 -05:00
Daniel Shokouhi 5a38f95482
Add proper device class for daily distance sensor on Wear OS3 (#3079)
* Add proper device class for daily distance sensor on Wear OS3

* Only use the device class distance when supported
2022-11-22 13:57:21 -05:00
dependabot[bot] 62ebb90f2e
Bump hilt-android from 2.44 to 2.44.2 (#3071)
Bumps [hilt-android](https://github.com/google/dagger) from 2.44 to 2.44.2.
- [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.44...dagger-2.44.2)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-17 14:42:31 +00:00
dependabot[bot] 1b5ab1c2ec
Bump hilt-android-compiler from 2.44 to 2.44.2 (#3072)
Bumps [hilt-android-compiler](https://github.com/google/dagger) from 2.44 to 2.44.2.
- [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.44...dagger-2.44.2)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-17 09:30:21 -05:00
Daniel Shokouhi a390865cad
Store health services updates and send them with worker updates (#3076)
* Store health services updates and send them with worker updates

* Switch update type to worker
2022-11-17 09:06:56 -05:00
Joris Pelgröm 0bccff65c3
Revert jackson-module-kotlin bump to fix compatibility on older Android version (#3077) 2022-11-17 09:06:31 -05:00
Daniel Shokouhi 494414eb87
Add Daily Calories, Distance and Steps sensors for health services (#3054)
* Add Daily Calories, Distance and Steps sensors for health services

* Process data points before condition to push update
2022-11-12 08:24:17 -05:00
Daniel Shokouhi 33d1e30cb1
Switch from viewModelScope to lifecycleScope for external collections (#3045)
* Switch from viewmodelscope to lifecyclescope for external collections

* Check loading state before collecting

* Revert previous changes for checking loading state

* Skip collection if not connected

* Simplify launching collections
2022-11-12 08:23:44 -05:00
dependabot[bot] a20fb24ddc
Bump jackson-module-kotlin from 2.13.4 to 2.14.0 (#3048)
Bumps [jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) from 2.13.4 to 2.14.0.
- [Release notes](https://github.com/FasterXML/jackson-module-kotlin/releases)
- [Commits](https://github.com/FasterXML/jackson-module-kotlin/compare/jackson-module-kotlin-2.13.4...jackson-module-kotlin-2.14.0)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.module:jackson-module-kotlin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-09 16:18:05 -05:00
Daniel Shokouhi afa8a83496
Add missing boot completed permission for Wear OS (#3042) 2022-11-09 16:15:26 -05:00
Daniel Shokouhi 6f2b5cf9eb
Remove unneeded kotlin option (#3039) 2022-11-09 16:15:08 -05:00
Daniel Shokouhi 57b3b771b4
Track time between hardware sensor updates to restart the listener as needed (#3026)
* Check if listener got stuck for heart rate sensor and restart if needed

* Apply reset listener logic to other hardware sensors

* Review comments
2022-11-09 16:14:49 -05:00
Daniel Shokouhi affc60178e
Add daily floors sensor for Wear OS3 devices (#3005)
* Add daily floors sensor for Wear OS3 devices

* Do a compatibility check for sensor availability in health services

* Print more logs and attempt to send latest data, update more getAvailableSensor methods

* Process review comments

* Process more review comments, use actual time in millis

* Clear out available sensors when updating with new list

* Log the capabilities in case we need to troubleshoot later

* Review comment

* Missed one additional review comment

* Return immediately instead of storing a list
2022-11-09 16:12:13 -05:00
Mads Sørensen e01246ae28
Add caching of favorites in Wear OS, resulting in prettier loading (#2982)
* Add caching of favorites, results in prettier loading

* Update wear/src/main/java/io/homeassistant/companion/android/home/MainViewModel.kt

Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>

* Implement a lot suggestions from @jpelgrom
Revert previous changes to database and implement properly

* Apply suggestions from code review

Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>

* Implement suggestions from @jpelgrom

* Remove null assertions from icon function

* Update wear/src/main/java/io/homeassistant/companion/android/home/views/MainView.kt

Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>

* Fallback to entity ID if friendly_name is missing when creating cache,
Remove wrapper function to delete cached items

* Remove "clear cache" button

* Implement changes by @jpelgrom

Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com>
2022-11-09 16:06:38 -05:00
Daniel Shokouhi c89184bf31
Bump and switch to compose BOM dependency (#3028)
* Bump and switch to compose BOM dependency

* Bump kotlin and compose extensions
2022-11-03 12:31:35 -04:00
Jorden 1b1c2bb672
Change DocsLink in Wear OS Sensors (#3017) 2022-11-03 12:27:38 -04:00
Daniel Shokouhi 7f5dd17c87
Add a heart rate sensor to Wear OS (#3008) 2022-10-28 13:34:05 -04:00
StopMotionCuber 11f2006924
Set focus for onboarding activity to support rotary input (#3009) 2022-10-28 13:21:17 -04:00
Tiger Oakes 3f9b01affa
Remove unused setters (#3002) 2022-10-28 13:20:29 -04:00
Jorden 209497e0a2
Fix global vars in bedtime and theater mode (#3001) 2022-10-26 11:32:53 -04:00
Daniel Shokouhi 2a56db4a17
Add user activity sensor from health services for Wear OS (#2995)
* Add user activity sensor from health services for Wear OS

* Only add health services if device supports it

* Move library initialization to after isEnabled check

* Review comments
2022-10-25 21:31:28 +00:00
Jorden 1faf03a490
Add Wet Mode Sensor (#2994)
* Add Wet Mode Sensor

* Add Wet Mode Sensor

* Change Description

* Fix spelling

* Fix Sloppy mistakes
2022-10-25 17:12:28 -04:00
Daniel Shokouhi 6da455f1be
Add previews to Wear OS compose and sort sensor by name (#2984)
* Add composable previews for a few missing functions

* Sort sensors by name

* Review comment

* Specify the device for Wear OS previews
2022-10-25 17:08:06 -04:00
Tiger Oakes 993012f9dd
Convert Play tasks to coroutines (#2962)
* Convert tasks to coroutines

* Fix lint issues

* fullImplementation
2022-10-25 17:07:19 -04:00
Daniel Shokouhi c95725f767
Add more Wear OS sensors (#2981)
* Add more Wear OS sensors

* Update description for how sensors update, also update the type
2022-10-21 18:19:41 +00:00
dependabot[bot] bd26435eb8
Bump community-material-typeface from 6.4.95.0-kotlin to 7.0.96.0-kotlin (#2944)
* Bump community-material-typeface from 6.4.95.0-kotlin to 7.0.96.0-kotlin

Bumps [community-material-typeface](https://github.com/mikepenz/Android-Iconics) from 6.4.95.0-kotlin to 7.0.96.0-kotlin.
- [Release notes](https://github.com/mikepenz/Android-Iconics/releases)
- [Changelog](https://github.com/mikepenz/Android-Iconics/blob/develop/gradle-release.gradle)
- [Commits](https://github.com/mikepenz/Android-Iconics/commits)

---
updated-dependencies:
- dependency-name: com.mikepenz:community-material-typeface
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

* Rename text-to-speech to microphone-message

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>
Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
2022-10-21 17:57:15 +00:00
dependabot[bot] fa095a8bb2
Bump iconics-core from 5.3.4 to 5.4.0 (#2945)
Bumps [iconics-core](https://github.com/mikepenz/Android-Iconics) from 5.3.4 to 5.4.0.
- [Release notes](https://github.com/mikepenz/Android-Iconics/releases)
- [Changelog](https://github.com/mikepenz/Android-Iconics/blob/develop/gradle-release.gradle)
- [Commits](https://github.com/mikepenz/Android-Iconics/compare/v5.3.4...v5.4.0)

---
updated-dependencies:
- dependency-name: com.mikepenz:iconics-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-21 17:56:36 +00:00
Daniel Shokouhi e8fe823312
Add On Body sensor for Wear OS (#2961)
* Add On Body sensor for Wear OS

* Remove unnecessary requirement
2022-10-21 13:47:20 -04:00
dependabot[bot] 1d3e8d67e9
Bump iconics-compose from 5.3.4 to 5.4.0 (#2943)
Bumps [iconics-compose](https://github.com/mikepenz/Android-Iconics) from 5.3.4 to 5.4.0.
- [Release notes](https://github.com/mikepenz/Android-Iconics/releases)
- [Changelog](https://github.com/mikepenz/Android-Iconics/blob/develop/gradle-release.gradle)
- [Commits](https://github.com/mikepenz/Android-Iconics/compare/v5.3.4...v5.4.0)

---
updated-dependencies:
- dependency-name: com.mikepenz:iconics-compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-21 13:42:10 -04:00
Joris Pelgröm e287321c53
Show settings chip while loading Wear app (#2968)
* Show settings chip while loading Wear app

* Disable favorite editing while loading
2022-10-19 14:54:09 -04:00
Daniel Shokouhi 7c792c4d4b
Add permissions requests to wear OS sensors and add network sensors (#2956)
* Add permissions requests to wear OS sensors

* Add intents for network sensors on wear

* Separate background/foreground location permission requests

* Prompt for background permissions after foreground was successful

* Only set sensor to enabled if all permissions are grantted

* Review comments

* Process more review comments

* Remove unnecessary variable update
2022-10-19 14:48:35 -04:00
Joris Pelgröm 4a9dd8ba04
Android 13 notification changes + target (#2682)
* Request notification permission during onboarding

 - When using Android 13 or the minimal version, add a screen to onboarding to request to enable notifications on the device. This screen is based on iOS onboarding. When tapping Continue, on Android 13 this requests the system permission and/or on the minimal version this changes the websocket setting.
 - Compile with and target SDK 33 (targeting required to be able to request notification system permission on demand)

* Add notification settings link in settings when off

 - Show a new setting in settings for the user to enable notifications for the Home Assistant app, either because the permission was denied (Android 13) or the user manually turned off all notifications (Android 8-12).
 - This new setting replaces the notification channels setting when everything is off; in this case there is no point managing individual channels. If at least one channel is on, the existing notification channels setting is shown instead.

* Compose tweaks

 - Remove redundant content description for icon
 - Change to a simpler scroll modifier

* Fix skipping notifications on minimal version

 - Ensure that the value is actually saved to the database

* Post Bluetooth on/off commands as if invalid

 - When using Android 13, post notification commands to control Bluetooth on/off as a normal notification as if they were invalid, as the function has been deprecated for the app

* Remove type that can be inferred
2022-10-19 14:43:15 -04:00
Justin Bassett 1adc33bf61
Bump Hilt version to 2.44 (#2939)
Bump hilt version to 2.44
2022-10-01 17:12:32 -04:00
Joris Pelgröm abf0220430
Update Gradle to 7.5.1, Android Gradle plugin to 7.3.0 (#2934)
- Update Gradle to latest version (7.5.1)
 - Update Android Gradle plugin to latest version (7.3.0)
 - Move package property out of manifest into gradle build files namespace as recommended
2022-10-01 16:14:45 -04:00
Joris Pelgröm 0222d6b673
Bump Google dependencies (#2910) 2022-09-24 16:04:58 -04:00
Daniel Shokouhi 7ab914a8bb
Mark Wear OS app as non-standalone since we use phone for sign in now (#2900) 2022-09-21 00:40:48 +00:00
Joris Pelgröm 69beab3a2a
Don't collapse lists by default if there's only one list (#2861)
Don't collapse lists by default if there's only one key

 - If there is only one key, the app shouldn't collapse it by default as the app may not use a collapsible header in that case
2022-09-10 15:17:10 -04:00
dependabot[bot] 2380741a45
Bump jackson-module-kotlin from 2.13.3 to 2.13.4 (#2851)
Bumps [jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) from 2.13.3 to 2.13.4.
- [Release notes](https://github.com/FasterXML/jackson-module-kotlin/releases)
- [Commits](https://github.com/FasterXML/jackson-module-kotlin/compare/jackson-module-kotlin-2.13.3...jackson-module-kotlin-2.13.4)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.module:jackson-module-kotlin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 14:42:26 +00:00
Joris Pelgröm a711c659a4
Update Wear onboarding to always use phone for sign in (#2838)
* Always do Wear onboarding on phone

 - Switch the Wear onboarding to always use the sign in flow on the paired phone, instead of offering the option to sign in completely on the watch.
 - When opening the companion app using the Wear app, immediately link the user to the list of instances or sign in screen.
 - Use standard OAuth flow for devices without companion app installed.
 - Fix type casting of location preference in Wear onboarding result.

* Fix ListenableFuture await import
2022-09-05 10:25:13 -04:00
Joris Pelgröm c6b36d82bb
Support device controls on locked Android 13 device (#2820)
- Add support for using device controls while the device is locked on Android 13 devices
 - Start compiling with Android 13's SDK to make this possible
2022-09-05 09:58:13 -04:00
Joris Pelgröm 3908a07c1f
Prevent crashes on Wear when offline / server no longer available (#2825)
- Catch exceptions thrown when executing calls to change an entity state instead of crashing the app
 - When revoking a session fails continue with logout as the server might no longer be available and the user otherwise might be 'locked in' with no way to change the server
2022-08-29 20:53:52 -04:00