Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wd1105040417
retrofit
提交
d5b83600
R
retrofit
项目概览
wd1105040417
/
retrofit
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
retrofit
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d5b83600
编写于
3月 25, 2020
作者:
J
Jake Wharton
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Small fixes from error-prone and animal sniffer
上级
f288fef3
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
64 addition
and
36 deletion
+64
-36
retrofit-converters/protobuf/src/main/java/retrofit2/converter/protobuf/ProtoConverterFactory.java
...a/retrofit2/converter/protobuf/ProtoConverterFactory.java
+1
-1
retrofit-converters/scalars/src/test/java/retrofit2/converter/scalars/ScalarsConverterFactoryTest.java
...rofit2/converter/scalars/ScalarsConverterFactoryTest.java
+2
-0
retrofit-converters/scalars/src/test/java/retrofit2/converter/scalars/ScalarsConverterPrimitivesFactoryTest.java
...verter/scalars/ScalarsConverterPrimitivesFactoryTest.java
+3
-0
retrofit-mock/src/main/java/retrofit2/mock/BehaviorCall.java
retrofit-mock/src/main/java/retrofit2/mock/BehaviorCall.java
+2
-2
retrofit-mock/src/main/java/retrofit2/mock/Calls.java
retrofit-mock/src/main/java/retrofit2/mock/Calls.java
+4
-3
retrofit-mock/src/test/java/retrofit2/mock/CallsTest.java
retrofit-mock/src/test/java/retrofit2/mock/CallsTest.java
+1
-1
retrofit/src/main/java/retrofit2/CompletableFutureCallAdapterFactory.java
...n/java/retrofit2/CompletableFutureCallAdapterFactory.java
+39
-24
retrofit/src/main/java/retrofit2/Platform.java
retrofit/src/main/java/retrofit2/Platform.java
+3
-0
retrofit/src/test/java/retrofit2/KotlinSuspendTest.kt
retrofit/src/test/java/retrofit2/KotlinSuspendTest.kt
+2
-0
samples/src/main/java/com/example/retrofit/DeserializeErrorBody.java
.../main/java/com/example/retrofit/DeserializeErrorBody.java
+5
-5
samples/src/main/java/com/example/retrofit/JsonQueryParameters.java
...c/main/java/com/example/retrofit/JsonQueryParameters.java
+1
-0
samples/src/main/java/com/example/retrofit/RxJavaObserveOnMainThread.java
.../java/com/example/retrofit/RxJavaObserveOnMainThread.java
+1
-0
未找到文件。
retrofit-converters/protobuf/src/main/java/retrofit2/converter/protobuf/ProtoConverterFactory.java
浏览文件 @
d5b83600
...
...
@@ -77,7 +77,7 @@ public final class ProtoConverterFactory extends Converter.Factory {
}
catch
(
NoSuchFieldException
|
IllegalAccessException
e
)
{
throw
new
IllegalArgumentException
(
"Found a protobuf message but "
+
c
.
getName
()
+
" had no parser() method or PARSER field."
);
+
" had no parser() method or PARSER field."
,
e
);
}
}
return
new
ProtoResponseBodyConverter
<>(
parser
,
registry
);
...
...
retrofit-converters/scalars/src/test/java/retrofit2/converter/scalars/ScalarsConverterFactoryTest.java
浏览文件 @
d5b83600
...
...
@@ -257,6 +257,7 @@ public final class ScalarsConverterFactoryTest {
server
.
enqueue
(
new
MockResponse
().
setBody
(
""
));
try
{
service
.
charObject
().
execute
();
fail
();
}
catch
(
IOException
e
)
{
assertThat
(
e
).
hasMessage
(
"Expected body of length 1 for Character conversion but was 0"
);
}
...
...
@@ -264,6 +265,7 @@ public final class ScalarsConverterFactoryTest {
server
.
enqueue
(
new
MockResponse
().
setBody
(
"bb"
));
try
{
service
.
charObject
().
execute
();
fail
();
}
catch
(
IOException
e
)
{
assertThat
(
e
).
hasMessage
(
"Expected body of length 1 for Character conversion but was 2"
);
}
...
...
retrofit-converters/scalars/src/test/java/retrofit2/converter/scalars/ScalarsConverterPrimitivesFactoryTest.java
浏览文件 @
d5b83600
...
...
@@ -29,6 +29,7 @@ import retrofit2.Retrofit;
import
retrofit2.http.GET
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
junit
.
Assert
.
fail
;
public
final
class
ScalarsConverterPrimitivesFactoryTest
{
interface
Service
{
...
...
@@ -96,6 +97,7 @@ public final class ScalarsConverterPrimitivesFactoryTest {
server
.
enqueue
(
new
MockResponse
().
setBody
(
""
));
try
{
service
.
charPrimitive
();
fail
();
}
catch
(
DirectCallIOException
e
)
{
assertThat
(
e
).
hasMessage
(
"Expected body of length 1 for Character conversion but was 0"
);
}
...
...
@@ -103,6 +105,7 @@ public final class ScalarsConverterPrimitivesFactoryTest {
server
.
enqueue
(
new
MockResponse
().
setBody
(
"bb"
));
try
{
service
.
charPrimitive
();
fail
();
}
catch
(
DirectCallIOException
e
)
{
assertThat
(
e
).
hasMessage
(
"Expected body of length 1 for Character conversion but was 2"
);
}
...
...
retrofit-mock/src/main/java/retrofit2/mock/BehaviorCall.java
浏览文件 @
d5b83600
...
...
@@ -74,7 +74,7 @@ final class BehaviorCall<T> implements Call<T> {
try
{
Thread
.
sleep
(
sleepMs
);
}
catch
(
InterruptedException
e
)
{
callback
.
onFailure
(
BehaviorCall
.
this
,
new
IOException
(
"canceled"
));
callback
.
onFailure
(
BehaviorCall
.
this
,
new
IOException
(
"canceled"
,
e
));
return
false
;
}
}
...
...
@@ -134,7 +134,7 @@ final class BehaviorCall<T> implements Call<T> {
try
{
latch
.
await
();
}
catch
(
InterruptedException
e
)
{
throw
new
IOException
(
"canceled"
);
throw
new
IOException
(
"canceled"
,
e
);
}
Response
<
T
>
response
=
responseRef
.
get
();
if
(
response
!=
null
)
return
response
;
...
...
retrofit-mock/src/main/java/retrofit2/mock/Calls.java
浏览文件 @
d5b83600
...
...
@@ -88,11 +88,12 @@ public final class Calls {
if
(
response
!=
null
)
{
return
response
;
}
throw
FakeCall
.<
Error
>
sneakyThrow
2
(
error
);
throw
FakeCall
.<
Error
>
sneakyThrow
(
error
);
}
@SuppressWarnings
(
"unchecked"
)
// Intentionally abusing this feature.
private
static
<
T
extends
Throwable
>
T
sneakyThrow2
(
Throwable
t
)
throws
T
{
// Intentionally abusing this feature.
@SuppressWarnings
({
"unchecked"
,
"TypeParameterUnusedInFormals"
})
private
static
<
T
extends
Throwable
>
T
sneakyThrow
(
Throwable
t
)
throws
T
{
throw
(
T
)
t
;
}
...
...
retrofit-mock/src/test/java/retrofit2/mock/CallsTest.java
浏览文件 @
d5b83600
...
...
@@ -163,7 +163,7 @@ public final class CallsTest {
try
{
taco
.
execute
();
fail
();
}
catch
(
Throwable
e
)
{
}
catch
(
Exception
e
)
{
assertSame
(
failure
,
e
);
}
assertTrue
(
taco
.
isExecuted
());
...
...
retrofit/src/main/java/retrofit2/CompletableFutureCallAdapterFactory.java
浏览文件 @
d5b83600
...
...
@@ -64,23 +64,30 @@ final class CompletableFutureCallAdapterFactory extends CallAdapter.Factory {
}
@Override
public
CompletableFuture
<
R
>
adapt
(
final
Call
<
R
>
call
)
{
final
CompletableFuture
<
R
>
future
=
new
CallCancelCompletableFuture
<>(
call
);
call
.
enqueue
(
new
Callback
<
R
>()
{
@Override
public
void
onResponse
(
Call
<
R
>
call
,
Response
<
R
>
response
)
{
if
(
response
.
isSuccessful
())
{
future
.
complete
(
response
.
body
());
}
else
{
future
.
completeExceptionally
(
new
HttpException
(
response
));
}
}
CompletableFuture
<
R
>
future
=
new
CallCancelCompletableFuture
<>(
call
);
call
.
enqueue
(
new
BodyCallback
(
future
));
return
future
;
}
@IgnoreJRERequirement
private
class
BodyCallback
implements
Callback
<
R
>
{
private
final
CompletableFuture
<
R
>
future
;
public
BodyCallback
(
CompletableFuture
<
R
>
future
)
{
this
.
future
=
future
;
}
@Override
public
void
onFailure
(
Call
<
R
>
call
,
Throwable
t
)
{
future
.
completeExceptionally
(
t
);
@Override
public
void
onResponse
(
Call
<
R
>
call
,
Response
<
R
>
response
)
{
if
(
response
.
isSuccessful
())
{
future
.
complete
(
response
.
body
());
}
else
{
future
.
completeExceptionally
(
new
HttpException
(
response
));
}
}
);
}
return
future
;
@Override
public
void
onFailure
(
Call
<
R
>
call
,
Throwable
t
)
{
future
.
completeExceptionally
(
t
);
}
}
}
...
...
@@ -98,22 +105,30 @@ final class CompletableFutureCallAdapterFactory extends CallAdapter.Factory {
}
@Override
public
CompletableFuture
<
Response
<
R
>>
adapt
(
final
Call
<
R
>
call
)
{
final
CompletableFuture
<
Response
<
R
>>
future
=
new
CallCancelCompletableFuture
<>(
call
);
CompletableFuture
<
Response
<
R
>>
future
=
new
CallCancelCompletableFuture
<>(
call
);
call
.
enqueue
(
new
ResponseCallback
(
future
));
return
future
;
}
call
.
enqueue
(
new
Callback
<
R
>()
{
@Override
public
void
onResponse
(
Call
<
R
>
call
,
Response
<
R
>
response
)
{
future
.
complete
(
response
);
}
@IgnoreJRERequirement
private
class
ResponseCallback
implements
Callback
<
R
>
{
private
final
CompletableFuture
<
Response
<
R
>>
future
;
@Override
public
void
onFailure
(
Call
<
R
>
call
,
Throwable
t
)
{
future
.
completeExceptionally
(
t
);
}
});
public
ResponseCallback
(
CompletableFuture
<
Response
<
R
>>
future
)
{
this
.
future
=
future
;
}
return
future
;
@Override
public
void
onResponse
(
Call
<
R
>
call
,
Response
<
R
>
response
)
{
future
.
complete
(
response
);
}
@Override
public
void
onFailure
(
Call
<
R
>
call
,
Throwable
t
)
{
future
.
completeExceptionally
(
t
);
}
}
}
@IgnoreJRERequirement
private
static
final
class
CallCancelCompletableFuture
<
T
>
extends
CompletableFuture
<
T
>
{
private
final
Call
<?>
call
;
...
...
retrofit/src/main/java/retrofit2/Platform.java
浏览文件 @
d5b83600
...
...
@@ -25,6 +25,7 @@ import java.lang.reflect.Method;
import
java.util.List
;
import
java.util.concurrent.Executor
;
import
javax.annotation.Nullable
;
import
org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
;
import
static
java
.
util
.
Arrays
.
asList
;
import
static
java
.
util
.
Collections
.
emptyList
;
...
...
@@ -98,10 +99,12 @@ class Platform {
return
hasJava8Types
?
1
:
0
;
}
@IgnoreJRERequirement
// Only called on API 24+.
boolean
isDefaultMethod
(
Method
method
)
{
return
hasJava8Types
&&
method
.
isDefault
();
}
@IgnoreJRERequirement
// Only called on API 26+.
@Nullable
Object
invokeDefaultMethod
(
Method
method
,
Class
<?>
declaringClass
,
Object
object
,
@Nullable
Object
...
args
)
throws
Throwable
{
Lookup
lookup
=
lookupConstructor
!=
null
...
...
retrofit/src/test/java/retrofit2/KotlinSuspendTest.kt
浏览文件 @
d5b83600
...
...
@@ -16,6 +16,7 @@
package
retrofit2
import
kotlinx.coroutines.CoroutineDispatcher
import
kotlinx.coroutines.ExperimentalCoroutinesApi
import
kotlinx.coroutines.GlobalScope
import
kotlinx.coroutines.async
import
kotlinx.coroutines.runBlocking
...
...
@@ -329,6 +330,7 @@ class KotlinSuspendTest {
}
}
@Suppress
(
"EXPERIMENTAL_OVERRIDE"
)
private
object
DirectUnconfinedDispatcher
:
CoroutineDispatcher
()
{
override
fun
isDispatchNeeded
(
context
:
CoroutineContext
):
Boolean
=
false
override
fun
dispatch
(
context
:
CoroutineContext
,
block
:
Runnable
)
=
block
.
run
()
...
...
samples/src/main/java/com/example/retrofit/DeserializeErrorBody.java
浏览文件 @
d5b83600
...
...
@@ -36,7 +36,7 @@ public final class DeserializeErrorBody {
// normal fields...
}
static
class
Error
{
static
class
Error
Body
{
String
message
;
}
...
...
@@ -62,11 +62,11 @@ public final class DeserializeErrorBody {
// convert the error body and/or which type to use for conversion.
// Look up a converter for the Error type on the Retrofit instance.
Converter
<
ResponseBody
,
Error
>
errorConverter
=
retrofit
.
responseBodyConverter
(
Error
.
class
,
new
Annotation
[
0
]);
Converter
<
ResponseBody
,
Error
Body
>
errorConverter
=
retrofit
.
responseBodyConverter
(
Error
Body
.
class
,
new
Annotation
[
0
]);
// Convert the error body into our Error type.
Error
error
=
errorConverter
.
convert
(
response
.
errorBody
());
System
.
out
.
println
(
"ERROR: "
+
error
.
message
);
Error
Body
errorBody
=
errorConverter
.
convert
(
response
.
errorBody
());
System
.
out
.
println
(
"ERROR: "
+
error
Body
.
message
);
server
.
shutdown
();
}
...
...
samples/src/main/java/com/example/retrofit/JsonQueryParameters.java
浏览文件 @
d5b83600
...
...
@@ -91,6 +91,7 @@ public final class JsonQueryParameters {
Call
<
ResponseBody
>
example
(
@Json
@Query
(
"value"
)
Filter
value
);
}
@SuppressWarnings
(
"UnusedVariable"
)
public
static
void
main
(
String
...
args
)
throws
IOException
,
InterruptedException
{
MockWebServer
server
=
new
MockWebServer
();
server
.
start
();
...
...
samples/src/main/java/com/example/retrofit/RxJavaObserveOnMainThread.java
浏览文件 @
d5b83600
...
...
@@ -29,6 +29,7 @@ import rx.schedulers.Schedulers;
import
static
rx
.
schedulers
.
Schedulers
.
io
;
public
final
class
RxJavaObserveOnMainThread
{
@SuppressWarnings
(
"UnusedVariable"
)
public
static
void
main
(
String
...
args
)
{
Scheduler
observeOn
=
Schedulers
.
computation
();
// Or use mainThread() for Android.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录