diff --git a/app/build.gradle b/app/build.gradle
index d15bf90..d11cab6 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -78,6 +78,7 @@ dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.3.0'
+ implementation "io.noties.markwon:core:4.6.2"
implementation ('com.rokid.security:glass3.open.sdk:2.1.5-E') {
exclude group: "org.slf4j"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3da7ec8..6d7aba8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -75,6 +75,9 @@
+
diff --git a/app/src/main/java/com/nova/brain/glass/model/ChatItem.kt b/app/src/main/java/com/nova/brain/glass/model/ChatItem.kt
new file mode 100644
index 0000000..211b401
--- /dev/null
+++ b/app/src/main/java/com/nova/brain/glass/model/ChatItem.kt
@@ -0,0 +1,6 @@
+package com.nova.brain.glass.model
+
+import com.xuqm.base.adapter.BaseItem
+
+data class ChatItem(val title: String, val content: String): BaseItem() {
+}
diff --git a/app/src/main/java/com/nova/brain/glass/ui/ChatActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/ChatActivity.kt
new file mode 100644
index 0000000..127f514
--- /dev/null
+++ b/app/src/main/java/com/nova/brain/glass/ui/ChatActivity.kt
@@ -0,0 +1,54 @@
+package com.nova.brain.glass.ui
+
+import android.widget.TextView
+import com.nova.brain.glass.R
+import com.nova.brain.glass.helper.OfflineCmdListener
+import com.nova.brain.glass.helper.OfflineCmdServiceHelper
+import com.nova.brain.glass.model.ChatItem
+import com.nova.brain.glass.viewmodel.ChatVM
+import com.xuqm.base.adapter.BasePagedAdapter
+import com.xuqm.base.adapter.CommonPagedAdapter
+import com.xuqm.base.adapter.ViewHolder
+import com.xuqm.base.ui.BaseListActivity
+import io.noties.markwon.Markwon
+
+class ChatActivity : BaseListActivity() {
+ private val listener = object : OfflineCmdListener {
+ override fun onOfflineCmd(cmd: String) {
+ runOnUiThread {
+ when (cmd) {
+ "退出", "返回", "退回" -> {
+ finish()
+ }
+ }
+ }
+ }
+ }
+private lateinit var markwon: Markwon
+ override fun initData() {
+ super.initData()
+
+ markwon = Markwon.create(this);
+ }
+
+ override fun onResume() {
+ super.onResume()
+ OfflineCmdServiceHelper.addOnLineListener(listener)
+ }
+
+ override fun onPause() {
+ super.onPause()
+ OfflineCmdServiceHelper.removeOnLineListener(listener)
+ }
+
+ private val adapter = object : CommonPagedAdapter(R.layout.item_chat) {
+ override fun convert(holder: ViewHolder, item: ChatItem, position: Int) {
+ holder.setText(R.id.title, item.title)
+
+ val tv = holder.getView(R.id.content)
+ markwon.setMarkdown(tv, item.content);
+ }
+ }
+
+ override fun adapter(): BasePagedAdapter = adapter
+}
diff --git a/app/src/main/java/com/nova/brain/glass/ui/WelcomeActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/WelcomeActivity.kt
index aaa1712..e5989fb 100644
--- a/app/src/main/java/com/nova/brain/glass/ui/WelcomeActivity.kt
+++ b/app/src/main/java/com/nova/brain/glass/ui/WelcomeActivity.kt
@@ -9,6 +9,7 @@ import com.nova.brain.glass.helper.OfflineCmdListener
import com.nova.brain.glass.helper.OfflineCmdServiceHelper
import com.nova.brain.glass.viewmodel.WelcomeVM
import com.xuqm.base.ui.BaseActivity
+import kotlin.jvm.java
class WelcomeActivity : BaseActivity() {
@@ -27,6 +28,7 @@ class WelcomeActivity : BaseActivity() {
binding.btnGet.setOnClickListener { vm.demoGet() }
binding.btnPost.setOnClickListener { vm.demoPost() }
binding.btnSse.setOnClickListener { vm.demoPostSse() }
+ binding.md.setOnClickListener { startActivity(Intent(this@WelcomeActivity, ChatActivity::class.java)) }
}
override fun initData() {
diff --git a/app/src/main/java/com/nova/brain/glass/viewmodel/ChatVM.kt b/app/src/main/java/com/nova/brain/glass/viewmodel/ChatVM.kt
new file mode 100644
index 0000000..1646d54
--- /dev/null
+++ b/app/src/main/java/com/nova/brain/glass/viewmodel/ChatVM.kt
@@ -0,0 +1,46 @@
+package com.nova.brain.glass.viewmodel
+
+import com.nova.brain.glass.model.ChatItem
+import com.xuqm.base.viewmodel.BaseListViewModel
+import com.xuqm.base.viewmodel.callback.Response
+
+
+class ChatVM : BaseListViewModel() {
+ override fun loadData(
+ page: Int,
+ onResponse: Response
+ ) {
+ onResponse.onResponse(arrayListOf().apply {
+ add(
+ ChatItem(
+ "本周周报", """
+## 统计数据截止到:2026年3月19日 1:36
+
+### 纪检Agent3期产品设计】明日到达计划完成时间。
+
+#### *重点关注*:张三【测试运维部】负责的“C大脑-脑实例- V2.24-测试方案设计
+
+ * 当前状态:已延期13天,严重程度为【严重延期】。
+ * 参谋建议:建议高优处理。
+
+""".trimIndent()
+ )
+ )
+ add(
+ ChatItem(
+ "我最紧急的任务是哪个", """
+
+# 标题
+
+这是 **加粗**、*斜体*、~~删除线~~
+
+- 列表1
+- 列表2
+
+[点击跳转](https://openai.com)
+ """.trimIndent()
+ )
+ )
+ })
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml
new file mode 100644
index 0000000..58d80a6
--- /dev/null
+++ b/app/src/main/res/layout/activity_chat.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_welcome.xml b/app/src/main/res/layout/activity_welcome.xml
index de3e36e..c52c31d 100644
--- a/app/src/main/res/layout/activity_welcome.xml
+++ b/app/src/main/res/layout/activity_welcome.xml
@@ -64,13 +64,38 @@
android:textSize="14sp"
android:text="SSE演示" />
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_chat.xml b/app/src/main/res/layout/item_chat.xml
new file mode 100644
index 0000000..26f5a08
--- /dev/null
+++ b/app/src/main/res/layout/item_chat.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/base/build.gradle b/base/build.gradle
index 62638c9..52fb59b 100644
--- a/base/build.gradle
+++ b/base/build.gradle
@@ -1,10 +1,5 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
-apply plugin: 'maven-publish'
-
-// 声明aar包的版本号
-def aarVersion = "0.0.1.101"
-
android {
compileSdkVersion versions.compileSdk
@@ -53,48 +48,4 @@ dependencies {
task sourceJar(type: Jar) {
archiveClassifier.set('sources')
from android.sourceSets.main.java.srcDirs
-}
-afterEvaluate {
- publishing {
- publications {
- // 这里的debug名字是自己起的
- release(MavenPublication) {
- groupId = 'cn.org.bjca.trust.android'
- artifactId = 'base'
- version = aarVersion
- // 这里除了有debug 还有release
- from components.release
- // 运行任务,把源码打进去
- artifact sourceJar
- }
- }
- // 添加仓库地址
- repositories {
- // 本地仓库
-// mavenLocal()
- // 当上传到远端仓库
-// maven {
-// allowInsecureProtocol true
-// url("http://nexus.51trust.net/repository/android-hosted/")
-// credentials {
-// username = "deployment"
-// password = "deployment123"
-// }
-// }
- maven {
- allowInsecureProtocol true
- url("http://xuqinmin.com.cn:8081/repository/android-releases/")
- credentials {
- // 从 local.properties 读取,避免凭据提交到版本控制
- def props = new Properties()
- def localPropertiesFile = rootProject.file("local.properties")
- if (localPropertiesFile.exists()) {
- localPropertiesFile.withInputStream { props.load(it) }
- }
- username = props.getProperty("nexus.username", "")
- password = props.getProperty("nexus.password", "")
- }
- }
- }
- }
}
\ No newline at end of file