MR-84修改前FOTA逻辑
2020-07-31 13:41:13 92 举报
Fota逻辑图
作者其他创作
大纲/内容
2、接收到PollReceiver.updateComplate广播:
PollRecieve
存在
MR-84修改前:(无Scan图库的操作)
Fota完成后重启开机
系统完成开机后:发送BOOT_COMPLETED广播
判断Result文件是否存在
1、SendEmail2、EmailFlag=1
后发生
如果EmailFlag=1并且DialogFlag=1;则Delete result file
MR-84完成需求后:(添加Scan图库的操作)
1、SendEmail2、delete result file
由于FOTA升级完之后需要Scan图库(scan完成后才会启动Launcher),因此Launcher内的广播会延迟发送
2、接收到BOOT_COMPLETED广播:
不存在
Luncher的OnCreate方法中:发送PollReceiver.updateComplate广播
在Fota中添加了SendEmail、ShowDialog的标志位
1、接收到BOOT_COMPLETED广播:
EmailFlag=0、DialogFlag=0
先发生
ShowDialog
结束
注:1、SendEmail、ShowDialog的顺序不是固定的,因为开机重启Scan图库是有前提条件的(图库有图片开机才会去Scan图片)如果开机需要scan图片,那么先执行SendEmail,如果开机没有Scan图片的操作,那么先执行ShowDialog。原因是:Scan过程把Luncher的OnCreate方法中,发送PollReceiver.updateComplate广播操作延迟,导致ShowDialog延迟执行。2、MR-111中出现的问题就是在图库无照片,无需Scan的情况下发生的。
MR-84再次修复后:(无Scan图库的操作)
1、ShowDialog2、DialogFlag=1
EmailFlag=1、DialogFlag=1
无操作
1、接收到PollReceiver.updateComplate广播:
MR-111发生流程:(无Scan图库的操作)
MR-84再次修复后:(有Scan图库的操作)
第二次FOTA过程
注:1、由于第一次FOTA结束后未重置FOTA内EmailFlag、DialogFlag的值,导致开机时EmailFlag=1、DialogFlag=1。2、在先执行ShowDialog,DialogFlag=1之后,由于条件满足,于是Delete result file。(红×处出现问题)3、再执行SendEmail操作时,由于Result已经被Delete,判断为false,于是不会执行SendEmail操作。4、解决办法:在FOTA升级后重置EmailFlag、DialogFlag的值为0。
收藏
收藏
0 条评论
下一页