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

- 在 OfflineCmdServiceHelper 中添加退出、返回、退回命令
- 创建 FoActivity 页面用于显示工序要求内容
- 在 TaskListActivity 中添加跳转到 FoActivity 的逻辑
- 设计 activity_fo.xml 布局文件显示工序信息
- 在 AndroidManifest.xml 中注册 FoActivity
这个提交包含在:
徐勤民 2026-04-14 14:46:07 +08:00
父节点 2c5878ab90
当前提交 e085f9d5ac
共有 5 个文件被更改,包括 77 次插入1 次删除

查看文件

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

查看文件

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

查看文件

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

查看文件

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

查看文件

@ -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《零件铺层信息、生产记录表》中,并扫描上传。 1I型表面胶膜铺贴最大搭接6mm或对接最大间隙1.5mm。按投影线及工装余量刻线进行铺贴。 2织物铺层的方向公差为±5°,铺贴中允许搭接13mm25mm或对接间隙≤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>