Skip to content

Commit 7dd4deb

Browse files
committed
chore: update to koin 3.1.x
1 parent d637481 commit 7dd4deb

7 files changed

Lines changed: 46 additions & 59 deletions

File tree

app/src/main/java/com/kelsos/mbrc/App.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@ import org.koin.android.ext.koin.androidContext
1515
import org.koin.androidx.fragment.koin.fragmentFactory
1616
import org.koin.androidx.workmanager.koin.workManagerFactory
1717
import org.koin.core.KoinExperimentalAPI
18-
import org.koin.core.component.KoinApiExtension
1918
import org.koin.core.context.startKoin
2019
import org.koin.core.module.Module
2120
import org.koin.dsl.module
2221
import timber.log.Timber
2322

2423
@SuppressLint("Registered")
25-
@OptIn(KoinApiExtension::class, KoinExperimentalAPI::class)
24+
@OptIn(KoinExperimentalAPI::class)
2625
open class App : Application() {
2726

2827
@CallSuper

app/src/main/java/com/kelsos/mbrc/AppModule.kt

Lines changed: 39 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -149,55 +149,52 @@ import com.kelsos.mbrc.ui.navigation.player.VolumeDialogViewModel
149149
import com.squareup.moshi.Moshi
150150
import kotlinx.coroutines.Dispatchers
151151
import kotlinx.coroutines.asCoroutineDispatcher
152-
import org.koin.androidx.experimental.dsl.viewModel
153152
import org.koin.androidx.fragment.dsl.fragment
153+
import org.koin.androidx.viewmodel.dsl.viewModel
154154
import org.koin.androidx.workmanager.dsl.worker
155-
import org.koin.core.component.KoinApiExtension
156155
import org.koin.core.qualifier.named
156+
import org.koin.dsl.bind
157+
import org.koin.dsl.factory
157158
import org.koin.dsl.module
158-
import org.koin.experimental.builder.factory
159-
import org.koin.experimental.builder.factoryBy
160-
import org.koin.experimental.builder.single
161-
import org.koin.experimental.builder.singleBy
159+
import org.koin.dsl.single
162160
import java.util.concurrent.Executor
163161
import java.util.concurrent.Executors
164162

165-
@OptIn(KoinApiExtension::class)
166163
val appModule = module {
167164
single { Moshi.Builder().build() }
168-
singleBy<QueueUseCase, QueueUseCaseImpl>()
165+
single<QueueUseCaseImpl>() bind QueueUseCase::class
169166

170-
singleBy<ConnectionRepository, ConnectionRepositoryImpl>()
167+
single<ConnectionRepositoryImpl>() bind ConnectionRepository::class
171168

172-
singleBy<TrackRepository, TrackRepositoryImpl>()
173-
singleBy<AlbumRepository, AlbumRepositoryImpl>()
174-
singleBy<ArtistRepository, ArtistRepositoryImpl>()
175-
singleBy<GenreRepository, GenreRepositoryImpl>()
169+
single<TrackRepositoryImpl>() bind TrackRepository::class
170+
single<AlbumRepositoryImpl>() bind AlbumRepository::class
171+
single<ArtistRepositoryImpl>() bind ArtistRepository::class
172+
single<GenreRepositoryImpl>() bind GenreRepository::class
176173

177-
singleBy<NowPlayingRepository, NowPlayingRepositoryImpl>()
178-
singleBy<PlaylistRepository, PlaylistRepositoryImpl>()
174+
single<NowPlayingRepositoryImpl>() bind NowPlayingRepository::class
175+
single<PlaylistRepositoryImpl>() bind PlaylistRepository::class
179176
single<CoverCache>()
180177
single<SyncStatProvider>()
181178

182-
singleBy<SerializationAdapter, SerializationAdapterImpl>()
183-
singleBy<DeserializationAdapter, DeserializationAdapterImpl>()
184-
singleBy<DatabaseTransactionRunner, DatabaseTransactionRunnerImpl>()
185-
singleBy<RequestManager, RequestManagerImpl>()
179+
single<SerializationAdapterImpl>() bind SerializationAdapter::class
180+
single<DeserializationAdapterImpl>() bind DeserializationAdapter::class
181+
single<DatabaseTransactionRunnerImpl>() bind DatabaseTransactionRunner::class
182+
single<RequestManagerImpl>() bind RequestManager::class
186183

187-
singleBy<UserActionUseCase, UserActionUseCaseImpl>()
184+
single<UserActionUseCaseImpl>() bind UserActionUseCase::class
188185

189-
singleBy<ClientConnectionUseCase, ClientConnectionUseCaseImpl>()
186+
single<ClientConnectionUseCaseImpl>() bind ClientConnectionUseCase::class
190187

191-
singleBy<SettingsManager, SettingsManagerImpl>()
192-
singleBy<PlayingTrackCache, PlayingTrackCacheImpl>()
188+
single<SettingsManagerImpl>() bind SettingsManager::class
189+
single<PlayingTrackCacheImpl>() bind PlayingTrackCache::class
193190

194-
singleBy<LibrarySyncUseCase, LibrarySyncUseCaseImpl>()
195-
singleBy<SyncWorkHandler, SyncWorkHandlerImpl>()
191+
single<LibrarySyncUseCaseImpl>() bind LibrarySyncUseCase::class
192+
single<SyncWorkHandlerImpl>() bind SyncWorkHandler::class
196193

197-
singleBy<RadioRepository, RadioRepositoryImpl>()
198-
singleBy<ClientInformationStore, ClientInformationStoreImpl>()
199-
singleBy<VolumeModifyUseCase, VolumeModifyUseCaseImpl>()
200-
singleBy<OutputApi, OutputApiImpl>()
194+
single<RadioRepositoryImpl>() bind RadioRepository::class
195+
single<ClientInformationStoreImpl>() bind ClientInformationStore::class
196+
single<VolumeModifyUseCaseImpl>() bind VolumeModifyUseCase::class
197+
single<OutputApiImpl>() bind OutputApi::class
201198

202199
single<AppState>()
203200
single<ConnectionState>()
@@ -209,22 +206,22 @@ val appModule = module {
209206
} as Executor
210207
}
211208

212-
singleBy<MessageQueue, MessageQueueImpl>()
213-
singleBy<MessageHandler, MessageHandlerImpl>()
209+
single<MessageQueueImpl>() bind MessageQueue::class
210+
single<MessageHandlerImpl>() bind MessageHandler::class
214211

215-
singleBy<IClientConnectionManager, ClientConnectionManager>()
216-
singleBy<CommandFactory, CommandFactoryImpl>()
217-
singleBy<UiMessages, UiMessageQueueImpl>()
218-
singleBy<RemoteServiceDiscovery, RemoteServiceDiscoveryImpl>()
212+
single<ClientConnectionManager>() bind IClientConnectionManager::class
213+
single<CommandFactoryImpl>() bind CommandFactory::class
214+
single<UiMessageQueueImpl>() bind UiMessages::class
215+
single<RemoteServiceDiscoveryImpl>() bind RemoteServiceDiscovery::class
219216

220-
singleBy<INotificationManager, SessionNotificationManager>()
221-
singleBy<ServiceChecker, ServiceCheckerImpl>()
217+
single<SessionNotificationManager>() bind INotificationManager::class
218+
single<ServiceCheckerImpl>() bind ServiceChecker::class
222219
single<AppStateManager>()
223220

224221
single<PopupActionHandler>()
225222
single<DefaultActionPreferenceStore>()
226223

227-
singleBy<WidgetUpdater, WidgetUpdaterImpl>()
224+
single<WidgetUpdaterImpl>() bind WidgetUpdater::class
228225

229226
single {
230227
val database = Executors.newSingleThreadExecutor { runnable ->
@@ -245,7 +242,7 @@ val appModule = module {
245242
single {
246243
WorkManager.getInstance(get())
247244
}
248-
singleBy<WorkHandler, WorkHandlerImpl>()
245+
single<WorkHandlerImpl>() bind WorkHandler::class
249246

250247
single<ApiBase>()
251248

@@ -281,10 +278,10 @@ val appModule = module {
281278

282279
single<SocketActivityChecker>()
283280
single<SharedPreferences> { PreferenceManager.getDefaultSharedPreferences(get()) }
284-
singleBy<ConnectivityVerifier, ConnectivityVerifierImpl>()
281+
single<ConnectivityVerifierImpl>() bind ConnectivityVerifier::class
285282

286-
factoryBy<ClientInformationModel, ClientInformationModelImpl>()
287-
factoryBy<MoveManager, MoveManagerImpl>()
283+
factory<ClientInformationModelImpl>() bind ClientInformationModel::class
284+
factory<MoveManagerImpl>() bind MoveManager::class
288285

289286
factory<RemoteBroadcastReceiver>()
290287
factory<SessionNotificationManager>()

app/src/main/java/com/kelsos/mbrc/networking/protocol/CommandFactory.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,8 @@ import com.kelsos.mbrc.protocol.UpdateRating
2020
import com.kelsos.mbrc.protocol.UpdateRepeat
2121
import com.kelsos.mbrc.protocol.UpdateShuffle
2222
import com.kelsos.mbrc.protocol.UpdateVolume
23-
import org.koin.core.component.KoinApiExtension
2423
import org.koin.core.component.KoinComponent
2524

26-
@OptIn(KoinApiExtension::class)
2725
class CommandFactoryImpl : CommandFactory, KoinComponent {
2826

2927
@Suppress("ComplexMethod")

app/src/main/java/com/kelsos/mbrc/platform/RemoteBroadcastReceiver.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@ import com.kelsos.mbrc.platform.mediasession.RemoteViewIntentBuilder
1515
import com.kelsos.mbrc.preferences.CallAction
1616
import com.kelsos.mbrc.preferences.SettingsManager
1717
import kotlinx.coroutines.runBlocking
18-
import org.koin.core.component.KoinApiExtension
1918
import org.koin.core.component.KoinComponent
2019
import org.koin.core.component.inject
2120
import timber.log.Timber
2221

23-
@OptIn(KoinApiExtension::class)
2422
class RemoteBroadcastReceiver : BroadcastReceiver(), KoinComponent {
2523

2624
private val settingsManager: SettingsManager by inject()

app/src/main/java/com/kelsos/mbrc/platform/mediasession/MediaButtonReceiver.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@ package com.kelsos.mbrc.platform.mediasession
33
import android.content.BroadcastReceiver
44
import android.content.Context
55
import android.content.Intent
6-
import org.koin.core.component.KoinApiExtension
76
import org.koin.core.component.KoinComponent
87

9-
@OptIn(KoinApiExtension::class)
108
class MediaButtonReceiver : BroadcastReceiver(), KoinComponent {
119

1210
override fun onReceive(context: Context, intent: Intent) {

app/src/play/java/com/kelsos/mbrc/FlavorApp.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package com.kelsos.mbrc
22

3-
import com.kelsos.mbrc.metrics.SyncMetrics
43
import com.kelsos.mbrc.metrics.SyncMetricsImpl
54
import org.koin.core.module.Module
5+
import org.koin.dsl.bind
66
import org.koin.dsl.module
7-
import org.koin.experimental.builder.single
7+
import org.koin.dsl.single
88

99
open class FlavorApp : App() {
1010
override fun appModules(): List<Module> {
1111
val playModule = module {
12-
single<SyncMetrics> { SyncMetricsImpl() }
12+
single<SyncMetricsImpl>() bind SyncMetricsImpl::class
1313
}
1414
return super.appModules().plus(playModule)
1515
}

gradle/libs.versions.toml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ androidx-test-espresso = ["androidx-test-espresso-intents", "androidx-test-espre
77
coroutines = ["kotlin-coroutines-core", "kotlin-coroutines-android"]
88
google-accompanist = ["google-accompanistCoil", "google-accompanistFlowLayout", "google-accompanistPager", "google-accompanistPagerIndicators", "google-accompanistSystemUIController"]
99
google-firebase = ["google-firebase-analytics-ktx", "google-firebase-crashlytics-ktx", "google-firebase-perf-ktx"]
10-
koin = ["koin-android", "koin-viewmodel", "koin-ext", "koin-scope", "koin-fragment", "koin-workmanager"]
10+
koin = ["koin-android", "koin-workmanager", "koin-compose"]
1111

1212
[libraries]
1313
android-threetenbp = { module = "com.jakewharton.threetenabp:threetenabp", version.ref = "android-threetenbp" }
@@ -80,11 +80,8 @@ gradlePlugin-protobuf = { module = "gradle.plugin.com.google.protobuf:protobuf-g
8080
gradlePlugin-safeArgs = { module = "androidx.navigation:navigation-safe-args-gradle-plugin", version.ref = "gradlePlugin-safeArgs" }
8181
gradlePlugin-versionsBenManes = { module = "com.github.ben-manes:gradle-versions-plugin", version.ref = "gradlePlugin-versionsBenManes" }
8282
koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
83-
koin-ext = { module = "io.insert-koin:koin-androidx-ext", version.ref = "koin" }
84-
koin-fragment = { module = "io.insert-koin:koin-androidx-fragment", version.ref = "koin" }
85-
koin-scope = { module = "io.insert-koin:koin-androidx-scope", version.ref = "koin" }
83+
koin-compose = { module ="io.insert-koin:koin-androidx-compose", version.ref ="koin"}
8684
koin-test = { module = "io.insert-koin:koin-test", version.ref = "koin" }
87-
koin-viewmodel = { module = "io.insert-koin:koin-androidx-viewmodel", version.ref = "koin" }
8885
koin-workmanager = { module = "io.insert-koin:koin-androidx-workmanager", version.ref = "koin" }
8986
kotlin-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinCoroutines" }
9087
kotlin-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinCoroutines" }
@@ -143,7 +140,7 @@ gradlePlugin-performance = "1.4.0"
143140
gradlePlugin-protobuf = "0.8.16"
144141
gradlePlugin-safeArgs = "2.4.0-alpha05"
145142
gradlePlugin-versionsBenManes = "0.39.0"
146-
koin = "2.2.2"
143+
koin = "3.1.2"
147144
kotlin = "1.5.10"
148145
kotlinCoroutines = "1.5.0"
149146
lifecycleViewmodelCompose = "1.0.0-alpha07"

0 commit comments

Comments
 (0)