Commit Graph

7 Commits

Author SHA1 Message Date
阿猫
3cb82169b6 task(efd8bad2-98f6-4ca6-b0e2-06d5f557b43f): Add M4 collect & BLE module (scan/connect/parse/excite/queue)
补偿提交:归档自动提交(commitOnArchive)未落盘,由主聊天代为补交 S-M4 全部源码变更(16 新 + 4 改 + 1 删)。
- core:ble:BleDriver/BleConnection 抽象 + SystemBleDriver/FakeBleDriver(演示模式,协议精确样例帧)/SwitchableBleDriver;BleSession 四态状态机(Ready)、MTU 协商、API 33+ 回调签名,修复 notifyBytes 自建 listener 收不到回调的骨架缺陷
- app:feature/collect 九件套(权限分版动线/扫描/连接/会话编排/退避重连/激励下发/MonitorValue payload 入队/测点源 M5 预留接口),Tab.COLLECT 换挂 CollectWorkspaceFragment,删除占位 CollectFragment
- 修正存量协议测试断言:接口文档 140V 系算术笔误,按公式口径应为 140.39
验证::app:assembleDebug BUILD SUCCESSFUL(app-debug.apk 8.6MB);单测 15/15 绿(协议 12 + payload 3)
2026-09-04 01:55:48 +08:00
阿猫
85a144459e task(62a18e54-9143-4263-9927-83f1631aa54c): Add M3 task management module (2.6/2.7 task lists and detail)
S-M3 deliverables: TaskApi (2.6 GetUserPlanGroup / 2.7 GetPlanGroup),
TaskModels, feature/task package (Repository/ViewModel/Workspace/Detail/ListAdapter),
layouts and resources; FeatureMount Tab.TASK mounted; placeholder TaskFragment removed.
CommitOnArchive was stuck after staging; committed by master chat as compensation.
2026-09-04 00:42:54 +08:00
阿猫
ddd5009bb1 task(0a00ccbd-6f98-4730-adf2-6f1e864823de): Mount M2 project workbench home and modernize M1 layouts
- FeatureMount: HOME tab now mounts ProjectWorkspaceFragment; delete placeholder HomeFragment
- app/build.gradle.kts + libs.versions.toml: add androidx recyclerview and swiperefreshlayout for project list and pull-to-refresh
- NetworkModule: register ProjectApi (M2 2.5.1.1 GetProjectList) via provideProjectApi
- SessionRepository: add SessionState.Restoring as initial state so cold start renders neutral loading instead of prompting login
- MineFragment/layout: consumer-grade flow with horizontal identity card (whole card acts as login CTA when signed out), config warning card, grouped settings rows; drop back button and manual refresh entry
- MineViewModel: remove manual refresh(); session restore is now automatic on cold start
- LoginFragment/layout: MaterialToolbar back, segmented MaterialButtonToggleGroup for account/SMS mode, TextInputLayout floating-label inputs, linear progress below button
- ConfigFragment/ChangePasswordFragment layouts: unify back navigation to Toolbar, switch plain EditTexts to TextInputLayout, replace ProgressBar with LinearProgressIndicator
- strings.xml: add M2 home workbench copy and mine/login labels; remove unused action_back, mine_login, mine_refresh, mine_config_ready, mine_logout_confirm
2026-09-03 23:50:20 +08:00
❀ » Cato Sweeney. ❀ » Console@the.bb
dec274b1af * 2026-09-03 17:14:31 +08:00
阿猫
8854ff4288 task(1ff499d8-9640-4cda-a068-b52bac9f6731): Fix login response contract deviation blocking real device login
- Change AuthApi login and getUserInfo return types to ApiEnvelope<JsonElement>
- Add tokenFromData to handle both string and {"Token":"..."} object responses
- Add userInfoFromData to handle both flat UserInfo and {"UserInfo":"<escaped JSON>"} responses
- Inject Json into SessionRepository for unified deserialization
- Update signIn flow to extract token and user info through unified helpers
- Add contract tolerance documentation explaining V4.5 spec vs test environment behavior
2026-09-03 14:44:30 +08:00
阿猫
ee8238020a task(f4b5cc37-e27d-480a-ac94-f78a8b24a4d1): Implement M1 account and session module with e2e tests
- Add AuthApi with 5 endpoints (LoginByAccount, LoginByMobile, etc.)
- Implement dual-layer envelope unwrapping in ApiCaller for HTTP 500 + ASP.NET exceptions
- Add DynamicBaseUrlInterceptor for runtime server switching
- Implement SessionRepository with login state management and token persistence
- Add Mine/Login/Config/ChangePassword UI with ViewBinding and state machines
- Replace placeholder MineFragment with business implementation
- Hide bottom navigation when sub-pages are on back stack
- Add 33 new strings and login_error color resource
- Provide AuthApi in NetworkModule DI
- Verified: 5/5 e2e negative tests passed, dual unwrapping works on real responses
2026-09-03 13:44:40 +08:00
阿猫
e96e92d7ab * 2026-09-03 12:38:16 +08:00