Skip to content

feat(android): 支援未知 Canon 屬性診斷 - #124

Merged
js051 merged 1 commit into
mainfrom
feat/android-usb-vendor-settings-v2
Aug 9, 2026
Merged

feat(android): 支援未知 Canon 屬性診斷#124
js051 merged 1 commit into
mainfrom
feat/android-usb-vendor-settings-v2

Conversation

@js051

@js051 js051 commented Aug 9, 2026

Copy link
Copy Markdown
Owner

變更內容

  • 解析 Canon EOS 0xC1890xC18A 事件中的未知 vendor property 結構
  • USB backend 最多保留 64 組去重後的 property/event 證據,並在診斷 JSON 標示截短狀態
  • 診斷僅包含代碼、事件類型、block/payload 長度與可選的 list type/count,不保存未知值、raw bytes、文字或 custom-function 內容
  • 依固定版 libgphoto2 與 R6 Mark III 快照,將無可靠範圍/語意/readback 契約的剩餘欄位維持為 Research,不建立假控制項
  • 修正 Android direct USB MTP 媒體評分已實作但功能狀態文件仍標示 planned 的落差

原因

新版韌體或其他 EOS 機型可能公告目前尚未映射的 Canon property。先前解析器會直接忽略這些事件,導致診斷無法區分「相機沒有公告」與「相機公告了未知結構」。本變更保留最小且不含內容的協定證據,讓後續真機回報可用於安全映射,同時避免洩漏相機 metadata 或把未證實指令暴露到一般 UI。

驗證

  • testDebugUnitTest: 386 tests,0 failures
  • lintDebug
  • assembleDebug
  • 受影響的 CanonEosPtpTestUsbPtpCameraBackendTest 再次單獨通過
  • staged Gitleaks: 0 leaks
  • pre-commit / pre-push Gitleaks: 0 leaks

@js051
js051 marked this pull request as ready for review August 9, 2026 17:26
@js051
js051 merged commit aa9ced7 into main Aug 9, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant