Răsfoiți Sursa

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

- 在任务列表活动中为索引3添加喷涂活动启动逻辑
- 注册SprayingActivity到AndroidManifest.xml配置文件中
- 创建SprayingActivity类实现基础布局和离线命令监听
- 添加activity_spraying.xml布局文件包含任务头部、内容区域和操作按钮
- 集成语音控制支持退出、返回等离线命令处理
徐勤民 2 zile în urmă
părinte
comite
825b03106c

+ 4 - 1
app/src/main/AndroidManifest.xml

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

+ 34 - 0
app/src/main/java/com/nova/brain/glass/ui/SprayingActivity.kt

@@ -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)
+    }
+}

+ 1 - 1
app/src/main/java/com/nova/brain/glass/ui/TaskListActivity.kt

@@ -166,7 +166,7 @@ class TaskListActivity :
             0 -> startActivity(Intent(this@TaskListActivity, FoActivity::class.java))
             1 -> startActivity(Intent(this@TaskListActivity, ReviewActivity::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))
         }
     }
 

+ 66 - 0
app/src/main/res/layout/activity_spraying.xml

@@ -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>