Skip to content

Commit 2be71e4

Browse files
authored
Add constants for OkHttp @Named qualifier strings (#22379)
Introduce `OkHttpClientQualifiers` object with constants for all OkHttp client dependency injection qualifiers. This replaces hardcoded strings like `@Named("regular")` with type-safe constants like `@Named(OkHttpClientQualifiers.REGULAR)`. Changes: - Add `OkHttpClientQualifiers.kt` with constants for all qualifier strings - Update ~90 files to use full qualifiers instead of string literals - Add required imports to all affected Java and Kotlin files
1 parent 8ffd5e0 commit 2be71e4

File tree

92 files changed

+235
-120
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+235
-120
lines changed

WordPress/src/main/java/org/wordpress/android/AppInitializer.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ import java.io.File
117117
import java.io.IOException
118118
import java.net.CookieManager
119119
import java.util.Date
120+
import org.wordpress.android.fluxc.module.OkHttpClientQualifiers
120121
import javax.inject.Inject
121122
import javax.inject.Named
122123
import javax.inject.Singleton
@@ -209,7 +210,7 @@ class AppInitializer @Inject constructor(
209210
lateinit var tracker: Tracker
210211

211212
@Inject
212-
@Named("custom-ssl")
213+
@Named(OkHttpClientQualifiers.CUSTOM_SSL)
213214
lateinit var requestQueue: RequestQueue
214215

215216
@Inject

WordPress/src/main/java/org/wordpress/android/auth/WordPressCookieAuthenticator.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import okhttp3.Response
1515
import org.wordpress.android.fluxc.utils.PreferenceUtils.PreferenceUtilsWrapper
1616
import org.wordpress.android.util.AppLog
1717
import java.io.IOException
18+
import org.wordpress.android.fluxc.module.OkHttpClientQualifiers
1819
import javax.inject.Inject
1920
import javax.inject.Named
2021
import javax.inject.Singleton
@@ -30,7 +31,7 @@ import androidx.core.content.edit
3031
*/
3132
@Singleton
3233
class WordPressCookieAuthenticator @Inject constructor(
33-
@Named("regular") private val okHttpClient: OkHttpClient,
34+
@Named(OkHttpClientQualifiers.REGULAR) private val okHttpClient: OkHttpClient,
3435
@Named("IO_THREAD") private val ioDispatcher: CoroutineDispatcher,
3536
private val preferenceUtils: PreferenceUtilsWrapper
3637
) {

WordPress/src/main/java/org/wordpress/android/modules/WordPressGlideModule.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import org.wordpress.android.networking.GlideMShotsLoader
1414
import org.wordpress.android.networking.GlideRequestFactory
1515
import org.wordpress.android.networking.MShot
1616
import java.io.InputStream
17+
import org.wordpress.android.fluxc.module.OkHttpClientQualifiers
1718
import javax.inject.Inject
1819
import javax.inject.Named
1920

@@ -24,11 +25,11 @@ import javax.inject.Named
2425
@GlideModule
2526
class WordPressGlideModule : AppGlideModule() {
2627
@Inject
27-
@Named("custom-ssl-custom-redirects")
28+
@Named(OkHttpClientQualifiers.CUSTOM_SSL_CUSTOM_REDIRECTS)
2829
lateinit var requestQueue: RequestQueue
2930

3031
@Inject
31-
@Named("no-redirects")
32+
@Named(OkHttpClientQualifiers.NO_REDIRECTS)
3233
lateinit var noRedirectsRequestQueue: RequestQueue
3334

3435
@Inject

WordPress/src/main/java/org/wordpress/android/support/he/util/TempAttachmentsUtil.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,14 @@ import okhttp3.OkHttpClient
1212
import okhttp3.Request
1313
import java.io.File
1414
import java.util.concurrent.TimeUnit
15+
import org.wordpress.android.fluxc.module.OkHttpClientQualifiers
1516
import javax.inject.Inject
1617
import javax.inject.Named
1718
import kotlin.collections.forEach
1819

1920
class TempAttachmentsUtil @Inject constructor(
2021
@Named(IO_THREAD) private val ioDispatcher: CoroutineDispatcher,
21-
@Named("regular") private val okHttpClient: OkHttpClient,
22+
@Named(OkHttpClientQualifiers.REGULAR) private val okHttpClient: OkHttpClient,
2223
private val appLogWrapper: AppLogWrapper,
2324
private val application: Application,
2425
private val accountStore: AccountStore

WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderWebView.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.wordpress.android.WordPress;
2121
import org.wordpress.android.fluxc.network.UserAgent;
2222
import org.wordpress.android.fluxc.store.AccountStore;
23+
import org.wordpress.android.fluxc.module.OkHttpClientQualifiers;
2324
import org.wordpress.android.ui.WPWebView;
2425
import org.wordpress.android.util.AppLog;
2526
import org.wordpress.android.util.UrlUtils;
@@ -86,7 +87,7 @@ public interface ReaderWebViewPageFinishedListener {
8687

8788
@Inject UserAgent mUserAgent;
8889
@Inject AccountStore mAccountStore;
89-
@Inject @Named("regular") OkHttpClient mOkHttpClient;
90+
@Inject @Named(OkHttpClientQualifiers.REGULAR) OkHttpClient mOkHttpClient;
9091

9192
public ReaderWebView(Context context) {
9293
super(context);

WordPress/src/main/java/org/wordpress/android/util/WPWebViewClient.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.wordpress.android.WordPress;
1111
import org.wordpress.android.fluxc.model.SiteModel;
1212
import org.wordpress.android.fluxc.network.MemorizingTrustManager;
13+
import org.wordpress.android.fluxc.module.OkHttpClientQualifiers;
1314

1415
import java.io.IOException;
1516
import java.net.MalformedURLException;
@@ -40,7 +41,7 @@ public class WPWebViewClient extends URLFilteredWebViewClient {
4041
private final SiteModel mSite;
4142
private String mToken;
4243
@Inject protected MemorizingTrustManager mMemorizingTrustManager;
43-
@Inject @Named("regular") protected OkHttpClient mOkHttpClient;
44+
@Inject @Named(OkHttpClientQualifiers.REGULAR) protected OkHttpClient mOkHttpClient;
4445

4546
public WPWebViewClient(SiteModel site, String token, List<String> urls,
4647
ErrorManagedWebViewClientListener listener) {

libs/fluxc/src/main/java/org/wordpress/android/fluxc/module/OkHttpClientModule.java

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,27 @@
3030
public abstract class OkHttpClientModule {
3131
@Singleton
3232
@Provides
33-
@Named("no-cookies")
33+
@Named(OkHttpClientQualifiers.NO_COOKIES)
3434
public static OkHttpClient provideNoCookiesOkHttpClientBuilder(
35-
@Named("regular") final OkHttpClient okHttpRegularClient) {
35+
@Named(OkHttpClientQualifiers.REGULAR) final OkHttpClient okHttpRegularClient) {
3636
return okHttpRegularClient.newBuilder()
3737
.cookieJar(CookieJar.NO_COOKIES)
3838
.build();
3939
}
4040

4141
@Provides
42-
@Named("no-redirects")
42+
@Named(OkHttpClientQualifiers.NO_REDIRECTS)
4343
public static OkHttpClient provideNoRedirectsOkHttpClientBuilder(
44-
@Named("custom-ssl") final OkHttpClient okHttpRegularClient) {
44+
@Named(OkHttpClientQualifiers.CUSTOM_SSL) final OkHttpClient okHttpRegularClient) {
4545
return okHttpRegularClient.newBuilder()
4646
.followRedirects(false)
4747
.build();
4848
}
4949

5050
@Provides
51-
@Named("custom-ssl-custom-redirects")
51+
@Named(OkHttpClientQualifiers.CUSTOM_SSL_CUSTOM_REDIRECTS)
5252
public static OkHttpClient provideCustomRedirectsOkHttpClientBuilder(
53-
@Named("custom-ssl") final OkHttpClient okHttpRegularClient) {
53+
@Named(OkHttpClientQualifiers.CUSTOM_SSL) final OkHttpClient okHttpRegularClient) {
5454
OkHttpClient.Builder builder = okHttpRegularClient.newBuilder().followRedirects(false);
5555
CustomRedirectInterceptor customRedirectInterceptor = new CustomRedirectInterceptor();
5656
builder.addInterceptor(customRedirectInterceptor);
@@ -59,9 +59,9 @@ public static OkHttpClient provideCustomRedirectsOkHttpClientBuilder(
5959

6060
@Singleton
6161
@Provides
62-
@Named("custom-ssl")
62+
@Named(OkHttpClientQualifiers.CUSTOM_SSL)
6363
public static OkHttpClient provideMediaOkHttpClientInstanceCustomSSL(
64-
@Named("regular") final OkHttpClient okHttpClient,
64+
@Named(OkHttpClientQualifiers.REGULAR) final OkHttpClient okHttpClient,
6565
final MemorizingTrustManager memorizingTrustManager) {
6666
final OkHttpClient.Builder builder = okHttpClient.newBuilder();
6767
try {
@@ -76,17 +76,21 @@ public static OkHttpClient provideMediaOkHttpClientInstanceCustomSSL(
7676
return builder.build();
7777
}
7878

79-
@Multibinds abstract @Named("interceptors") Set<Interceptor> interceptorSet();
79+
@Multibinds
80+
@Named(OkHttpClientQualifiers.INTERCEPTORS)
81+
abstract Set<Interceptor> interceptorSet();
8082

81-
@Multibinds abstract @Named("network-interceptors") Set<Interceptor> networkInterceptorSet();
83+
@Multibinds
84+
@Named(OkHttpClientQualifiers.NETWORK_INTERCEPTORS)
85+
abstract Set<Interceptor> networkInterceptorSet();
8286

8387
@Singleton
8488
@Provides
85-
@Named("regular")
89+
@Named(OkHttpClientQualifiers.REGULAR)
8690
public static OkHttpClient provideMediaOkHttpClientInstance(
8791
final CookieJar cookieJar,
88-
@Named("interceptors") Set<Interceptor> interceptors,
89-
@Named("network-interceptors") Set<Interceptor> networkInterceptors) {
92+
@Named(OkHttpClientQualifiers.INTERCEPTORS) Set<Interceptor> interceptors,
93+
@Named(OkHttpClientQualifiers.NETWORK_INTERCEPTORS) Set<Interceptor> networkInterceptors) {
9094
final OkHttpClient.Builder builder = new OkHttpClient.Builder();
9195

9296
for (Interceptor interceptor : interceptors) {
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.wordpress.android.fluxc.module
2+
3+
/**
4+
* Constants for @Named qualifiers used with OkHttpClient and RequestQueue dependency injection.
5+
*
6+
* These constants should be used instead of hardcoded strings to prevent typos
7+
* and enable easier refactoring.
8+
*/
9+
object OkHttpClientQualifiers {
10+
const val REGULAR = "regular"
11+
const val CUSTOM_SSL = "custom-ssl"
12+
const val NO_REDIRECTS = "no-redirects"
13+
const val NO_COOKIES = "no-cookies"
14+
const val CUSTOM_SSL_CUSTOM_REDIRECTS = "custom-ssl-custom-redirects"
15+
const val INTERCEPTORS = "interceptors"
16+
const val NETWORK_INTERCEPTORS = "network-interceptors"
17+
}

libs/fluxc/src/main/java/org/wordpress/android/fluxc/module/ReleaseNetworkModule.java

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,43 +56,46 @@ private RequestQueue createRequestQueue(Network network, Context appContext) {
5656
}
5757

5858
@Singleton
59-
@Named("regular")
59+
@Named(OkHttpClientQualifiers.REGULAR)
6060
@Provides
61-
public RequestQueue provideRequestQueue(@Named("regular") OkHttpClient okHttpClient,
61+
public RequestQueue provideRequestQueue(@Named(OkHttpClientQualifiers.REGULAR) OkHttpClient okHttpClient,
6262
Context appContext) {
6363
return newRequestQueue(okHttpClient, appContext);
6464
}
6565

6666
@Singleton
67-
@Named("no-redirects")
67+
@Named(OkHttpClientQualifiers.NO_REDIRECTS)
6868
@Provides
69-
public RequestQueue provideNoRedirectsRequestQueue(@Named("no-redirects") OkHttpClient okHttpClient,
70-
Context appContext) {
69+
public RequestQueue provideNoRedirectsRequestQueue(
70+
@Named(OkHttpClientQualifiers.NO_REDIRECTS) OkHttpClient okHttpClient,
71+
Context appContext) {
7172
return newRetryOnRedirectRequestQueue(okHttpClient, appContext);
7273
}
7374

7475
@Singleton
75-
@Named("custom-ssl")
76+
@Named(OkHttpClientQualifiers.CUSTOM_SSL)
7677
@Provides
77-
public RequestQueue provideRequestQueueCustomSSL(@Named("custom-ssl") OkHttpClient okHttpClient,
78-
Context appContext) {
78+
public RequestQueue provideRequestQueueCustomSSL(
79+
@Named(OkHttpClientQualifiers.CUSTOM_SSL) OkHttpClient okHttpClient,
80+
Context appContext) {
7981
return newRequestQueue(okHttpClient, appContext);
8082
}
8183

8284
@Singleton
83-
@Named("custom-ssl-custom-redirects")
85+
@Named(OkHttpClientQualifiers.CUSTOM_SSL_CUSTOM_REDIRECTS)
8486
@Provides
8587
public RequestQueue provideRequestQueueCustomSSLWithRedirects(
86-
@Named("custom-ssl-custom-redirects") OkHttpClient okHttpClient,
88+
@Named(OkHttpClientQualifiers.CUSTOM_SSL_CUSTOM_REDIRECTS) OkHttpClient okHttpClient,
8789
Context appContext) {
8890
return newRequestQueue(okHttpClient, appContext);
8991
}
9092

9193
@Singleton
92-
@Named("no-cookies")
94+
@Named(OkHttpClientQualifiers.NO_COOKIES)
9395
@Provides
94-
public RequestQueue provideRequestQueueNoCookies(@Named("no-cookies") OkHttpClient okHttpClient,
95-
Context appContext) {
96+
public RequestQueue provideRequestQueueNoCookies(
97+
@Named(OkHttpClientQualifiers.NO_COOKIES) OkHttpClient okHttpClient,
98+
Context appContext) {
9699
return newRequestQueue(okHttpClient, appContext);
97100
}
98101

libs/fluxc/src/main/java/org/wordpress/android/fluxc/network/discovery/DiscoveryWPAPIRestClient.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.wordpress.android.fluxc.network.rest.wpapi.BaseWPAPIRestClient;
1313
import org.wordpress.android.fluxc.network.rest.wpapi.OnWPAPIErrorListener;
1414
import org.wordpress.android.fluxc.network.rest.wpapi.WPAPIGsonRequest;
15+
import org.wordpress.android.fluxc.module.OkHttpClientQualifiers;
1516
import org.wordpress.android.util.AppLog;
1617

1718
import java.util.List;
@@ -30,7 +31,7 @@
3031
public class DiscoveryWPAPIRestClient extends BaseWPAPIRestClient {
3132
@Inject public DiscoveryWPAPIRestClient(
3233
Dispatcher dispatcher,
33-
@Named("custom-ssl") RequestQueue requestQueue,
34+
@Named(OkHttpClientQualifiers.CUSTOM_SSL) RequestQueue requestQueue,
3435
UserAgent userAgent) {
3536
super(dispatcher, requestQueue, userAgent);
3637
}

0 commit comments

Comments
 (0)