摘要: 写这么长的分析,写到后面就比较懒了,呵呵。 这一系列的分析,只是分析了一个比较完整的主要流程,很多细节并没有分析。总体感觉这些代码写的还是比较乱的,可能很大原因是JS的灵活性和desktop browser模块的服用吧。 TODO: 画一张比较完成的流程图。 阅读全文
posted @ 2015-08-05 18:13 coding4范儿 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 这篇分析已经是尾声了,在UpdatePrompt中,调用了UpdateService的applyOsUpdate函数。1. UpdateService.applyOsUpdate 这个函数很简单,就是获取到update.zip以后,调用recovery service去完成更新。 apply... 阅读全文
posted @ 2015-08-05 18:10 coding4范儿 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 当download完成时,又回到了UpdatePrompt,因为此时需要提示user下载完成,确认apply。1. UpdatePrompt.showUpdateDownloaded showUpdateDownloaded: function UP_showUpdateDownloaded(... 阅读全文
posted @ 2015-08-05 18:04 coding4范儿 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 前面分析了这么多,还没有真正的走到download流程。这篇就去了解真正的downloader。1. UpdateService.downloadUpdate 看来这正的worker就是最后new出来的Downloader。downloadUpdate: function AUS_downlo... 阅读全文
posted @ 2015-08-05 17:44 coding4范儿 阅读(559) 评论(0) 推荐(0) 编辑
摘要: UpdatePrompt接收Gaia返回的'update-available-result'消息,进行下一步处理。1. UpdatePrompt.handleEvent handleEvent: function UP_handleEvent(evt) { if (evt.type !=... 阅读全文
posted @ 2015-08-05 14:23 coding4范儿 阅读(476) 评论(0) 推荐(0) 编辑
摘要: SystemApp中的UpdateManager作为gaia和gecko的通信桥梁,会接收gecko中UpdatePrompt发送的'update-available'事件。1. UpdateManager.handleEventvar detail = evt.detail;if (detai... 阅读全文
posted @ 2015-08-05 14:07 coding4范儿 阅读(625) 评论(0) 推荐(0) 编辑
摘要: 当通过Checker检测到update以后,会通知UpdatePrompt中的updateCheckListener。1.UpdateCheckListener.onCheckCompleteonCheckComplete: function UCL_onCheckComplete(reques... 阅读全文
posted @ 2015-08-05 11:11 coding4范儿 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 虽然代码分析了很多,但是还没有真正做check的工作,下面就来找到真正的checker。 代码位置:gecko/toolkit/mozapps/update/nsUpdateService.js。参考之前的(FFOS Gecko & Gaia) OTA - 代码模块总览,nsUpdateSer... 阅读全文
posted @ 2015-08-05 10:45 coding4范儿 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 代码位置:gecko/b2g/components/UpdatePrompt.js SystemApp发出'force-update-check'事件,也就从gaia进入到了gecko层。1. 首先大概介绍一下UpdatePrompt.js。 (a)UpdatePrompt.js里包含了2个... 阅读全文
posted @ 2015-08-05 09:31 coding4范儿 阅读(311) 评论(0) 推荐(0) 编辑