Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migration to Nordic Common library v2 #15

Merged
merged 8 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
plugins {
alias(libs.plugins.nordic.application.compose)
alias(libs.plugins.nordic.hilt)
alias(libs.plugins.ksp)
}

android {
Expand All @@ -49,14 +50,12 @@ dependencies {
implementation(project(":feature:ui"))
implementation(project(":lib:ble"))
implementation(project(":lib:softap"))
implementation(project(":feature:ui"))

implementation(libs.androidx.compose.ui)

implementation(libs.androidx.navigation.compose)
implementation(libs.androidx.hilt.navigation.compose)
implementation(libs.androidx.activity.compose)

implementation(libs.nordic.ui)
implementation(libs.nordic.theme)
implementation(libs.nordic.navigation)
implementation(libs.timber)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import no.nordicsemi.android.common.navigation.DestinationId
import no.nordicsemi.android.common.navigation.viewmodel.SimpleNavigationViewModel
import no.nordicsemi.android.common.theme.view.NordicAppBar
import no.nordicsemi.android.common.ui.view.NordicAppBar
import no.nordicsemi.android.wifi.provisioner.app.BuildConfig
import no.nordicsemi.android.wifi.provisioner.app.R
import no.nordicsemi.android.wifi.provisioner.ble.view.BleDestination
Expand Down
10 changes: 7 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,19 @@
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.nordic.kotlin) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.parcelize) apply false
alias(libs.plugins.hilt) apply false
alias(libs.plugins.wire) apply false
alias(libs.plugins.compose.compiler) apply false
alias(libs.plugins.ksp) apply false

