organize di modules
This commit is contained in:
parent
6960cb67b1
commit
0b590fd0e9
|
@ -7,33 +7,40 @@ import com.vanced.manager.network.util.BASE
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
import retrofit2.Retrofit
|
import retrofit2.Retrofit
|
||||||
|
import retrofit2.create
|
||||||
|
|
||||||
//TODO Add mirror support
|
//TODO Add mirror support
|
||||||
val apiModule = module {
|
val apiModule = module {
|
||||||
|
|
||||||
fun provideVancedAPI(
|
fun provideVancedAPI(
|
||||||
okHttpClient: OkHttpClient
|
okHttpClient: OkHttpClient
|
||||||
) = Retrofit.Builder()
|
): VancedAPI {
|
||||||
.baseUrl(BASE)
|
return Retrofit.Builder()
|
||||||
.client(okHttpClient)
|
.baseUrl(BASE)
|
||||||
.build()
|
.client(okHttpClient)
|
||||||
.create(VancedAPI::class.java)
|
.build()
|
||||||
|
.create()
|
||||||
|
}
|
||||||
|
|
||||||
fun provideMusicAPI(
|
fun provideMusicAPI(
|
||||||
okHttpClient: OkHttpClient
|
okHttpClient: OkHttpClient
|
||||||
) = Retrofit.Builder()
|
): MusicAPI {
|
||||||
.baseUrl(BASE)
|
return Retrofit.Builder()
|
||||||
.client(okHttpClient)
|
.baseUrl(BASE)
|
||||||
.build()
|
.client(okHttpClient)
|
||||||
.create(MusicAPI::class.java)
|
.build()
|
||||||
|
.create()
|
||||||
|
}
|
||||||
|
|
||||||
fun provideMicrogAPI(
|
fun provideMicrogAPI(
|
||||||
okHttpClient: OkHttpClient
|
okHttpClient: OkHttpClient
|
||||||
) = Retrofit.Builder()
|
): MicrogAPI {
|
||||||
.baseUrl("https://github.com/YTVanced/VancedMicroG/")
|
return Retrofit.Builder()
|
||||||
.client(okHttpClient)
|
.baseUrl("https://github.com/YTVanced/VancedMicroG/")
|
||||||
.build()
|
.client(okHttpClient)
|
||||||
.create(MicrogAPI::class.java)
|
.build()
|
||||||
|
.create(MicrogAPI::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
single { provideVancedAPI(get()) }
|
single { provideVancedAPI(get()) }
|
||||||
single { provideMusicAPI(get()) }
|
single { provideMusicAPI(get()) }
|
||||||
|
|
|
@ -4,6 +4,7 @@ import androidx.browser.customtabs.CustomTabsIntent
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
|
|
||||||
val customTabsModule = module {
|
val customTabsModule = module {
|
||||||
|
|
||||||
fun provideChromeCustomTabs(): CustomTabsIntent {
|
fun provideChromeCustomTabs(): CustomTabsIntent {
|
||||||
return CustomTabsIntent.Builder()
|
return CustomTabsIntent.Builder()
|
||||||
.build()
|
.build()
|
||||||
|
|
|
@ -7,6 +7,7 @@ import com.vanced.manager.core.downloader.api.VancedAPI
|
||||||
import com.vanced.manager.core.downloader.impl.MicrogDownloader
|
import com.vanced.manager.core.downloader.impl.MicrogDownloader
|
||||||
import com.vanced.manager.core.downloader.impl.MusicDownloader
|
import com.vanced.manager.core.downloader.impl.MusicDownloader
|
||||||
import com.vanced.manager.core.downloader.impl.VancedDownloader
|
import com.vanced.manager.core.downloader.impl.VancedDownloader
|
||||||
|
import org.koin.android.ext.koin.androidContext
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
|
|
||||||
val downloaderModule = module {
|
val downloaderModule = module {
|
||||||
|
@ -14,19 +15,34 @@ val downloaderModule = module {
|
||||||
fun provideVancedDownloader(
|
fun provideVancedDownloader(
|
||||||
vancedAPI: VancedAPI,
|
vancedAPI: VancedAPI,
|
||||||
context: Context,
|
context: Context,
|
||||||
) = VancedDownloader(vancedAPI, context)
|
): VancedDownloader {
|
||||||
|
return VancedDownloader(
|
||||||
|
vancedAPI = vancedAPI,
|
||||||
|
context = context
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fun provideMusicDownloader(
|
fun provideMusicDownloader(
|
||||||
musicAPI: MusicAPI,
|
musicAPI: MusicAPI,
|
||||||
context: Context,
|
context: Context,
|
||||||
) = MusicDownloader(musicAPI, context)
|
): MusicDownloader {
|
||||||
|
return MusicDownloader(
|
||||||
|
musicAPI = musicAPI,
|
||||||
|
context = context
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fun provideMicrogDownloader(
|
fun provideMicrogDownloader(
|
||||||
microgAPI: MicrogAPI,
|
microgAPI: MicrogAPI,
|
||||||
context: Context,
|
context: Context,
|
||||||
) = MicrogDownloader(microgAPI, context)
|
): MicrogDownloader {
|
||||||
|
return MicrogDownloader(
|
||||||
|
microgAPI = microgAPI,
|
||||||
|
context = context
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
single { provideVancedDownloader(get(), get()) }
|
single { provideVancedDownloader(get(), androidContext()) }
|
||||||
single { provideMusicDownloader(get(), get()) }
|
single { provideMusicDownloader(get(), androidContext()) }
|
||||||
single { provideMicrogDownloader(get(), get()) }
|
single { provideMicrogDownloader(get(), androidContext()) }
|
||||||
}
|
}
|
|
@ -4,23 +4,36 @@ import android.content.Context
|
||||||
import com.vanced.manager.core.installer.impl.MicrogInstaller
|
import com.vanced.manager.core.installer.impl.MicrogInstaller
|
||||||
import com.vanced.manager.core.installer.impl.MusicInstaller
|
import com.vanced.manager.core.installer.impl.MusicInstaller
|
||||||
import com.vanced.manager.core.installer.impl.VancedInstaller
|
import com.vanced.manager.core.installer.impl.VancedInstaller
|
||||||
|
import org.koin.android.ext.koin.androidContext
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
|
|
||||||
val installerModule = module {
|
val installerModule = module {
|
||||||
|
|
||||||
fun provideVancedInstaller(
|
fun provideVancedInstaller(
|
||||||
context: Context
|
context: Context
|
||||||
) = VancedInstaller(context)
|
): VancedInstaller {
|
||||||
|
return VancedInstaller(
|
||||||
|
context = context
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fun provideMusicInstaller(
|
fun provideMusicInstaller(
|
||||||
context: Context
|
context: Context
|
||||||
) = MusicInstaller(context)
|
): MusicInstaller {
|
||||||
|
return MusicInstaller(
|
||||||
|
context = context
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fun provideMicrogInstaller(
|
fun provideMicrogInstaller(
|
||||||
context: Context
|
context: Context
|
||||||
) = MicrogInstaller(context)
|
): MicrogInstaller {
|
||||||
|
return MicrogInstaller(
|
||||||
|
context = context
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
single { provideVancedInstaller(get()) }
|
single { provideVancedInstaller(androidContext()) }
|
||||||
single { provideMusicInstaller(get()) }
|
single { provideMusicInstaller(androidContext()) }
|
||||||
single { provideMicrogInstaller(get()) }
|
single { provideMicrogInstaller(androidContext()) }
|
||||||
}
|
}
|
|
@ -5,8 +5,10 @@ import org.koin.dsl.module
|
||||||
|
|
||||||
val networkModule = module {
|
val networkModule = module {
|
||||||
|
|
||||||
fun provideOkHttpClient() =
|
fun provideOkHttpClient(): OkHttpClient {
|
||||||
OkHttpClient()
|
return OkHttpClient.Builder()
|
||||||
|
.build()
|
||||||
|
}
|
||||||
|
|
||||||
single { provideOkHttpClient() }
|
single { provideOkHttpClient() }
|
||||||
}
|
}
|
|
@ -39,7 +39,17 @@ val viewModelModule = module {
|
||||||
vancedInstaller: VancedInstaller,
|
vancedInstaller: VancedInstaller,
|
||||||
musicInstaller: MusicInstaller,
|
musicInstaller: MusicInstaller,
|
||||||
microgInstaller: MicrogInstaller,
|
microgInstaller: MicrogInstaller,
|
||||||
) = InstallViewModel(vancedDownloader, musicDownloader, microgDownloader, vancedInstaller, musicInstaller, microgInstaller)
|
): InstallViewModel {
|
||||||
|
return InstallViewModel(
|
||||||
|
vancedDownloader = vancedDownloader,
|
||||||
|
musicDownloader = musicDownloader,
|
||||||
|
microgDownloader = microgDownloader,
|
||||||
|
|
||||||
|
vancedInstaller = vancedInstaller,
|
||||||
|
musicInstaller = musicInstaller,
|
||||||
|
microgInstaller = microgInstaller
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fun provideConfigurationViewModel(): ConfigurationViewModel {
|
fun provideConfigurationViewModel(): ConfigurationViewModel {
|
||||||
return ConfigurationViewModel()
|
return ConfigurationViewModel()
|
||||||
|
|
Loading…
Reference in New Issue