Browse Source

pref: Request.tagOf

drake 1 year ago
parent
commit
56796ea39b

+ 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
+    }
 }
 
 /**