Skip to content

Commit

Permalink
Example use ExternalBusRepository
Browse files Browse the repository at this point in the history
  • Loading branch information
jpelgrom committed Apr 8, 2024
1 parent 0bb4542 commit b21492d
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ import io.homeassistant.companion.android.common.R as commonR
import io.homeassistant.companion.android.nfc.views.LoadNfcView
import io.homeassistant.companion.android.util.UrlUtil
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.webview.externalbus.ExternalBusMessage
import io.homeassistant.companion.android.webview.externalbus.ExternalBusRepository
import javax.inject.Inject
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch

@AndroidEntryPoint
Expand All @@ -33,6 +37,9 @@ class NfcSetupActivity : BaseActivity() {
}
}

@Inject
lateinit var externalBusRepository: ExternalBusRepository

companion object {
val TAG = NfcSetupActivity::class.simpleName
const val EXTRA_TAG_VALUE = "tag_value"
Expand Down Expand Up @@ -125,7 +132,19 @@ class NfcSetupActivity : BaseActivity() {
val message = commonR.string.nfc_write_tag_success
Toast.makeText(applicationContext, message, Toast.LENGTH_LONG).show()

setResult(messageId)
// TODO demo: send a response to the external bus from another activity
externalBusRepository.send(
ExternalBusMessage(
id = messageId,
type = "result",
success = true,
result = emptyMap<String, String>(),
callback = {
Log.d(TAG, "NFC Write Complete $it")
}
)
)
delay(2000L)
finish()
} else {
viewModel.onNfcWriteSuccess(nfcTagToWriteUUID!!)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,17 +156,7 @@ class WebViewActivity : BaseActivity(), io.homeassistant.companion.android.webvi
}
}
private val writeNfcTag = registerForActivityResult(WriteNfcTag()) { messageId ->
sendExternalBusMessage(
ExternalBusMessage(
id = messageId,
type = "result",
success = true,
result = emptyMap<String, String>(),
callback = {
Log.d(TAG, "NFC Write Complete $it")
}
)
)
// TODO demo: this is no longer used
}
private val showWebFileChooser = registerForActivityResult(ShowWebFileChooser()) { result ->
mFilePathCallback?.onReceiveValue(result)
Expand Down

0 comments on commit b21492d

Please sign in to comment.