From cae7604cf03691a3cec270e18943bfdd34179b81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Sat, 18 Apr 2026 15:14:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(review):=20=E6=B7=BB=E5=8A=A0=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E6=88=90=E5=8A=9F=E5=BC=B9=E7=AA=97=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在ReviewActivity中引入AlertDialog、Handler和LayoutInflater依赖 - 添加successDialog和uiHandler成员变量用于弹窗管理 - 实现showSuccessDialogThenFinish方法显示成功确认弹窗 - 在同意和回退操作成功后调用弹窗显示而非直接finish - 添加弹窗资源文件dialog_review.xml和背景样式bg_dialog - 修改activity_fo.xml中的提示文本增加查看权限说明 - 在onDestroy中清理弹窗和Handler防止内存泄漏 --- .../com/nova/brain/glass/ui/ReviewActivity.kt | 32 +++++++++++-- app/src/main/res/drawable/bg_dialog.xml | 14 ++++++ app/src/main/res/layout/activity_fo.xml | 2 +- app/src/main/res/layout/dialog_review.xml | 43 ++++++++++++++++++ .../main/res/mipmap-xxhdpi/icon_review.png | Bin 0 -> 3930 bytes 5 files changed, 86 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/drawable/bg_dialog.xml create mode 100644 app/src/main/res/layout/dialog_review.xml create mode 100644 app/src/main/res/mipmap-xxhdpi/icon_review.png diff --git a/app/src/main/java/com/nova/brain/glass/ui/ReviewActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/ReviewActivity.kt index 73ee12d..0e42a3d 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/ReviewActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/ReviewActivity.kt @@ -1,5 +1,9 @@ package com.nova.brain.glass.ui +import android.app.AlertDialog +import android.os.Handler +import android.os.Looper +import android.view.LayoutInflater import androidx.recyclerview.widget.RecyclerView import com.nova.brain.glass.R import com.nova.brain.glass.databinding.ActivityReviewBinding @@ -31,6 +35,8 @@ class ReviewActivity : BaseListFormLayoutNormalActivity if (response.status == 200) { - "已同意".showMessage() - finish() + showSuccessDialogThenFinish() } else { (if (response.msg.isBlank()) "同意失败" else response.msg).showMessage() } @@ -186,8 +193,7 @@ class ReviewActivity : BaseListFormLayoutNormalActivity if (response.status == 200) { - "已回退".showMessage() - finish() + showSuccessDialogThenFinish() } else { (if (response.msg.isBlank()) "回退失败" else response.msg).showMessage() } @@ -196,6 +202,24 @@ class ReviewActivity : BaseListFormLayoutNormalActivity + dialog.window?.setBackgroundDrawableResource(android.R.color.transparent) + dialog.show() + } + uiHandler.postDelayed({ + successDialog?.dismiss() + successDialog = null + finish() + }, 1000L) + } + private val adapter = object : CommonPagedAdapter(R.layout.item_item) { override fun convert(holder: ViewHolder, item: ItemItem, position: Int) { holder diff --git a/app/src/main/res/drawable/bg_dialog.xml b/app/src/main/res/drawable/bg_dialog.xml new file mode 100644 index 0000000..62610c7 --- /dev/null +++ b/app/src/main/res/drawable/bg_dialog.xml @@ -0,0 +1,14 @@ + + + + + + + diff --git a/app/src/main/res/layout/activity_fo.xml b/app/src/main/res/layout/activity_fo.xml index 1867f31..0c9f650 100644 --- a/app/src/main/res/layout/activity_fo.xml +++ b/app/src/main/res/layout/activity_fo.xml @@ -37,7 +37,7 @@ android:layout_marginBottom="56dp" android:gravity="center" android:lineSpacingExtra="6dp" - android:text="双击或语音输入“返回”返回上级页面" + android:text="当前任务只有查看权限\n双击或语音输入“返回”返回上级页面" android:textColor="#4AFE59" android:textSize="14sp" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/layout/dialog_review.xml b/app/src/main/res/layout/dialog_review.xml new file mode 100644 index 0000000..7a70d80 --- /dev/null +++ b/app/src/main/res/layout/dialog_review.xml @@ -0,0 +1,43 @@ + + + + + + + + + + diff --git a/app/src/main/res/mipmap-xxhdpi/icon_review.png b/app/src/main/res/mipmap-xxhdpi/icon_review.png new file mode 100644 index 0000000000000000000000000000000000000000..6f64eec178cd354d1bacd98bf1599c647fe0a389 GIT binary patch literal 3930 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 sEJI9ba#xul3(6?pUi0QXZeFaQ7m literal 0 HcmV?d00001