Browse Source

sample: reduce

drake 2 years ago
parent
commit
21c4e3d79a

+ 1 - 2
docs/debounce.md

@@ -21,8 +21,7 @@ et_input.debounce().distinctUntilChanged().launchIn(this) {
     scope?.cancel() // 发起新的请求前取消旧的请求, 避免旧数据覆盖新数据
     scope = scopeNetLife { // 保存旧的请求到一个变量中, scopeNetLife其函数决定网络请求生命周期
         tvFragment.text = "请求中"
-        val data = Get<String>("http://api.k780.com/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json",
-                               absolutePath = true).await()
+        val data = Get<String>("http://api.k780.com/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json").await()
         tvFragment.text = JSONObject(data).getJSONObject("result").getString("datetime_2")
     }
 }

+ 3 - 11
sample/src/main/java/com/drake/net/sample/contract/AlbumSelectContract.kt

@@ -7,23 +7,15 @@ import android.provider.MediaStore
 import androidx.activity.result.contract.ActivityResultContract
 
 class AlbumSelectContract : ActivityResultContract<Unit, AlbumSelectContract.AlbumSelectResult>() {
-    
-    companion object {
-        fun canChoosePhoto(context: Context?): Boolean {
-            val intent = Intent(Intent.ACTION_PICK)
-            intent.type = "image/*"
-            return context?.packageManager?.queryIntentActivities(intent, 0)?.isNotEmpty() == true
-        }
-    }
-    
+
     override fun createIntent(context: Context, input: Unit?): Intent {
         val intent = Intent(Intent.ACTION_PICK)
         intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*")
         return intent
     }
-    
+
     class AlbumSelectResult(val code: Int, val uri: Uri?)
-    
+
     override fun parseResult(resultCode: Int, intent: Intent?): AlbumSelectResult {
         println("AlbumSelectContract >>> selected = ${intent?.data}")
         return AlbumSelectResult(resultCode, intent?.data)

+ 1 - 5
sample/src/main/java/com/drake/net/sample/converter/FastJsonConverter.kt

@@ -24,10 +24,6 @@ import java.lang.reflect.Type
 class FastJsonConverter : JSONConvert(code = "errorCode", message = "errorMsg", success = "0") {
 
     override fun <R> String.parseBody(succeed: Type): R? {
-        return try {
-            JSON.parseObject(JSONObject(this).getString("data"), succeed)
-        } catch (e: Exception) {
-            JSON.parseObject(this, succeed)
-        }
+        return JSON.parseObject(JSONObject(this).getString("data"), succeed)
     }
 }

+ 1 - 5
sample/src/main/java/com/drake/net/sample/converter/GsonConverter.kt

@@ -27,10 +27,6 @@ class GsonConverter : JSONConvert(code = "errorCode", message = "errorMsg") {
     }
 
     override fun <R> String.parseBody(succeed: Type): R? {
-        return try {
-            gson.fromJson(JSONObject(this).getString("data"), succeed)
-        } catch (e: Exception) {
-            gson.fromJson(this, succeed)
-        }
+        return gson.fromJson<R>(JSONObject(this).getString("data"), succeed)
     }
 }