אחרי שמפעילים את המכשיר, אפשר להשתמש בתכונות הבאות:
מאפיין OtaSoftwareUpdateRequestor
המאפיין הזה מספק ממשק למעקב אחרי עדכון תוכנה 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ממשיך לעבד עדכונים כל עוד ה-OTAupdateStateלא נמצא במצב סופי (כמו הצלחה או כישלון).סטטוס האיסוף: בכל שינוי במצב, הבלוק
.collectמופעל כדי לעדכן את המשתניםupdateStateו-updateStateProgressעם הערכים האחרונים מהמאפיין.
מידע נוסף זמין במאמר בנושא OtaSoftwareUpdateRequestor.
מאפיין ConfigurationDone
התכונה הזו לא נדרשת להפעלת המצלמה, אבל היא מאפשרת לאפליקציה לעקוב אחרי השלמת ההגדרה של המכשיר והפיכתו לשימושי, על ידי הגדרת המאפיין AppConfigurationComplete לערך true.
צריך להשתמש במאפיין הזה אחרי המאפיין OtaSoftwareUpdateRequestor.
device.trait(ConfigurationDone).first().update { setAppConfigurationComplete(true) }