소스 검색

pref: Request.tagOf

drake 1 년 전
부모
커밋
56796ea39b
2개의 변경된 파일7개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 1
      net/src/main/java/com/drake/net/request/RequestBuilder.kt
  2. 6 2
      net/src/main/java/com/drake/net/request/RequestExtension.kt

+ 1 - 1
net/src/main/java/com/drake/net/request/RequestBuilder.kt

@@ -110,7 +110,7 @@ inline fun <reified T> Request.Builder.tagOf(): T? {
 /**
  * 设置OkHttp的tag(通过Class区分的tag)
  */
-inline fun <reified T> Request.Builder.tagOf(value: T) = apply {
+inline fun <reified T> Request.Builder.tagOf(value: T?) = apply {
     tag(T::class.java, value)
 }
 

+ 6 - 2
net/src/main/java/com/drake/net/request/RequestExtension.kt

@@ -98,8 +98,12 @@ inline fun <reified T> Request.tagOf(): T? {
 /**
  * 设置OkHttp的tag(通过Class区分的tag)
  */
-inline fun <reified T> Request.tagOf(value: T) = apply {
-    tags()[T::class.java] = value
+inline fun <reified T> Request.tagOf(value: T?) = apply {
+    if (value == null) {
+        tags().remove(T::class.java)
+    } else {
+        tags()[T::class.java] = value
+    }
 }
 
 /**