Decouple from the data-client service factory, with some code cleanup in the process (#5496)

This commit is contained in:
Paul Hawke 2024-01-29 16:46:01 -06:00 committed by GitHub
parent 7ec2a22fce
commit ab9e57f5be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 75 additions and 71 deletions

View file

@ -3,7 +3,6 @@ package org.wikipedia;
import androidx.annotation.NonNull;
import org.wikipedia.dataclient.SharedPreferenceCookieManager;
import org.wikipedia.dataclient.WikiSite;
import okhttp3.OkHttpClient;
@ -11,7 +10,7 @@ public abstract class AppAdapter {
public abstract String getMediaWikiBaseUrl();
public abstract String getRestbaseUriFormat();
public abstract OkHttpClient getOkHttpClient(@NonNull WikiSite wikiSite);
public abstract OkHttpClient getOkHttpClient();
public abstract int getDesiredLeadImageDp();
public abstract boolean isLoggedIn();

View file

@ -57,7 +57,7 @@ public final class ServiceFactory {
private static Retrofit createRetrofit(@NonNull WikiSite wiki, @NonNull String baseUrl) {
return new Retrofit.Builder()
.client(AppAdapter.get().getOkHttpClient(wiki))
.client(AppAdapter.get().getOkHttpClient())
.baseUrl(baseUrl)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create(GsonUtil.getDefaultGson()))

View file

@ -4,7 +4,6 @@ import androidx.annotation.NonNull;
import org.wikipedia.dataclient.Service;
import org.wikipedia.dataclient.SharedPreferenceCookieManager;
import org.wikipedia.dataclient.WikiSite;
import org.wikipedia.dataclient.okhttp.TestStubInterceptor;
import org.wikipedia.dataclient.okhttp.UnsuccessfulResponseInterceptor;
import org.wikipedia.login.LoginResult;
@ -24,7 +23,7 @@ public class TestAppAdapter extends AppAdapter {
}
@Override
public OkHttpClient getOkHttpClient(@NonNull WikiSite wikiSite) {
public OkHttpClient getOkHttpClient() {
return new OkHttpClient.Builder()
.addInterceptor(new UnsuccessfulResponseInterceptor())
.addInterceptor(new TestStubInterceptor())

View file

@ -8,8 +8,6 @@ import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.wikipedia.AppAdapter;
import org.wikipedia.TestAppAdapter;
import org.wikipedia.dataclient.Service;
import org.wikipedia.dataclient.WikiSite;
import org.wikipedia.json.GsonUtil;
import okhttp3.Dispatcher;
@ -25,7 +23,7 @@ public abstract class MockWebServerTest {
@Before public void setUp() throws Throwable {
AppAdapter.set(new TestAppAdapter());
OkHttpClient.Builder builder = AppAdapter.get().getOkHttpClient(new WikiSite(Service.WIKIPEDIA_URL)).newBuilder();
OkHttpClient.Builder builder = AppAdapter.get().getOkHttpClient().newBuilder();
okHttpClient = builder.dispatcher(new Dispatcher(new ImmediateExecutorService())).build();
server.setUp();
}