Repository navigation
Open EOS Control 0.10.0 Development Preview
Pre-release
Pre-release
Open EOS Control v0.10.0 Development Preview
繁體中文
0.10.0 新增 Android 直接下載至系統相簿的操作,因此採 minor 版號。仍是 Development Preview,不是穩定版;本輪只推進 Android,不代表所有相機功能已完成。
Android 變更
- Android 10 以上,系統認識的照片/影片原檔預設存到
Pictures/<相機型號>/。在 HTC 上查證 Camera Connect 的 JPEG/MP4 路徑為Pictures/Canon EOS R6 Mark III/,本版依此對齊;不代表所有手機或 Camera Connect 版本皆相同。 - 單張與多選使用循序、可取消的下載流程,完成後顯示位置。待完成檔案先隱藏,串流及長度驗證成功才公開;失敗/取消清除該次暫存,重名不覆蓋既有照片。保留原始位元組與內嵌 metadata,不轉碼或偽造拍攝時間。
- 「另存至其他資料夾」仍可使用。系統不接受的格式(HTC API 34 包含 CR3)及 Android 8/9 使用系統檔案選擇器;混合選取包含未支援格式時,整批使用同一個自選資料夾。
- 最近項目的日期每 8 筆漸進更新,全卡片模式保留已知日期。離開格子的縮圖請求取消;下載時暫停未完成的卡片遍歷與縮圖,減少競爭。大量同日/未知日期項目改用線性分組,排序預先解析日期。
驗證與限制
- 功能 PR #192 通過 exact-head CI 與 main acceptance,包括 Android unit/lint/build 與 API 34/36 UI 測試。
- 本地 513 項 Android 單元測試、lint(0 errors)與 App/測試 APK 建包通過。HTC API 34 通過 10 項新增儲存/相簿測試及 114 項既有畫面回歸,共 124 項,使用隔離
.debugApp、合成媒體與本機 MockWebServer。原檔 JPEG 串流、含時區 EXIF 索引、重名、取消、截斷與重試均有測試。 - 相機未連線,本輪未發送實體相機命令。 R6 Mark III 大卡片、弱網傳輸及實拍對焦仍待真機確認。合成 MP4/CR2 僅驗證原樣儲存,不代表解碼驗收。
- 不保證第三方相簿可解碼所有 RAW;未知日期不假定為最近,缺少時區/metadata 的系統相簿日期由 Android 決定。長度一致不等於來源 checksum 已驗證。
- 未新增跨程序可恢復下載佇列;程序強殺後未公開檔案由 Android pending 到期機制處理,不宣稱立即清理。不自動刪除相機原檔。
- PC/iOS 只對齊版本,未同步此 Android 相簿行為。Camera Import artifact
1.1.0/wire1.0及 Serein 契約不變。
完整依據:Android 相簿與下載位置。
安裝與發行檔
- Android:
open-eos-control-android-0.10.0-debug.apk,versionCode=26。沿用固定開發簽章及 Preview package,可更新同簽章舊 Preview,不覆蓋隔離.debug測試 App。 - PC:版本對齊的 Windows x64 Bridge executable、Python wheel 與 source distribution;沒有新增 Android 相簿行為。
- iOS:原始碼與 iPhone Simulator CI,沒有可直接安裝的已簽署 IPA。
- 另附 Camera Import ZIP/Kotlin JAR、
BUILD-PROVENANCE.json與SHA256SUMS.txt。專用 Actions workflow 發布 exact-main immutable candidate,不手動重建替換資產。
English
0.10.0 adds a direct Android system-gallery download flow, warranting a minor version. It remains a Development Preview, not a stable release or a claim that all camera features are complete. Product changes are Android-only.
Android Changes
- On Android 10+, system-recognized photo/video originals default to
Pictures/<camera model>/. Camera Connect JPEG/MP4 entries on the tested HTC usePictures/Canon EOS R6 Mark III/; this release matches that observed path, not a universal promise across phones or Camera Connect versions. - Single and multi-select downloads run sequentially, support cancellation, and show their destination. Pending items stay hidden until streaming and length checks succeed. Failure/cancellation removes this attempt's item; duplicate names never overwrite existing photos. Original bytes and embedded metadata are preserved without transcoding or fabricated capture dates.
- Save to another folder remains available. Unsupported formats (including CR3 on the tested HTC API 34) and Android 8/9 use the system file picker. Mixed selections containing unsupported formats use one chosen folder for the entire batch.
- Recent metadata appears in batches of eight, and full-card browsing retains known dates. Off-screen thumbnail requests are cancelled; downloads pause incomplete card traversal and thumbnail work. Large same-date/unknown-date groups use linear accumulation, and sorting parses dates once per item.
Evidence And Limitations
- Feature PR #192 passed exact-head CI and main acceptance, including Android unit/lint/build and API 34/36 UI tests.
- Local validation passed 513 Android unit tests, lint with zero errors, and App/test APK builds. HTC API 34 passed 10 new storage/gallery tests plus 114 existing screen tests: 124 unique tests using an isolated
.debugApp, synthetic media, and local MockWebServer. Coverage includes original JPEG streaming, timezone-aware EXIF indexing, duplicate names, cancellation, truncation, and retry. - No physical camera was connected or commanded. R6 Mark III large-card, weak-network transfer, and optical focus validation remain pending. Synthetic MP4/CR2 tests demonstrate unchanged storage bytes, not decoding support.
- Third-party RAW decoding is not guaranteed. Unknown dates are not assumed recent; Android determines gallery dates for files lacking timezone/metadata. Matching lengths do not constitute a verified source checksum.
- No process-resumable download queue is added. Android expires unpublished pending items after process death; immediate cleanup is not claimed. Camera originals are never automatically deleted.
- PC/iOS versions are aligned without this Android gallery behavior. Camera Import artifact
1.1.0/ wire1.0and the Serein contract remain unchanged.
See Android gallery/download evidence.
Distribution
open-eos-control-android-0.10.0-debug.apk,versionCode=26, retains the persistent development signer and Preview package for matching older Preview upgrades, separate from the isolated.debugtest App.- Version-aligned PC assets include the Windows x64 Bridge executable, wheel, and source distribution, without Android gallery parity. iOS remains source plus Simulator CI, without an installable signed IPA.
- Camera Import ZIP/Kotlin JAR, provenance, and checksums accompany the release. The dedicated Actions workflow promotes the exact-main immutable candidate; assets are not manually rebuilt or substituted.