feat(ui): 添加喷涂活动功能

- 在任务列表活动中为索引3添加喷涂活动启动逻辑
- 注册SprayingActivity到AndroidManifest.xml配置文件中
- 创建SprayingActivity类实现基础布局和离线命令监听
- 添加activity_spraying.xml布局文件包含任务头部、内容区域和操作按钮
- 集成语音控制支持退出、返回等离线命令处理
这个提交包含在:
徐勤民 2026-04-14 17:22:20 +08:00
父节点 5bc1d7c6c9
当前提交 825b03106c
共有 4 个文件被更改,包括 105 次插入2 次删除

查看文件

@ -78,6 +78,9 @@
<activity <activity
android:name=".ui.InspectionActivity" android:name=".ui.InspectionActivity"
android:exported="false" /> android:exported="false" />
<activity
android:name=".ui.SprayingActivity"
android:exported="false" />
<activity <activity
android:name=".ui.MainActivity" android:name=".ui.MainActivity"
android:exported="false" /> android:exported="false" />
@ -110,4 +113,4 @@
android:value="600" /> android:value="600" />
</application> </application>
</manifest> </manifest>

查看文件

@ -0,0 +1,34 @@
package com.nova.brain.glass.ui
import com.nova.brain.glass.R
import com.nova.brain.glass.databinding.ActivitySprayingBinding
import com.nova.brain.glass.helper.OfflineCmdListener
import com.nova.brain.glass.helper.OfflineCmdServiceHelper
import com.xuqm.base.ui.BaseActivity
class SprayingActivity : BaseActivity<ActivitySprayingBinding>() {
override fun getLayoutId(): Int = R.layout.activity_spraying
override fun fullscreen(): Boolean = true
private val listener = object : OfflineCmdListener {
override fun onOfflineCmd(cmd: String) {
runOnUiThread {
when (cmd) {
"退出", "返回", "退回" -> {
finish()
}
}
}
}
}
override fun initData() {
super.initData()
OfflineCmdServiceHelper.addOnLineListener(listener)
}
override fun onDestroy() {
super.onDestroy()
OfflineCmdServiceHelper.removeOnLineListener(listener)
}
}

查看文件

@ -166,7 +166,7 @@ class TaskListActivity :
0 -> startActivity(Intent(this@TaskListActivity, FoActivity::class.java)) 0 -> startActivity(Intent(this@TaskListActivity, FoActivity::class.java))
1 -> startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java)) 1 -> startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java))
2 -> startActivity(Intent(this@TaskListActivity, InspectionActivity::class.java)) 2 -> startActivity(Intent(this@TaskListActivity, InspectionActivity::class.java))
3 -> startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java)) 3 -> startActivity(Intent(this@TaskListActivity, SprayingActivity::class.java))
} }
} }

查看文件

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/app_color_black">
<TextView
android:id="@+id/tvTaskHeader"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/bg_item"
android:text="130喷涂工序要求如下"
android:textColor="#ff40FF5E"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/content"
android:layout_width="0dp"
android:layout_height="300dp"
android:layout_marginTop="10dp"
android:background="@drawable/bg_item"
android:lineHeight="20sp"
android:text="按照喷涂工艺卡要求完成表面清洁、遮蔽、防护、喷涂和固化,记录喷涂批次、环境参数和作业时间,并将过程结果上传。"
android:textColor="#ff40FF5E"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvTaskHeader" />
<TextView
android:id="@+id/reject"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:background="@drawable/bg_item"
android:paddingHorizontal="10dp"
android:paddingVertical="3dp"
android:text="驳回"
android:textColor="#ff40FF5E"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/content" />
<TextView
android:id="@+id/agree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:background="@drawable/bg_item"
android:paddingHorizontal="10dp"
android:paddingVertical="3dp"
android:text="同意"
android:textColor="#ff40FF5E"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@+id/reject"
app:layout_constraintTop_toBottomOf="@+id/content" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>