From b8ad4cbff6ed7cfb338fe1b3117050bf1df57e96 Mon Sep 17 00:00:00 2001 From: GoFly233 Date: Thu, 13 Aug 2020 18:56:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor(NullOnEmptyConverterFactory.java):=20?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=20Kotlin=20=E9=87=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../retrofit/NullOnEmptyConverterFactory.java | 19 ------------------- .../retrofit/NullOnEmptyConverterFactory.kt | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 19 deletions(-) delete mode 100644 app/src/main/java/com/huanchengfly/tieba/api/retrofit/NullOnEmptyConverterFactory.java create mode 100644 app/src/main/java/com/huanchengfly/tieba/api/retrofit/NullOnEmptyConverterFactory.kt diff --git a/app/src/main/java/com/huanchengfly/tieba/api/retrofit/NullOnEmptyConverterFactory.java b/app/src/main/java/com/huanchengfly/tieba/api/retrofit/NullOnEmptyConverterFactory.java deleted file mode 100644 index f54b2f37..00000000 --- a/app/src/main/java/com/huanchengfly/tieba/api/retrofit/NullOnEmptyConverterFactory.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.huanchengfly.tieba.api.retrofit; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import okhttp3.ResponseBody; -import retrofit2.Converter; -import retrofit2.Retrofit; - -public class NullOnEmptyConverterFactory extends Converter.Factory { - @Override - public Converter responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) { - final Converter delegate = retrofit.nextResponseBodyConverter(this, type, annotations); - return (Converter) body -> { - if (body.contentLength() == 0) return null; - return delegate.convert(body); - }; - } -} diff --git a/app/src/main/java/com/huanchengfly/tieba/api/retrofit/NullOnEmptyConverterFactory.kt b/app/src/main/java/com/huanchengfly/tieba/api/retrofit/NullOnEmptyConverterFactory.kt new file mode 100644 index 00000000..8a3771dd --- /dev/null +++ b/app/src/main/java/com/huanchengfly/tieba/api/retrofit/NullOnEmptyConverterFactory.kt @@ -0,0 +1,16 @@ +package com.huanchengfly.tieba.api.retrofit + +import okhttp3.ResponseBody +import retrofit2.Converter +import retrofit2.Retrofit +import java.lang.reflect.Type + +class NullOnEmptyConverterFactory : Converter.Factory() { + override fun responseBodyConverter(type: Type, annotations: Array, retrofit: Retrofit): Converter? { + val delegate: Converter = retrofit.nextResponseBodyConverter(this, type, annotations) + return (Converter { body: ResponseBody -> + if (body.contentLength() == 0L) return@Converter null + delegate.convert(body) + }) + } +} \ No newline at end of file