diff --git a/retrofit/src/main/java/retrofit2/Retrofit.java b/retrofit/src/main/java/retrofit2/Retrofit.java index 04c1ce845416c25ae6013e56dd37a85a1b060ea3..f4dad9092b150e3a5b71dc5c91d4b8931c7af673 100644 --- a/retrofit/src/main/java/retrofit2/Retrofit.java +++ b/retrofit/src/main/java/retrofit2/Retrofit.java @@ -542,6 +542,11 @@ public final class Retrofit { return this; } + /** Returns a modifiable list of call adapter factories. */ + public List callAdapterFactories() { + return this.adapterFactories; + } + /** Returns a modifiable list of converter factories. */ public List converterFactories() { return this.converterFactories; diff --git a/retrofit/src/test/java/retrofit2/RetrofitTest.java b/retrofit/src/test/java/retrofit2/RetrofitTest.java index edcaef289bb3022ebd315b5e0155448437880f2b..4b9cd8adbd9cf72dd632e9db53353176c6d26a9e 100644 --- a/retrofit/src/test/java/retrofit2/RetrofitTest.java +++ b/retrofit/src/test/java/retrofit2/RetrofitTest.java @@ -1224,6 +1224,14 @@ public final class RetrofitTest { assertThat(nonMatchingFactory.called).isTrue(); } + @Test public void platformAwareAdapterAbsentInCloneBuilder() { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl(server.url("/")) + .build(); + + assertEquals(0, retrofit.newBuilder().callAdapterFactories().size()); + } + @Test public void callbackExecutorNullThrows() { try { new Retrofit.Builder().callbackExecutor(null);