ویژگیهایی که پساز آمادهسازی دستگاه میتوان از آنها استفاده کرد عبارتاند از:
ویژگی 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) }