Skip to content

Commit fc18853

Browse files
authored
Merge pull request #502 from NordicSemiconductor/migration/scanner
Dependencies updated
2 parents 2825820 + 0e6f3c3 commit fc18853

File tree

19 files changed

+149
-50
lines changed

19 files changed

+149
-50
lines changed

app/build.gradle.kts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ android {
1414
namespace = "no.nordicsemi.android.dfu.app"
1515
defaultConfig {
1616
applicationId = "no.nordicsemi.android.dfu"
17-
resourceConfigurations.add("en")
17+
}
18+
androidResources {
19+
localeFilters += setOf("en")
1820
}
1921
}
2022

@@ -23,8 +25,13 @@ dependencies {
2325
implementation(project(":lib:storage")) // Deep link support
2426
implementation(project(":profile:navigation"))
2527

26-
implementation(libs.nordic.theme)
27-
implementation(libs.nordic.navigation)
28+
implementation(nordic.theme)
29+
implementation(nordic.navigation)
30+
31+
// Use native Android BLE client.
32+
// This can be switched to mock client for testing purposes (not implemented yet).
33+
// See CentralManagerModule.kt in :app module.
34+
implementation(nordic.blek.client.android)
2835

2936
implementation(libs.androidx.activity.compose)
3037
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package no.nordicsemi.android.dfu.app.di
2+
3+
import android.content.Context
4+
import dagger.Module
5+
import dagger.Provides
6+
import dagger.hilt.InstallIn
7+
import dagger.hilt.android.qualifiers.ApplicationContext
8+
import dagger.hilt.components.SingletonComponent
9+
import kotlinx.coroutines.CoroutineScope
10+
import no.nordicsemi.kotlin.ble.client.android.CentralManager
11+
import no.nordicsemi.kotlin.ble.client.android.native
12+
import javax.inject.Named
13+
import javax.inject.Singleton
14+
15+
@Module
16+
@InstallIn(SingletonComponent::class)
17+
object CentralManagerModule {
18+
19+
@Provides
20+
@Singleton
21+
fun provideCentralManager(
22+
@ApplicationContext context: Context,
23+
@Named("io") scope: CoroutineScope
24+
): CentralManager {
25+
return CentralManager.Factory.native(context, scope)
26+
}
27+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package no.nordicsemi.android.dfu.app.di
2+
3+
import dagger.Module
4+
import dagger.Provides
5+
import dagger.hilt.InstallIn
6+
import dagger.hilt.components.SingletonComponent
7+
import kotlinx.coroutines.CoroutineScope
8+
import kotlinx.coroutines.Dispatchers
9+
import kotlinx.coroutines.SupervisorJob
10+
import javax.inject.Named
11+
12+
@Module
13+
@InstallIn(SingletonComponent::class)
14+
class CoroutineScopeModule {
15+
16+
@Provides
17+
@Named("io")
18+
fun ioScope() = CoroutineScope(SupervisorJob() + Dispatchers.IO)
19+
}

gradle/nordic.versions.toml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Versions of Nordic libraries used in this project.
2+
3+
# This is a subset of the Version Catalog available at https://github.com/NordicSemiconductor/Android-Version-Catalog
4+
# The version catalog can be updated independently of this project after the release of this library.
5+
6+
[versions]
7+
blek = "2.0.0-alpha09"
8+
common = "2.6.0"
9+
10+
[libraries]
11+
# Native Android client for Bluetooth LE.
12+
blek-client-android = { group = "no.nordicsemi.kotlin.ble", name = "client-android", version.ref = "blek" }
13+
# Nordic common libraries for Android.
14+
core = { group = "no.nordicsemi.android.common", name = "core", version.ref = "common" }
15+
ui = { group = "no.nordicsemi.android.common", name = "ui", version.ref = "common" }
16+
theme = { group = "no.nordicsemi.android.common", name = "theme", version.ref = "common" }
17+
scanner-ble = { group = "no.nordicsemi.android.common", name = "scanner-ble", version.ref = "common" }
18+
analytics = { group = "no.nordicsemi.android.common", name = "analytics", version.ref = "common" }
19+
navigation = { group = "no.nordicsemi.android.common", name = "navigation", version.ref = "common" }
20+
logger = { group = "no.nordicsemi.android.common", name = "logger", version.ref = "common" }
21+
permissions-ble = { group = "no.nordicsemi.android.common", name = "permissions-ble", version.ref = "common" }

lib/analytics/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ android {
1010
}
1111

1212
dependencies {
13-
implementation(libs.nordic.analytics)
13+
implementation(nordic.analytics)
1414
}

lib/settings/src/main/java/no/nordicsemi/android/dfu/settings/repository/SettingsDataSource.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ private val MTU = booleanPreferencesKey("requestMtu")
5959

6060
@Singleton
6161
class SettingsDataSource @Inject constructor(
62-
@ApplicationContext private val context: Context
62+
@param:ApplicationContext private val context: Context
6363
) {
6464
private val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "settings")
6565

lib/storage/src/main/java/no/nordicsemi/android/dfu/storage/ExternalFileDataSource.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ import android.content.BroadcastReceiver
3636
import android.content.Context
3737
import android.content.Intent
3838
import android.content.IntentFilter
39-
import android.net.Uri
4039
import android.os.Build
4140
import android.os.Environment
4241
import androidx.core.content.ContextCompat
42+
import androidx.core.net.toUri
4343
import dagger.hilt.android.qualifiers.ApplicationContext
4444
import kotlinx.coroutines.flow.MutableStateFlow
4545
import kotlinx.coroutines.flow.asStateFlow
@@ -48,7 +48,7 @@ import javax.inject.Singleton
4848

4949
@Singleton
5050
class ExternalFileDataSource @Inject internal constructor(
51-
@ApplicationContext private val context: Context,
51+
@param:ApplicationContext private val context: Context,
5252
private val parser: FileNameParser
5353
) {
5454
private val _fileResource = MutableStateFlow<FileResource?>(null)
@@ -85,7 +85,7 @@ class ExternalFileDataSource @Inject internal constructor(
8585
}
8686
_fileResource.value = LoadingFile
8787

88-
val request: DownloadManager.Request = DownloadManager.Request(Uri.parse(url))
88+
val request: DownloadManager.Request = DownloadManager.Request(url.toUri())
8989
request.setTitle(parser.parseName(url))
9090
request.setDescription(context.getString(R.string.storage_notification_description))
9191

profile/main/build.gradle.kts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ dependencies {
1717
implementation(project(":profile:settings"))
1818
implementation(project(":profile:welcome"))
1919

20-
implementation(libs.nordic.ui)
21-
implementation(libs.nordic.core)
22-
implementation(libs.nordic.logger)
23-
implementation(libs.nordic.analytics)
24-
implementation(libs.nordic.permissions.ble)
25-
implementation(libs.nordic.navigation)
20+
implementation(nordic.ui)
21+
implementation(nordic.core)
22+
implementation(nordic.logger)
23+
implementation(nordic.analytics)
24+
implementation(nordic.permissions.ble)
25+
implementation(nordic.navigation)
2626

2727
// Extended Icons
28-
implementation(libs.androidx.compose.material.iconsExtended)
28+
implementation(libs.androidx.compose.material.icons.extended)
2929
}

profile/main/src/main/java/no/nordicsemi/android/dfu/profile/main/data/DFUFileManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import dagger.hilt.android.qualifiers.ApplicationContext
4040
import javax.inject.Inject
4141

4242
internal class DFUFileManager @Inject constructor(
43-
@ApplicationContext private val context: Context
43+
@param:ApplicationContext private val context: Context
4444
) {
4545
companion object {
4646
private const val TAG = "DFUFileManager"
@@ -49,7 +49,7 @@ internal class DFUFileManager @Inject constructor(
4949
fun createFile(uri: Uri): ZipFile? {
5050
return try {
5151
createFromFile(uri)
52-
} catch (e: Exception) {
52+
} catch (_: Exception) {
5353
try {
5454
createFromContentResolver(uri)
5555
} catch (e: Exception) {

profile/main/src/main/java/no/nordicsemi/android/dfu/profile/main/data/DFUManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import no.nordicsemi.android.log.Logger
4545
import javax.inject.Inject
4646

4747
internal class DFUManager @Inject constructor(
48-
@ApplicationContext private val context: Context,
48+
@param:ApplicationContext private val context: Context,
4949
) {
5050
private var session: LogSession? = null
5151

0 commit comments

Comments
 (0)