Просмотр исходного кода

feat(glass): 添加离线命令功能和新页面

- 在 OfflineCmdServiceHelper 中添加退出、返回、退回命令
- 创建 FoActivity 页面用于显示工序要求内容
- 在 TaskListActivity 中添加跳转到 FoActivity 的逻辑
- 设计 activity_fo.xml 布局文件显示工序信息
- 在 AndroidManifest.xml 中注册 FoActivity
徐勤民 2 дней назад
Родитель
Сommit
e085f9d5ac

+ 3 - 0
app/src/main/AndroidManifest.xml

@@ -66,6 +66,9 @@
         android:theme="@style/AppTheme"
         android:usesCleartextTraffic="true"
         tools:replace="android:label">
+        <activity
+            android:name=".ui.FoActivity"
+            android:exported="false" />
         <activity
             android:name=".ui.TaskListActivity"
             android:exported="false" />

+ 3 - 0
app/src/main/java/com/nova/brain/glass/helper/OfflineCmdServiceHelper.kt

@@ -22,6 +22,9 @@ object OfflineCmdServiceHelper {
         add(OfflineCmdBean("上一页", "shang yi ye"))
         add(OfflineCmdBean("查看上一页", "cha kan shang yi ye"))
         add(OfflineCmdBean("继续上一页", "ji xu shang yi ye"))
+        add(OfflineCmdBean("退出", "tui chu"))
+        add(OfflineCmdBean("返回", "fan hui"))
+        add(OfflineCmdBean("退回", "tui hui"))
     }
     fun init(){
         val service = GlassSdk.getGlassOfflineCmdService()

+ 30 - 0
app/src/main/java/com/nova/brain/glass/ui/FoActivity.kt

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

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

@@ -1,5 +1,6 @@
 package com.nova.brain.glass.ui
 
+import android.content.Intent
 import android.os.Bundle
 import androidx.recyclerview.widget.LinearLayoutManager
 import com.nova.brain.glass.R
@@ -86,7 +87,11 @@ class TaskListActivity :
                 .setText(R.id.tv_title, "${position}.张三提交的出差预算申请审核任务,从上海到北京,3月23开始3月24结束,预算金额¥1800元。【已逾期】")
                 .setClickListener(R.id.tv_title
                 ) {
-                    ToolsHelper.showMessage("点击了${position}")
+                    when(position%5){
+                        0 -> {
+                            startActivity(Intent(this@TaskListActivity, FoActivity::class.java))
+                        }
+                    }
                 }
         }
     }

+ 35 - 0
app/src/main/res/layout/activity_fo.xml

@@ -0,0 +1,35 @@
+<?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"
+        xmlns:tools="http://schemas.android.com/tools"
+        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: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:text="采用手工铺贴,按操作规程CD1442要求进行铺贴,将铺层信息填写在表SAMC 31-71《零件铺层信息、生产记录表》中,并扫描上传。 1)I型表面胶膜铺贴最大搭接6mm或对接最大间隙1.5mm。按投影线及工装余量刻线进行铺贴。 2)织物铺层的方向公差为±5°,铺贴中允许搭接13mm~25mm或对接间隙≤1.5mm,拼缝错开至少25mm,同向铺层之间可以每隔4层重复拼缝的错开位置。按投影线及工装余量刻线进行铺贴,加强层铺贴位置公差为投影位置±2.5mm。"
+            android:textColor="#ff40FF5E"
+            android:layout_marginTop="10dp"
+            android:lineHeight="20sp"
+            android:textSize="16sp"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvTaskHeader" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>