STK解析---菜单点击处理流程
STK菜单点击处理流程
1、引言
对于sim卡的stk这块,其处理逻辑十分复杂,在此以点击其菜单为例,来分析其整个处理逻辑,对于modem侧在此不作分析,重点解析rild以上的事务和数据流向。
2、时序图
2.1 点击处理流程
注意:流程仅仅是当点击某一个menu的一系列操作,此将对应的内容传递到rild中,显然该流程仅仅是开始,这边厢modem根据传递过来的命令将数据返回在第二个流程里。
2.2 rild返回数据流程
注意:该流程是指rild返回数据给stk中间对这些数据的解析过程,解析之后的rildMessage就会传到stk,通过接受广播的形式
3、流程简析
3.1 STK 的处理
1)开启会话,超时结束
对于stk,当我们点击其某个menu后,会向下汇报数据,这时stk界面上会等待,这个等待不是说一直等待,你不会返回数据我就一直等到死为止,那肯定不可能,大家也知道这点,所以在这里有一个10秒的延迟时间,到时还没有数据更新此时就直接结束当前会话。
2)将请求发送到rild
上图2.1就是发送请求到rild
这里将我们需要的请求打包成rilMessage然后通过rild发送到modem侧;
3.2 rild返回数据给stk
rild接受到发送的请求后将对应数据给modem侧,modem得知后根据相关的命令,将对应数据返回,中间层做了一大堆的逻辑处理,主要是解析modem侧发送过来的数据,将对应数据解析后通过广播发送到stk,stk更新ui,如果之间stk没有接收到数据则超时,就会回到主界面去。
4、总结
对于该流程没有一个函数一个函数的解析,会在后面对中间的流程进行细化,敬请关注谢谢!