// Nordic plugins are defined in https://github.com/NordicSemiconductor/Android-Gradle-Plugins
alias(libs.plugins.nordic.application) apply false
alias(libs.plugins.nordic.application.compose) apply false
alias(libs.plugins.nordic.library) apply false
alias(libs.plugins.nordic.library.compose) apply false
alias(libs.plugins.nordic.hilt) apply false
alias(libs.plugins.nordic.feature) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.parcelize) apply false
alias(libs.plugins.nordic.kotlin.android) apply false
}
1 change: 1 addition & 0 deletions feature/ble/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ dependencies {

implementation(libs.androidx.compose.material.iconsExtended)

implementation(libs.nordic.ui)
implementation(libs.nordic.theme)
implementation(libs.nordic.navigation)
implementation(libs.nordic.logger)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,18 @@

package no.nordicsemi.android.wifi.provisioner.ble.scanner

import androidx.compose.ui.res.stringResource
import androidx.hilt.navigation.compose.hiltViewModel
import no.nordicsemi.android.common.navigation.createDestination
import no.nordicsemi.android.common.navigation.defineDestination
import no.nordicsemi.android.common.navigation.viewmodel.SimpleNavigationViewModel
import no.nordicsemi.android.kotlin.ble.core.ServerDevice
import no.nordicsemi.android.kotlin.ble.ui.scanner.CustomFilter
import no.nordicsemi.android.kotlin.ble.ui.scanner.DeviceSelected
import no.nordicsemi.android.kotlin.ble.ui.scanner.ScannerScreen
import no.nordicsemi.android.kotlin.ble.ui.scanner.ScanningCancelled
import no.nordicsemi.android.kotlin.ble.ui.scanner.main.DeviceListItem
import no.nordicsemi.android.wifi.provisioner.feature.ble.R

val BleScannerDestinationId =
createDestination<Unit, ServerDevice>("ble-scanner-destination")
Expand All @@ -48,7 +51,18 @@ val BleScannerDestination = defineDestination(BleScannerDestinationId) {
val viewModel = hiltViewModel<SimpleNavigationViewModel>()

ScannerScreen(
uuid = ProvisioningData.parcelUuid,
filters = listOf(
CustomFilter(
title = stringResource(id = R.string.filter_unprovisioned),
initiallySelected = false,
filter = { isFilterSelected, result ->
when (isFilterSelected) {
true -> result.provisioningData()?.isProvisioned == false
false -> result.provisioningData() != null
}
}
)
),
onResult = { result ->
when (result) {
is DeviceSelected -> viewModel.navigateUpWithResult(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import no.nordicsemi.android.common.theme.view.RssiIcon
import no.nordicsemi.android.common.ui.view.RssiIcon
import no.nordicsemi.android.wifi.provisioner.feature.ble.R

@Composable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,22 @@ import androidx.compose.material.icons.outlined.BluetoothConnected
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import no.nordicsemi.android.common.theme.NordicTheme
import no.nordicsemi.android.common.theme.view.ProgressItem
import no.nordicsemi.android.common.theme.view.ProgressItemStatus
import no.nordicsemi.android.common.theme.view.WizardStepAction
import no.nordicsemi.android.common.theme.view.WizardStepComponent
import no.nordicsemi.android.common.theme.view.WizardStepState
import no.nordicsemi.android.common.ui.view.ProgressItem
import no.nordicsemi.android.common.ui.view.ProgressItemStatus
import no.nordicsemi.android.common.ui.view.WizardStepAction
import no.nordicsemi.android.common.ui.view.WizardStepComponent
import no.nordicsemi.android.common.ui.view.WizardStepState
import no.nordicsemi.android.kotlin.ble.core.MockServerDevice
import no.nordicsemi.android.wifi.provisioner.ble.domain.VersionDomain
import no.nordicsemi.android.wifi.provisioner.ble.view.BleViewEntity
import no.nordicsemi.android.wifi.provisioner.feature.ble.R
import no.nordicsemi.android.wifi.provisioner.ui.R as RUI
import no.nordicsemi.kotlin.wifi.provisioner.domain.resource.Error
import no.nordicsemi.kotlin.wifi.provisioner.domain.resource.Loading
import no.nordicsemi.kotlin.wifi.provisioner.domain.resource.Success
import no.nordicsemi.kotlin.wifi.provisioner.feature.common.event.OnReconnectClickEvent
import no.nordicsemi.kotlin.wifi.provisioner.feature.common.event.ProvisioningViewEvent
import no.nordicsemi.android.wifi.provisioner.ui.R as RUI

@Composable
fun ConnectionSection(
Expand All @@ -47,7 +46,6 @@ fun ConnectionSection(
state.version is Loading -> WizardStepAction.ProgressIndicator
else -> null
},
showVerticalDivider = false,
) {
val pairingText = when {
state.device == null -> stringResource(id = R.string.connect)
Expand All @@ -63,7 +61,6 @@ fun ConnectionSection(
!state.isConnected -> ProgressItemStatus.ERROR
else -> ProgressItemStatus.SUCCESS
},
iconRightPadding = 24.dp
)
val readingText = when {
!state.isConnected || state.version == null -> stringResource(id = R.string.read_version)
Expand All @@ -80,7 +77,6 @@ fun ConnectionSection(
state.status is Loading -> ProgressItemStatus.WORKING
else -> ProgressItemStatus.SUCCESS
},
iconRightPadding = 24.dp
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import no.nordicsemi.android.common.core.parseBold
import no.nordicsemi.android.common.theme.NordicTheme
import no.nordicsemi.android.common.theme.view.WizardStepAction
import no.nordicsemi.android.common.theme.view.WizardStepComponent
import no.nordicsemi.android.common.theme.view.WizardStepState
import no.nordicsemi.android.common.ui.view.StatusItem
import no.nordicsemi.android.common.ui.view.WizardStepAction
import no.nordicsemi.android.common.ui.view.WizardStepComponent
import no.nordicsemi.android.common.ui.view.WizardStepState
import no.nordicsemi.android.kotlin.ble.core.MockServerDevice
import no.nordicsemi.android.wifi.provisioner.ble.view.BleViewEntity
import no.nordicsemi.android.wifi.provisioner.feature.ble.R
Expand Down Expand Up @@ -47,10 +48,12 @@ private fun NotSelectedDeviceView(
),
state = WizardStepState.CURRENT,
) {
Text(
text = "Select a device",
style = MaterialTheme.typography.bodyMedium,
)
StatusItem {
Text(
text = "Select a device",
style = MaterialTheme.typography.bodyMedium,
)
}
}
}

Expand All @@ -72,14 +75,16 @@ private fun SelectedDeviceView(
),
state = WizardStepState.COMPLETED,
) {
Text(
text = String.format(DEVICE_NAME, state.device?.name ?: "No name").parseBold(),
style = MaterialTheme.typography.bodyMedium
)
Text(
text = String.format(DEVICE_ADDRESS, state.device?.address).parseBold(),
style = MaterialTheme.typography.bodyMedium,
)
StatusItem {
Text(
text = String.format(DEVICE_NAME, state.device?.name ?: "No name").parseBold(),
style = MaterialTheme.typography.bodyMedium
)
Text(
text = String.format(DEVICE_ADDRESS, state.device?.address).parseBold(),
style = MaterialTheme.typography.bodyMedium,
)
}
}
}

Expand Down
Loading