Skip to content

Commit

Permalink
migrate archive to new api
Browse files Browse the repository at this point in the history
  • Loading branch information
makeevrserg committed Dec 23, 2024
1 parent e59392f commit 53b478a
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 17 deletions.
6 changes: 4 additions & 2 deletions components/archive/impl/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,10 @@ dependencies {

implementation(projects.components.bridge.dao.api)
implementation(projects.components.bridge.synchronization.api)
implementation(projects.components.bridge.service.api)
implementation(projects.components.bridge.api)
implementation(projects.components.bridge.connection.feature.provider.api)
implementation(projects.components.bridge.connection.feature.common.api)
implementation(projects.components.bridge.connection.feature.serialspeed.api)
implementation(projects.components.bridge.connection.transport.common.api)

implementation(libs.annotations)
implementation(libs.appcompat)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ import com.flipperdevices.archive.impl.composable.page.ComposableFavoriteKeysTit
import com.flipperdevices.archive.impl.composable.page.ComposableKeysGrid
import com.flipperdevices.archive.impl.model.CategoryItem
import com.flipperdevices.archive.model.CategoryType
import com.flipperdevices.bridge.api.model.FlipperSerialSpeed
import com.flipperdevices.bridge.connection.transport.common.api.serial.FlipperSerialSpeed
import com.flipperdevices.bridge.dao.api.model.FlipperKey
import com.flipperdevices.bridge.dao.api.model.FlipperKeyPath
import com.flipperdevices.bridge.synchronization.api.SynchronizationState
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.flipperdevices.archive.impl.R
import com.flipperdevices.bridge.api.model.FlipperSerialSpeed
import com.flipperdevices.bridge.connection.transport.common.api.serial.FlipperSerialSpeed
import com.flipperdevices.bridge.synchronization.api.SynchronizationState
import com.flipperdevices.core.ktx.jre.roundPercentToString
import com.flipperdevices.core.ktx.jre.toFormattedSize
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
package com.flipperdevices.archive.impl.viewmodel

import com.flipperdevices.bridge.service.api.provider.FlipperServiceProvider
import com.flipperdevices.bridge.connection.feature.provider.api.FFeatureProvider
import com.flipperdevices.bridge.connection.feature.provider.api.FFeatureStatus
import com.flipperdevices.bridge.connection.feature.provider.api.get
import com.flipperdevices.bridge.connection.feature.serialspeed.api.FSpeedFeatureApi
import com.flipperdevices.core.ui.lifecycle.DecomposeViewModel
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.shareIn
import kotlinx.coroutines.flow.flatMapLatest
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.stateIn
import javax.inject.Inject

class SpeedViewModel @Inject constructor(
private val serviceProvider: FlipperServiceProvider,
fFeatureProvider: FFeatureProvider,
) : DecomposeViewModel() {
val speedFlow = flow {
serviceProvider.getServiceApi()
.requestApi
.getSpeed()
.onEach { emit(it) }
.collect()
}.shareIn(viewModelScope, SharingStarted.Eagerly, 1)
val speedFlow = fFeatureProvider
.get<FSpeedFeatureApi>()
.map { status -> status as? FFeatureStatus.Supported<FSpeedFeatureApi> }
.flatMapLatest { status -> status?.featureApi?.getSpeed() ?: flowOf(null) }
.stateIn(viewModelScope, SharingStarted.Eagerly, null)
}

0 comments on commit 53b478a

Please sign in to comment.