diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index 31022194d..c5abddd95 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -1013,4 +1013,6 @@ You must be at least on Home Assistant 2023.1 and have the conversation integration enabled Conversation Assist + Please launch the Home Assistant app and login before you can use the assist feature. + HA: Assist diff --git a/wear/src/debug/res/mipmap-anydpi-v26/ic_assist_launcher.xml b/wear/src/debug/res/mipmap-anydpi-v26/ic_assist_launcher.xml new file mode 100755 index 000000000..15773194f --- /dev/null +++ b/wear/src/debug/res/mipmap-anydpi-v26/ic_assist_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml index 641a273d7..f29f4d522 100644 --- a/wear/src/main/AndroidManifest.xml +++ b/wear/src/main/AndroidManifest.xml @@ -87,7 +87,15 @@ + android:icon="@mipmap/ic_assist_launcher" + android:label="@string/ha_assist" + android:exported="true"> + + + + + + diff --git a/wear/src/main/java/io/homeassistant/companion/android/conversation/ConversationViewModel.kt b/wear/src/main/java/io/homeassistant/companion/android/conversation/ConversationViewModel.kt index eca65627a..9b88e702a 100755 --- a/wear/src/main/java/io/homeassistant/companion/android/conversation/ConversationViewModel.kt +++ b/wear/src/main/java/io/homeassistant/companion/android/conversation/ConversationViewModel.kt @@ -33,6 +33,9 @@ class ConversationViewModel @Inject constructor( var isHapticEnabled = mutableStateOf(false) private set + var isRegistered by mutableStateOf(false) + private set + fun getConversation() { viewModelScope.launch { conversationResult = integrationUseCase.getConversation(speechResult) ?: "" @@ -40,6 +43,7 @@ class ConversationViewModel @Inject constructor( } suspend fun isSupportConversation() { + isRegistered = integrationUseCase.isRegistered() supportsConversation = integrationUseCase.isHomeAssistantVersionAtLeast(2023, 1, 0) && webSocketRepository.getConfig()?.components?.contains("conversation") == true diff --git a/wear/src/main/java/io/homeassistant/companion/android/conversation/views/ConversationView.kt b/wear/src/main/java/io/homeassistant/companion/android/conversation/views/ConversationView.kt index 72f549b19..b0308e3e9 100755 --- a/wear/src/main/java/io/homeassistant/companion/android/conversation/views/ConversationView.kt +++ b/wear/src/main/java/io/homeassistant/companion/android/conversation/views/ConversationView.kt @@ -55,10 +55,11 @@ fun ConversationResultView( Spacer(Modifier.padding(24.dp)) SpeechBubble( text = conversationViewModel.speechResult.ifEmpty { - if (conversationViewModel.supportsConversation) - stringResource(R.string.no_results) - else - stringResource(R.string.no_conversation_support) + when { + (conversationViewModel.supportsConversation) -> stringResource(R.string.no_results) + (!conversationViewModel.isRegistered) -> stringResource(R.string.not_registered) + else -> stringResource(R.string.no_conversation_support) + } }, false ) diff --git a/wear/src/main/res/drawable/ic_assist_launcher_foreground.xml b/wear/src/main/res/drawable/ic_assist_launcher_foreground.xml new file mode 100755 index 000000000..78cfe8e88 --- /dev/null +++ b/wear/src/main/res/drawable/ic_assist_launcher_foreground.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/wear/src/main/res/mipmap-anydpi-v26/ic_assist_launcher.xml b/wear/src/main/res/mipmap-anydpi-v26/ic_assist_launcher.xml new file mode 100755 index 000000000..674212a57 --- /dev/null +++ b/wear/src/main/res/mipmap-anydpi-v26/ic_assist_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file