From e9df2bfa0368cb3b180265782594e5f6aaeaff51 Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 12 Dec 2025 17:43:44 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AA=A8=EB=93=A0=20API=20=EC=9A=94=EC=B2=AD?= =?UTF-8?q?=EC=97=90=20Accept-Language=20=ED=97=A4=EB=8D=94=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/vividnext/sodalive/di/AppDI.kt | 4 ++++ .../network/AcceptLanguageInterceptor.kt | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/network/AcceptLanguageInterceptor.kt diff --git a/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt b/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt index 5f8ed03c..60144121 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt @@ -142,6 +142,7 @@ import kr.co.vividnext.sodalive.mypage.service_center.FaqApi import kr.co.vividnext.sodalive.mypage.service_center.FaqRepository import kr.co.vividnext.sodalive.mypage.service_center.ServiceCenterViewModel import kr.co.vividnext.sodalive.network.TokenAuthenticator +import kr.co.vividnext.sodalive.network.AcceptLanguageInterceptor import kr.co.vividnext.sodalive.report.ReportApi import kr.co.vividnext.sodalive.report.ReportRepository import kr.co.vividnext.sodalive.search.SearchApi @@ -202,6 +203,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) { OkHttpClient().newBuilder() .addInterceptor(logging) + .addInterceptor(get()) .authenticator(TokenAuthenticator(get())) .connectTimeout(60, TimeUnit.SECONDS) .readTimeout(60, TimeUnit.SECONDS) @@ -209,6 +211,8 @@ class AppDI(private val context: Context, isDebugMode: Boolean) { .build() } + single { AcceptLanguageInterceptor(get()) } + single { Retrofit.Builder() .baseUrl(baseUrl) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/network/AcceptLanguageInterceptor.kt b/app/src/main/java/kr/co/vividnext/sodalive/network/AcceptLanguageInterceptor.kt new file mode 100644 index 00000000..d3e41220 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/network/AcceptLanguageInterceptor.kt @@ -0,0 +1,18 @@ +package kr.co.vividnext.sodalive.network + +import android.content.Context +import kr.co.vividnext.sodalive.settings.language.LanguageManager +import okhttp3.Interceptor +import okhttp3.Response + +class AcceptLanguageInterceptor( + private val context: Context +) : Interceptor { + override fun intercept(chain: Interceptor.Chain): Response { + val currentLang = LanguageManager.getEffectiveLanguage(context) + val newRequest = chain.request().newBuilder() + .header("Accept-Language", currentLang) + .build() + return chain.proceed(newRequest) + } +}