ลักษณะหลังการเปิดใช้สำหรับการเริ่มต้นใช้งานกล้อง

คุณสมบัติที่ใช้ได้หลังจากที่คอมมิชชันอุปกรณ์แล้วมีดังนี้

ลักษณะภาษา OtaSoftwareUpdateRequestor

   ติดตั้งใช้งานในแอปตัวอย่างสำหรับ Android   

คุณลักษณะนี้มีอินเทอร์เฟซสำหรับตรวจสอบการอัปเดตซอฟต์แวร์ OTA ในอุปกรณ์กล้อง เมื่อเปิดใช้งานแล้ว กล้องจะเริ่มอัปเดตและรายงานสถานะไปยังแอป เมื่อแอปได้รับสถานะว่าการอัปเดตซอฟต์แวร์เสร็จสมบูรณ์แล้ว กล้องจะเริ่มไลฟ์สดได้

โค้ดตัวอย่างและคำอธิบายต่อไปนี้แสดงวิธีใช้ลักษณะภาษา

withTimeout(OTA_TIMEOUT_MS) {
  device.type(OtaRequestorDevice)
    .mapNotNull { it?.trait(OtaSoftwareUpdateRequestor) }
    .distinctUntilChanged()
    .transformWhile { trait ->
      emit(trait)
      !isTerminalState(trait.updateState)
    }
    .collect { trait ->
      updateState = trait.updateState
      updateStateProgress = trait.updateStateProgress
    }
}
  • การหมดเวลา: withTimeout บังคับใช้ระยะเวลาสูงสุด (OTA_TIMEOUT_MS) สำหรับกระบวนการตรวจสอบ หากการอัปเดตไม่เสร็จสมบูรณ์ภายในเวลานี้ ระบบจะหมดเวลา

  • การสังเกตการเปลี่ยนแปลงลักษณะ: โอเปอเรเตอร์ .distinctUntilChanged() ช่วยให้มั่นใจได้ว่าโค้ดที่ตามมาในเชนจะตอบสนองเมื่อสถานะของ ลักษณะเปลี่ยนไปจริงๆ เท่านั้น ซึ่งทำให้มีประสิทธิภาพมากกว่าการ สำรวจอย่างต่อเนื่อง

  • ประมวลผลจนเสร็จสมบูรณ์: โอเปอเรเตอร์ .transformWhile จะประมวลผลการอัปเดตต่อไปตราบใดที่ updateState OTA ยังไม่เป็นสถานะสิ้นสุด (เช่น สำเร็จหรือล้มเหลว)

  • การรวบรวมสถานะ: สำหรับการเปลี่ยนแปลงสถานะแต่ละครั้ง ระบบจะเรียกใช้บล็อก .collect เพื่ออัปเดตตัวแปร updateState และ updateStateProgress ด้วย ค่าล่าสุดจากลักษณะ

ดูข้อมูลเพิ่มเติมได้ที่ OtaSoftwareUpdateRequestorการอ้างอิงลักษณะ

ลักษณะภาษา ConfigurationDone

คุณไม่จำเป็นต้องใช้ลักษณะนี้ในการเปิดใช้งานกล้อง แต่จะช่วยให้แอป ติดตามได้เมื่ออุปกรณ์ตั้งค่าและพร้อมใช้งานอย่างเต็มรูปแบบโดยการตั้งค่าแอตทริบิวต์ AppConfigurationComplete เป็น true คุณควรใช้ลักษณะนี้หลังจากลักษณะ OtaSoftwareUpdateRequestor

device.trait(ConfigurationDone).first().update { setAppConfigurationComplete(true) }