From 716c34cc544db2358dee5ae30f98be7666f4e818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Tue, 14 Apr 2026 12:49:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(task):=20=E6=B7=BB=E5=8A=A0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=88=97=E8=A1=A8=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=90=AF=E5=8A=A8=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 tesh.sh 脚本用于设备监控和 scrcpy 连接 - 创建 TaskItem 数据模型类 - 实现 TaskListActivity 任务列表界面 - 添加 TaskListVM 视图模型处理数据加载 - 在 WelcomeActivity 中跳转到任务列表页面 - 移除应用中的崩溃处理器初始化 - 添加任务列表背景样式资源文件 - 设计任务列表页面布局和列表项布局 - 更新欢迎页面界面样式和文字内容 - 在 Manifest 中注册任务列表 Activity - 调整应用屏幕尺寸配置为 480x600 - 优化权限配置注释结构 --- app/src/main/AndroidManifest.xml | 39 +++++---------- .../com/nova/brain/glass/MyApplication.java | 9 ++-- .../com/nova/brain/glass/model/TaskItem.kt | 7 +++ .../nova/brain/glass/ui/TaskListActivity.kt | 31 ++++++++++++ .../nova/brain/glass/ui/WelcomeActivity.kt | 2 + .../nova/brain/glass/viewmodel/TaskListVM.kt | 18 +++++++ app/src/main/res/drawable/bg_task_list.xml | 5 ++ .../main/res/layout/activity_task_list.xml | 48 +++++++++++++++++++ app/src/main/res/layout/activity_welcome.xml | 26 ++++++---- app/src/main/res/layout/item_task_list.xml | 15 ++++++ tesh.sh | 31 ++++++++++++ 11 files changed, 191 insertions(+), 40 deletions(-) create mode 100644 app/src/main/java/com/nova/brain/glass/model/TaskItem.kt create mode 100644 app/src/main/java/com/nova/brain/glass/ui/TaskListActivity.kt create mode 100644 app/src/main/java/com/nova/brain/glass/viewmodel/TaskListVM.kt create mode 100644 app/src/main/res/drawable/bg_task_list.xml create mode 100644 app/src/main/res/layout/activity_task_list.xml create mode 100644 app/src/main/res/layout/item_task_list.xml create mode 100644 tesh.sh diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9f7f6f1..ea3ae54 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,22 +6,17 @@ - - + tools:ignore="AllFilesAccessPolicy,ScopedStorage" /> - - - + + - - - + - - - + - - - + - - + tools:targetApi="31" /> - - + android:required="false" /> @@ -63,7 +50,6 @@ - @@ -80,8 +66,9 @@ android:theme="@style/AppTheme" android:usesCleartextTraffic="true" tools:replace="android:label"> - - + @@ -108,10 +95,10 @@ + android:value="480" /> + android:value="600" /> \ No newline at end of file diff --git a/app/src/main/java/com/nova/brain/glass/MyApplication.java b/app/src/main/java/com/nova/brain/glass/MyApplication.java index ab5e444..7c8a659 100644 --- a/app/src/main/java/com/nova/brain/glass/MyApplication.java +++ b/app/src/main/java/com/nova/brain/glass/MyApplication.java @@ -1,10 +1,8 @@ package com.nova.brain.glass; -import com.xuqm.base.App; -import com.xuqm.base.di.component.AppComponent; -import com.xuqm.base.di.manager.HttpManager; -import com.nova.brain.glass.common.CrashHandler; import com.nova.brain.glass.repository.HeaderInterceptor; +import com.xuqm.base.App; +import com.xuqm.base.di.manager.HttpManager; /** * @author xuqm @@ -18,8 +16,7 @@ public class MyApplication extends App { super.onCreate(); appComponent = HttpManager.getAppComponent(baseUrl, new HeaderInterceptor(getApplicationContext())); - CrashHandler.getInstance().init(this); - + } @Override diff --git a/app/src/main/java/com/nova/brain/glass/model/TaskItem.kt b/app/src/main/java/com/nova/brain/glass/model/TaskItem.kt new file mode 100644 index 0000000..f2df5ca --- /dev/null +++ b/app/src/main/java/com/nova/brain/glass/model/TaskItem.kt @@ -0,0 +1,7 @@ +package com.nova.brain.glass.model + +import com.xuqm.base.adapter.BaseItem + +data class TaskItem(val id: String): BaseItem() { + var selected: Boolean = false +} diff --git a/app/src/main/java/com/nova/brain/glass/ui/TaskListActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/TaskListActivity.kt new file mode 100644 index 0000000..80ecc57 --- /dev/null +++ b/app/src/main/java/com/nova/brain/glass/ui/TaskListActivity.kt @@ -0,0 +1,31 @@ +package com.nova.brain.glass.ui + +import android.view.View +import com.nova.brain.glass.R +import com.nova.brain.glass.databinding.ActivityTaskListBinding +import com.nova.brain.glass.model.TaskItem +import com.nova.brain.glass.viewmodel.TaskListVM +import com.xuqm.base.adapter.BasePagedAdapter +import com.xuqm.base.adapter.CommonPagedAdapter +import com.xuqm.base.adapter.ViewHolder +import com.xuqm.base.adapter.callback.AdapterClickListener +import com.xuqm.base.common.ToolsHelper +import com.xuqm.base.ui.BaseListFormLayoutActivity + +class TaskListActivity : + BaseListFormLayoutActivity() { + override fun getLayoutId(): Int = R.layout.activity_task_list + override fun fullscreen(): Boolean = true + private val adapter = object : CommonPagedAdapter(R.layout.item_task_list) { + override fun convert(holder: ViewHolder, item: TaskItem, position: Int) { + holder + .setText(R.id.tv_title, "${position}.张三提交的出差预算申请审核任务,从上海到北京,3月23开始3月24结束,预算金额¥1800元。【已逾期】") + .setClickListener(R.id.tv_title + ) { + ToolsHelper.showMessage("点击了${position}") + } + } + } + + override fun adapter(): BasePagedAdapter = adapter +} \ No newline at end of file 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 6b6b326..4e86424 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 @@ -1,5 +1,6 @@ package com.nova.brain.glass.ui +import android.content.Intent import android.os.Bundle import com.nova.brain.glass.R import com.nova.brain.glass.databinding.ActivityWelcomeBinding @@ -12,6 +13,7 @@ class WelcomeActivity : BaseActivity() { override fun initView(savedInstanceState: Bundle?) { super.initView(savedInstanceState) + startActivity(Intent(this, TaskListActivity::class.java)) } diff --git a/app/src/main/java/com/nova/brain/glass/viewmodel/TaskListVM.kt b/app/src/main/java/com/nova/brain/glass/viewmodel/TaskListVM.kt new file mode 100644 index 0000000..936a386 --- /dev/null +++ b/app/src/main/java/com/nova/brain/glass/viewmodel/TaskListVM.kt @@ -0,0 +1,18 @@ +package com.nova.brain.glass.viewmodel + +import com.nova.brain.glass.model.TaskItem +import com.xuqm.base.viewmodel.BaseListViewModel +import com.xuqm.base.viewmodel.callback.Response + +class TaskListVM: BaseListViewModel() { + override fun loadData( + page: Int, + onResponse: Response + ) { + onResponse.onResponse(arrayListOf().apply { + for (i in 0..10) { + add(TaskItem(i.toString())) + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_task_list.xml b/app/src/main/res/drawable/bg_task_list.xml new file mode 100644 index 0000000..65398fe --- /dev/null +++ b/app/src/main/res/drawable/bg_task_list.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_task_list.xml b/app/src/main/res/layout/activity_task_list.xml new file mode 100644 index 0000000..7fd0fcf --- /dev/null +++ b/app/src/main/res/layout/activity_task_list.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_welcome.xml b/app/src/main/res/layout/activity_welcome.xml index 11c99ac..7d0da0a 100644 --- a/app/src/main/res/layout/activity_welcome.xml +++ b/app/src/main/res/layout/activity_welcome.xml @@ -2,14 +2,24 @@ - + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_task_list.xml b/app/src/main/res/layout/item_task_list.xml new file mode 100644 index 0000000..5fc28cc --- /dev/null +++ b/app/src/main/res/layout/item_task_list.xml @@ -0,0 +1,15 @@ + + \ No newline at end of file diff --git a/tesh.sh b/tesh.sh new file mode 100644 index 0000000..e756702 --- /dev/null +++ b/tesh.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# scrcpy_auto.sh +# 简化的系统监控脚本 + +# 颜色定义 +RED='\033[0;31m' +YELLOW='\033[1;33m' +GREEN='\033[0;32m' +BLUE='\033[0;34m' +CYAN='\033[0;36m' +PURPLE='\033[0;35m' +NC='\033[0m' +BOLD='\033[1m' + +# 开始时间 +START_TIME=$(date +%s) +# 计数器 +COUNTER=0 + +DEVICE=$(adb devices | grep -E '^190[0-9a-zA-Z]+\s+device' | head -1 | awk '{print $1}') + +if [ -z "$DEVICE" ]; then + echo -e "${RED}错误: 未找到连接的设备${NC}" + exit 1 # 退出整个脚本 +fi + + + echo -e "${GREEN} 监控设备: $DEVICE${NC} " + echo -e "${YELLOW}${BOLD}=======================================" + +scrcpy -s $DEVICE \ No newline at end of file