Fix some sentry wear bugs and add some logs with a toast (#2007)

* Fix some sentry wear bugs and add some logs with a toast

* Review comments
This commit is contained in:
Daniel Shokouhi 2021-12-14 08:03:51 -08:00 committed by GitHub
parent 8c5149ddcb
commit 55e5ae3597
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 8 deletions

View file

@ -77,6 +77,14 @@ class SettingsWearViewModel @Inject constructor(
}
}
}
.addOnFailureListener { e ->
Log.e(TAG, "Failed to send config request to wear", e)
Toast.makeText(
application,
application.getString(commonR.string.failed_wear_config_request),
Toast.LENGTH_LONG
).show()
}
viewModelScope.launch {
integrationUseCase.getEntities().forEach {
entities[it.entityId] = it

View file

@ -3,6 +3,7 @@ package io.homeassistant.companion.android.settings.wear.views
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.util.Log
import androidx.activity.compose.setContent
import androidx.activity.result.ActivityResult
import androidx.activity.result.contract.ActivityResultContracts
@ -47,22 +48,25 @@ class SettingsWearMainView : AppCompatActivity() {
setContent {
LoadSettingsHomeView(
settingsWearViewModel,
currentNodes.first().displayName,
currentNodes.firstOrNull()?.displayName ?: "unknown",
this::loginWearOs
)
}
}
private fun loginWearOs() {
registerActivityResult.launch(OnboardingActivity.newInstance(this, currentNodes.first().displayName, false))
registerActivityResult.launch(OnboardingActivity.newInstance(this, currentNodes.firstOrNull()?.displayName ?: "unknown", false))
}
private fun onOnboardingComplete(result: ActivityResult) {
val intent = result.data!!
val url = intent.getStringExtra("URL").toString()
val authCode = intent.getStringExtra("AuthCode").toString()
val deviceName = intent.getStringExtra("DeviceName").toString()
val deviceTrackingEnabled = intent.getBooleanExtra("LocationTracking", false)
settingsWearViewModel.sendAuthToWear(url, authCode, deviceName, deviceTrackingEnabled)
if (result.data != null) {
val intent = result.data!!
val url = intent.getStringExtra("URL").toString()
val authCode = intent.getStringExtra("AuthCode").toString()
val deviceName = intent.getStringExtra("DeviceName").toString()
val deviceTrackingEnabled = intent.getBooleanExtra("LocationTracking", false)
settingsWearViewModel.sendAuthToWear(url, authCode, deviceName, deviceTrackingEnabled)
} else
Log.e(TAG, "onOnboardingComplete: Activity result returned null intent data")
}
}

View file

@ -695,5 +695,6 @@
<string name="widget_text_size_label">Widget text size:</string>
<string name="widgets">Widgets</string>
<string name="zone_event_failure">Unable to send zone event to Home Assistant</string>
<string name="failed_wear_config_request">Failed to send config request to wear device</string>
</resources>

View file

@ -51,6 +51,7 @@ class OnboardingPresenterImpl @Inject constructor(
}
}
}
dataEvents.release()
}
override fun getInstance(map: DataMap): HomeAssistantInstance {