mirror of
https://github.com/openflocon/Flocon.git
synced 2026-05-02 02:20:10 +00:00
refact: [CORE] add app instance to messages (#153)
* refact: [CORE] add app instance to messages * upgraded schema * old calls are displayed differently --------- Co-authored-by: Florent Champigny <florent@bere.al>
This commit is contained in:
parent
8025553c2f
commit
bdea11321d
47 changed files with 2547 additions and 97 deletions
|
|
@ -0,0 +1,3 @@
|
|||
package io.github.openflocon.domain.device.models
|
||||
|
||||
typealias AppInstance = Long
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
package io.github.openflocon.domain.device.models
|
||||
|
||||
typealias AppPackageName = String
|
||||
|
|
@ -2,6 +2,7 @@ package io.github.openflocon.domain.device.models
|
|||
|
||||
data class DeviceAppDomainModel(
|
||||
val name: String,
|
||||
val packageName: String,
|
||||
val packageName: AppPackageName,
|
||||
val iconEncoded: String?,
|
||||
val lastAppInstance: AppInstance, // last start app time
|
||||
)
|
||||
|
|
|
|||
|
|
@ -2,5 +2,6 @@ package io.github.openflocon.domain.device.models
|
|||
|
||||
data class DeviceIdAndPackageNameDomainModel(
|
||||
val deviceId: DeviceId,
|
||||
val packageName: String,
|
||||
val packageName: AppPackageName,
|
||||
val appInstance: AppInstance,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -3,4 +3,10 @@ package io.github.openflocon.domain.device.models
|
|||
data class RegisterDeviceWithAppDomainModel(
|
||||
val device: DeviceDomainModel,
|
||||
val app: DeviceAppDomainModel,
|
||||
)
|
||||
) {
|
||||
val deviceIdAndPackageName = DeviceIdAndPackageNameDomainModel(
|
||||
deviceId = device.deviceId,
|
||||
packageName = app.packageName,
|
||||
appInstance = app.lastAppInstance,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@ import io.github.openflocon.domain.device.models.DeviceAppDomainModel
|
|||
import io.github.openflocon.domain.device.models.DeviceDomainModel
|
||||
import io.github.openflocon.domain.device.models.DeviceId
|
||||
import io.github.openflocon.domain.device.models.DeviceIdAndPackageNameDomainModel
|
||||
import io.github.openflocon.domain.device.models.DeviceWithAppsDomainModel
|
||||
import io.github.openflocon.domain.device.models.DeviceWithAppDomainModel
|
||||
import io.github.openflocon.domain.device.models.HandleDeviceResultDomainModel
|
||||
import io.github.openflocon.domain.device.models.RegisterDeviceWithAppDomainModel
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
|
|
|||
|
|
@ -9,11 +9,13 @@ class GetCurrentDeviceIdAndPackageNameUseCase(
|
|||
) {
|
||||
suspend operator fun invoke(): DeviceIdAndPackageNameDomainModel? {
|
||||
val deviceId = getCurrentDeviceIdUseCase() ?: return null
|
||||
val packageName = devicesRepository.getDeviceSelectedApp(deviceId)?.packageName ?: return null
|
||||
val selectedApp = devicesRepository.getDeviceSelectedApp(deviceId)
|
||||
val packageName = selectedApp?.packageName ?: return null
|
||||
|
||||
return DeviceIdAndPackageNameDomainModel(
|
||||
deviceId = deviceId,
|
||||
packageName = packageName,
|
||||
appInstance = selectedApp.lastAppInstance,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ class ObserveCurrentDeviceIdAndPackageNameUseCase(
|
|||
DeviceIdAndPackageNameDomainModel(
|
||||
deviceId = deviceId,
|
||||
packageName = app.packageName,
|
||||
appInstance = app.lastAppInstance,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package io.github.openflocon.domain.messages.models
|
||||
|
||||
import io.github.openflocon.domain.device.models.AppInstance
|
||||
|
||||
data class FloconIncomingMessageDomainModel(
|
||||
val deviceName: String,
|
||||
val deviceId: String,
|
||||
|
|
@ -8,4 +10,5 @@ data class FloconIncomingMessageDomainModel(
|
|||
val method: String,
|
||||
val appName: String,
|
||||
val appPackageName: String,
|
||||
val appInstance: AppInstance,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ class HandleIncomingMessagesUseCase(
|
|||
val deviceIdAndPackageName = DeviceIdAndPackageNameDomainModel(
|
||||
deviceId = handleDeviceResult.deviceId,
|
||||
packageName = message.appPackageName,
|
||||
appInstance = message.appInstance,
|
||||
)
|
||||
|
||||
if (handleDeviceResult.isNewDevice) {
|
||||
|
|
@ -68,6 +69,7 @@ class HandleIncomingMessagesUseCase(
|
|||
app = DeviceAppDomainModel(
|
||||
name = message.appName,
|
||||
packageName = message.appPackageName,
|
||||
lastAppInstance = message.appInstance,
|
||||
iconEncoded = null,
|
||||
),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
package io.github.openflocon.domain.network.models
|
||||
|
||||
import io.github.openflocon.domain.device.models.AppInstance
|
||||
|
||||
data class FloconNetworkCallDomainModel(
|
||||
val callId: String,
|
||||
val appInstance: AppInstance,
|
||||
val request: Request,
|
||||
val response: Response?,
|
||||
) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue