mirror of
https://github.com/aljazceru/Android-nRF-Toolbox.git
synced 2026-01-06 00:04:21 +01:00
Replace scanne library with remote version
This commit is contained in:
@@ -60,14 +60,15 @@ dependencies {
|
||||
implementation project(':profile_hts')
|
||||
implementation project(':profile_prx')
|
||||
implementation project(':profile_rscs')
|
||||
implementation project(':scanner')
|
||||
|
||||
implementation project(":lib_theme")
|
||||
implementation project(":lib_utils")
|
||||
implementation project(":lib_service")
|
||||
|
||||
implementation libs.nordic.ble.common
|
||||
implementation libs.nordic.ui.scanner
|
||||
|
||||
implementation libs.bundles.koin
|
||||
implementation libs.bundles.hilt
|
||||
kapt libs.bundles.hiltkapt
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package no.nordicsemi.android.nrftoolbox
|
||||
|
||||
import android.app.Activity
|
||||
import android.os.ParcelUuid
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.activity.compose.LocalOnBackPressedDispatcherOwner
|
||||
@@ -15,6 +16,7 @@ import androidx.compose.ui.platform.LocalLifecycleOwner
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.hilt.navigation.compose.hiltViewModel
|
||||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
@@ -32,6 +34,7 @@ import no.nordicsemi.ui.scanner.navigation.view.FindDeviceScreen
|
||||
@Composable
|
||||
internal fun HomeScreen() {
|
||||
val navController = rememberNavController()
|
||||
val deviceHolder: HomeViewModel = hiltViewModel()
|
||||
|
||||
val activity = LocalContext.current as Activity
|
||||
BackHandler {
|
||||
@@ -46,17 +49,56 @@ internal fun HomeScreen() {
|
||||
|
||||
NavHost(navController = navController, startDestination = NavDestination.HOME.id) {
|
||||
composable(NavDestination.HOME.id) {
|
||||
FindDeviceScreen()
|
||||
HomeView { goHome() }
|
||||
HomeView { navController.navigate(it.id) }
|
||||
}
|
||||
composable(NavDestination.CSC.id) {
|
||||
FindDeviceScreen(ParcelUuid(NavDestination.CSC.uuid)) {
|
||||
deviceHolder.onDeviceSelected(it)
|
||||
CSCScreen { goHome() }
|
||||
}
|
||||
}
|
||||
composable(NavDestination.HRS.id) {
|
||||
FindDeviceScreen(ParcelUuid(NavDestination.HRS.uuid)) {
|
||||
deviceHolder.onDeviceSelected(it)
|
||||
HRSScreen { goHome() }
|
||||
}
|
||||
}
|
||||
composable(NavDestination.HTS.id) {
|
||||
FindDeviceScreen(ParcelUuid(NavDestination.HTS.uuid)) {
|
||||
deviceHolder.onDeviceSelected(it)
|
||||
HTSScreen { goHome() }
|
||||
}
|
||||
}
|
||||
composable(NavDestination.GLS.id) {
|
||||
FindDeviceScreen(ParcelUuid(NavDestination.GLS.uuid)) {
|
||||
deviceHolder.onDeviceSelected(it)
|
||||
GLSScreen { goHome() }
|
||||
}
|
||||
}
|
||||
composable(NavDestination.BPS.id) {
|
||||
FindDeviceScreen(ParcelUuid(NavDestination.BPS.uuid)) {
|
||||
deviceHolder.onDeviceSelected(it)
|
||||
BPSScreen { goHome() }
|
||||
}
|
||||
}
|
||||
composable(NavDestination.PRX.id) {
|
||||
FindDeviceScreen(ParcelUuid(NavDestination.PRX.uuid)) {
|
||||
deviceHolder.onDeviceSelected(it)
|
||||
PRXScreen { goHome() }
|
||||
}
|
||||
}
|
||||
composable(NavDestination.RSCS.id) {
|
||||
FindDeviceScreen(ParcelUuid(NavDestination.RSCS.uuid)) {
|
||||
deviceHolder.onDeviceSelected(it)
|
||||
RSCSScreen { goHome() }
|
||||
}
|
||||
}
|
||||
composable(NavDestination.CGMS.id) {
|
||||
FindDeviceScreen(ParcelUuid(NavDestination.CGMS.uuid)) {
|
||||
deviceHolder.onDeviceSelected(it)
|
||||
CGMScreen { goHome() }
|
||||
}
|
||||
}
|
||||
composable(NavDestination.CSC.id) { CSCScreen { goHome() } }
|
||||
composable(NavDestination.HRS.id) { HRSScreen { goHome() } }
|
||||
composable(NavDestination.HTS.id) { HTSScreen { goHome() } }
|
||||
composable(NavDestination.GLS.id) { GLSScreen { goHome() } }
|
||||
composable(NavDestination.BPS.id) { BPSScreen { goHome() } }
|
||||
composable(NavDestination.PRX.id) { PRXScreen { goHome() } }
|
||||
composable(NavDestination.RSCS.id) { RSCSScreen { goHome() } }
|
||||
composable(NavDestination.CGMS.id) { CGMScreen { goHome() } }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package no.nordicsemi.android.nrftoolbox
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import no.nordicsemi.android.service.SelectedBluetoothDeviceHolder
|
||||
import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice
|
||||
import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class HomeViewModel @Inject constructor(
|
||||
private val deviceHolder: SelectedBluetoothDeviceHolder
|
||||
) : ViewModel() {
|
||||
|
||||
fun onDeviceSelected(device: DiscoveredBluetoothDevice) {
|
||||
deviceHolder.attachDevice(device.device)
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,25 @@
|
||||
package no.nordicsemi.android.nrftoolbox
|
||||
|
||||
import no.nordicsemi.android.bps.repository.BPS_SERVICE_UUID
|
||||
import no.nordicsemi.android.cgms.repository.CGMS_SERVICE_UUID
|
||||
import no.nordicsemi.android.csc.service.CYCLING_SPEED_AND_CADENCE_SERVICE_UUID
|
||||
import no.nordicsemi.android.gls.repository.GLS_SERVICE_UUID
|
||||
import no.nordicsemi.android.hrs.service.HR_SERVICE_UUID
|
||||
import no.nordicsemi.android.hts.service.HT_SERVICE_UUID
|
||||
import no.nordicsemi.android.prx.service.PRX_SERVICE_UUID
|
||||
import no.nordicsemi.android.rscs.service.RSCS_SERVICE_UUID
|
||||
import java.util.*
|
||||
|
||||
const val ARGS_KEY = "args"
|
||||
|
||||
enum class NavDestination(val id: String, val pairingRequired: Boolean) {
|
||||
HOME("home-screen", false),
|
||||
CSC("csc-screen", false),
|
||||
HRS("hrs-screen", false),
|
||||
HTS("hts-screen", false),
|
||||
GLS("gls-screen", true),
|
||||
BPS("bps-screen", false),
|
||||
PRX("prx-screen", true),
|
||||
RSCS("rscs-screen", false),
|
||||
CGMS("cgms-screen", false);
|
||||
enum class NavDestination(val id: String, val uuid: UUID?, val pairingRequired: Boolean) {
|
||||
HOME("home-screen", null, false),
|
||||
CSC("csc-screen", CYCLING_SPEED_AND_CADENCE_SERVICE_UUID, false),
|
||||
HRS("hrs-screen", HR_SERVICE_UUID, false),
|
||||
HTS("hts-screen", HT_SERVICE_UUID, false),
|
||||
GLS("gls-screen", GLS_SERVICE_UUID, true),
|
||||
BPS("bps-screen", BPS_SERVICE_UUID, false),
|
||||
PRX("prx-screen", PRX_SERVICE_UUID, true),
|
||||
RSCS("rscs-screen", RSCS_SERVICE_UUID, false),
|
||||
CGMS("cgms-screen", CGMS_SERVICE_UUID, false);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,19 @@ package no.nordicsemi.android.nrftoolbox
|
||||
|
||||
import android.app.Application
|
||||
import dagger.hilt.android.HiltAndroidApp
|
||||
import no.nordicsemi.ui.scanner.scannerModule
|
||||
import org.koin.android.ext.koin.androidContext
|
||||
import org.koin.core.context.startKoin
|
||||
|
||||
@HiltAndroidApp
|
||||
class NrfToolboxApplication : Application()
|
||||
class NrfToolboxApplication : Application() {
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
|
||||
startKoin {
|
||||
androidContext(this@NrfToolboxApplication)
|
||||
modules(scannerModule)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user