mirror of
https://github.com/home-assistant/android
synced 2024-07-21 10:24:38 +00:00
Only send the needed data on update registration. (#180)
This commit is contained in:
parent
424d24be4d
commit
4f34a9b67f
|
@ -41,10 +41,15 @@ class IntegrationRepositoryImpl @Inject constructor(
|
|||
}
|
||||
|
||||
override suspend fun registerDevice(deviceRegistration: DeviceRegistration) {
|
||||
val request = createUpdateRegistrationRequest(deviceRegistration)
|
||||
request.appId = APP_ID
|
||||
request.appName = APP_NAME
|
||||
request.osName = OS_NAME
|
||||
request.supportsEncryption = false
|
||||
val response =
|
||||
integrationService.registerDevice(
|
||||
authenticationRepository.buildBearerToken(),
|
||||
createRegisterDeviceRequest(deviceRegistration)
|
||||
request
|
||||
)
|
||||
persistDeviceRegistration(deviceRegistration)
|
||||
persistDeviceRegistrationResponse(response)
|
||||
|
@ -53,7 +58,7 @@ class IntegrationRepositoryImpl @Inject constructor(
|
|||
override suspend fun updateRegistration(deviceRegistration: DeviceRegistration) {
|
||||
val request = IntegrationRequest(
|
||||
"update_registration",
|
||||
createRegisterDeviceRequest(deviceRegistration)
|
||||
createUpdateRegistrationRequest(deviceRegistration)
|
||||
)
|
||||
for (it in getUrls()) {
|
||||
try {
|
||||
|
@ -177,18 +182,18 @@ class IntegrationRepositoryImpl @Inject constructor(
|
|||
return retVal.toTypedArray()
|
||||
}
|
||||
|
||||
private suspend fun createRegisterDeviceRequest(deviceRegistration: DeviceRegistration): RegisterDeviceRequest {
|
||||
private suspend fun createUpdateRegistrationRequest(deviceRegistration: DeviceRegistration): RegisterDeviceRequest {
|
||||
val oldDeviceRegistration = getRegistration()
|
||||
return RegisterDeviceRequest(
|
||||
APP_ID,
|
||||
APP_NAME,
|
||||
null,
|
||||
null,
|
||||
deviceRegistration.appVersion ?: oldDeviceRegistration.appVersion,
|
||||
deviceRegistration.deviceName ?: oldDeviceRegistration.deviceName,
|
||||
manufacturer,
|
||||
model,
|
||||
OS_NAME,
|
||||
null,
|
||||
osVersion,
|
||||
false,
|
||||
null,
|
||||
hashMapOf(
|
||||
"push_url" to PUSH_URL,
|
||||
"push_token" to (deviceRegistration.pushToken ?: oldDeviceRegistration.pushToken
|
||||
|
|
|
@ -110,15 +110,15 @@ object IntegrationRepositoryImplSpec : Spek({
|
|||
"pushToken"
|
||||
)
|
||||
val registerDeviceRequest = RegisterDeviceRequest(
|
||||
"io.homeassistant.companion.android",
|
||||
"Home Assistant",
|
||||
null,
|
||||
null,
|
||||
deviceRegistration.appVersion,
|
||||
deviceRegistration.deviceName,
|
||||
"manufacturer",
|
||||
"model",
|
||||
"Android",
|
||||
null,
|
||||
"osVersion",
|
||||
false,
|
||||
null,
|
||||
hashMapOf(
|
||||
"push_url" to "https://mobile-apps.home-assistant.io/api/sendPushNotification",
|
||||
"push_token" to (deviceRegistration.pushToken ?: "push_token")
|
||||
|
|
Loading…
Reference in a new issue