From 638bdf7ff1bef15370fabe6ed6bde8f2e80dad8a Mon Sep 17 00:00:00 2001 From: HuanCheng65 <22636177+HuanCheng65@users.noreply.github.com> Date: Thu, 5 Oct 2023 18:34:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E5=B1=8F=E8=94=BD?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8E=E9=9C=80=E9=87=8D=E5=90=AF=E7=94=9F?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tieba/post/activities/UserActivity.kt | 25 +++++++++---------- .../tieba/post/utils/BlockManager.kt | 11 ++++++++ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/huanchengfly/tieba/post/activities/UserActivity.kt b/app/src/main/java/com/huanchengfly/tieba/post/activities/UserActivity.kt index 55b287b5..be064b21 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/activities/UserActivity.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/activities/UserActivity.kt @@ -12,7 +12,6 @@ import android.view.MenuItem import android.view.View import android.widget.ImageView import android.widget.TextView -import android.widget.Toast import androidx.viewpager.widget.ViewPager import butterknife.BindView import butterknife.OnClick @@ -231,21 +230,21 @@ class UserActivity : BaseActivity() { override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { R.id.menu_block_black, R.id.menu_block_white -> { - profileBean?.user?.let { + profileBean?.user?.let { user -> val category = if (item.itemId == R.id.menu_block_black) Block.CATEGORY_BLACK_LIST else Block.CATEGORY_WHITE_LIST - Block( - category = category, - type = Block.TYPE_USER, - username = it.name, - uid = it.id.toString() - ).saveAsync() - .listen { success: Boolean -> - if (success) { - Toast.makeText(this, R.string.toast_add_success, Toast.LENGTH_SHORT) - .show() - } + BlockManager.addBlockAsync( + Block( + category = category, + type = Block.TYPE_USER, + username = user.name, + uid = user.id.toString() + ) + ) { + if (it) { + toastShort(R.string.toast_add_success) } + } } return true } diff --git a/app/src/main/java/com/huanchengfly/tieba/post/utils/BlockManager.kt b/app/src/main/java/com/huanchengfly/tieba/post/utils/BlockManager.kt index dc107022..8086dc57 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/utils/BlockManager.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/utils/BlockManager.kt @@ -26,6 +26,17 @@ object BlockManager { blockList.add(block) } + fun addBlockAsync( + block: Block, + callback: ((Boolean) -> Unit)? = null, + ) { + block.saveAsync() + .listen { + callback?.invoke(it) + blockList.add(block) + } + } + fun removeBlock(id: Long) { LitePal.delete(id) blockList.removeAll { it.id == id }