mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 11:47:04 +05:30
refactor(android): merge all OkHttp bindings into a single class
This commit is contained in:
parent
ffce663f6f
commit
cffb2bdbb2
2 changed files with 41 additions and 50 deletions
|
@ -1,20 +0,0 @@
|
||||||
package dev.msfjarvis.claw.android.injection
|
|
||||||
|
|
||||||
import dagger.Binds
|
|
||||||
import dagger.Module
|
|
||||||
import dagger.hilt.InstallIn
|
|
||||||
import dagger.hilt.components.SingletonComponent
|
|
||||||
import dagger.multibindings.IntoSet
|
|
||||||
import dev.msfjarvis.claw.android.network.NapierLogger
|
|
||||||
import dev.msfjarvis.claw.android.network.UserAgentInterceptor
|
|
||||||
import okhttp3.Interceptor
|
|
||||||
import okhttp3.logging.HttpLoggingInterceptor
|
|
||||||
|
|
||||||
@Module
|
|
||||||
@InstallIn(SingletonComponent::class)
|
|
||||||
interface InterceptorModule {
|
|
||||||
|
|
||||||
@Binds fun NapierLogger.bindLogger(): HttpLoggingInterceptor.Logger
|
|
||||||
|
|
||||||
@Binds @IntoSet fun UserAgentInterceptor.bindUAInterceptor(): Interceptor
|
|
||||||
}
|
|
|
@ -2,6 +2,7 @@ package dev.msfjarvis.claw.android.injection
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.net.TrafficStats
|
import android.net.TrafficStats
|
||||||
|
import dagger.Binds
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.Provides
|
import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
|
@ -9,6 +10,8 @@ import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
import dagger.multibindings.IntoSet
|
import dagger.multibindings.IntoSet
|
||||||
import dev.msfjarvis.claw.android.network.DelegatingSocketFactory
|
import dev.msfjarvis.claw.android.network.DelegatingSocketFactory
|
||||||
|
import dev.msfjarvis.claw.android.network.NapierLogger
|
||||||
|
import dev.msfjarvis.claw.android.network.UserAgentInterceptor
|
||||||
import java.net.Socket
|
import java.net.Socket
|
||||||
import javax.net.SocketFactory
|
import javax.net.SocketFactory
|
||||||
import okhttp3.Cache
|
import okhttp3.Cache
|
||||||
|
@ -18,7 +21,14 @@ import okhttp3.logging.HttpLoggingInterceptor
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(SingletonComponent::class)
|
@InstallIn(SingletonComponent::class)
|
||||||
object OkHttpModule {
|
abstract class OkHttpModule {
|
||||||
|
|
||||||
|
@Binds abstract fun NapierLogger.bindLogger(): HttpLoggingInterceptor.Logger
|
||||||
|
|
||||||
|
@Binds @IntoSet abstract fun UserAgentInterceptor.bindUAInterceptor(): Interceptor
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
fun provideCache(@ApplicationContext context: Context): Cache {
|
fun provideCache(@ApplicationContext context: Context): Cache {
|
||||||
return Cache(context.cacheDir, 10 * 1024 * 1024)
|
return Cache(context.cacheDir, 10 * 1024 * 1024)
|
||||||
|
@ -54,4 +64,5 @@ object OkHttpModule {
|
||||||
fun provideHttpLoggingInterceptor(logger: HttpLoggingInterceptor.Logger): Interceptor {
|
fun provideHttpLoggingInterceptor(logger: HttpLoggingInterceptor.Logger): Interceptor {
|
||||||
return HttpLoggingInterceptor(logger).setLevel(HttpLoggingInterceptor.Level.HEADERS)
|
return HttpLoggingInterceptor(logger).setLevel(HttpLoggingInterceptor.Level.HEADERS)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue