From 26733cf6c3513b9d9be953d4db1683295ad94fec Mon Sep 17 00:00:00 2001 From: HuanCheng65 <22636177+HuanCheng65@users.noreply.github.com> Date: Sun, 7 Aug 2022 16:57:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tieba/post/activities/ThreadActivity.kt | 14 +++++++------- .../post/api/interfaces/CommonAPICallback.java | 7 ------- .../tieba/post/api/retrofit/ApiResult.kt | 6 +++--- .../tieba/post/utils/KeyEventManager.kt | 8 +------- 4 files changed, 11 insertions(+), 24 deletions(-) delete mode 100644 app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/CommonAPICallback.java diff --git a/app/src/main/java/com/huanchengfly/tieba/post/activities/ThreadActivity.kt b/app/src/main/java/com/huanchengfly/tieba/post/activities/ThreadActivity.kt index 632993b8..20545100 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/activities/ThreadActivity.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/activities/ThreadActivity.kt @@ -31,7 +31,7 @@ import com.huanchengfly.tieba.post.adapters.ThreadHeaderAdapter import com.huanchengfly.tieba.post.adapters.ThreadMainPostAdapter import com.huanchengfly.tieba.post.adapters.ThreadReplyAdapter import com.huanchengfly.tieba.post.api.TiebaApi -import com.huanchengfly.tieba.post.api.interfaces.CommonAPICallback +import com.huanchengfly.tieba.post.api.interfaces.CommonCallback import com.huanchengfly.tieba.post.api.models.AgreeBean import com.huanchengfly.tieba.post.api.models.CommonResponse import com.huanchengfly.tieba.post.api.models.ThreadContentBean @@ -616,7 +616,7 @@ class ThreadActivity : BaseActivity(), View.OnClickListener, IThreadMenuFragment } } - private fun collect(commonAPICallback: CommonAPICallback?, update: Boolean) { + private fun collect(commonCallback: CommonCallback?, update: Boolean) { if (dataBean == null || threadId == null) return val postListItemBean = firstVisibleItem ?: return TiebaApi.getInstance() @@ -624,9 +624,9 @@ class ThreadActivity : BaseActivity(), View.OnClickListener, IThreadMenuFragment .enqueue(object : Callback { override fun onFailure(call: Call, t: Throwable) { if (t is TiebaException) { - commonAPICallback?.onFailure(t.code, t.message) + commonCallback?.onFailure(t.code, t.message) } else { - commonAPICallback?.onFailure(-1, t.message) + commonCallback?.onFailure(-1, t.message) } } @@ -634,7 +634,7 @@ class ThreadActivity : BaseActivity(), View.OnClickListener, IThreadMenuFragment call: Call, response: Response ) { - commonAPICallback?.onSuccess(response.body()!!) + commonCallback?.onSuccess(response.body()!!) } }) @@ -686,7 +686,7 @@ class ThreadActivity : BaseActivity(), View.OnClickListener, IThreadMenuFragment DialogUtil.build(this) .setMessage(R.string.message_update_store_floor) .setPositiveButton(R.string.button_yes) { dialog: DialogInterface, _ -> - collect(object : CommonAPICallback { + collect(object : CommonCallback { override fun onSuccess(data: CommonResponse) { Toast.makeText( this@ThreadActivity, @@ -994,7 +994,7 @@ class ThreadActivity : BaseActivity(), View.OnClickListener, IThreadMenuFragment }) } else { - collect(object : CommonAPICallback { + collect(object : CommonCallback { override fun onSuccess(data: CommonResponse) { Toast.makeText( this@ThreadActivity, diff --git a/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/CommonAPICallback.java b/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/CommonAPICallback.java deleted file mode 100644 index d93ccad4..00000000 --- a/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/CommonAPICallback.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.huanchengfly.tieba.post.api.interfaces; - -public interface CommonAPICallback { - void onSuccess(T data); - - void onFailure(int code, String error); -} \ No newline at end of file diff --git a/app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/ApiResult.kt b/app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/ApiResult.kt index 043eb157..1910f5b1 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/ApiResult.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/ApiResult.kt @@ -4,10 +4,10 @@ import kotlinx.coroutines.Deferred import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext -interface ApiResult { - class Success(val data: Data) : ApiResult +sealed interface ApiResult { + data class Success(val data: Data) : ApiResult - class Failure(val error: Throwable) : ApiResult + data class Failure(val error: Throwable) : ApiResult } val ApiResult<*>.isSuccessful: Boolean diff --git a/app/src/main/java/com/huanchengfly/tieba/post/utils/KeyEventManager.kt b/app/src/main/java/com/huanchengfly/tieba/post/utils/KeyEventManager.kt index 87762708..56067dba 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/utils/KeyEventManager.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/utils/KeyEventManager.kt @@ -20,13 +20,7 @@ private class KeyEventManager : View.OnKeyListener { } fun V.bindKeyEvent(keyCode: Int, action: (V) -> Unit) { - val keyEventManager: KeyEventManager - if (onKeyListener !is KeyEventManager<*>) { - keyEventManager = KeyEventManager() - setOnKeyListener(keyEventManager) - } else { - keyEventManager = onKeyListener as KeyEventManager - } + val keyEventManager = getKeyEventManager() keyEventManager.bindKeyEvent(keyCode, action) }