organize di modules

This commit is contained in:
X1nto 2022-03-01 20:23:31 +04:00
parent 6960cb67b1
commit 0b590fd0e9
6 changed files with 79 additions and 30 deletions

View File

@ -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()) }

View File

@ -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()

View File

@ -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()) }
} }

View File

@ -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()) }
} }

View File

@ -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() }
} }

View File

@ -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()