您的位置:首页 > 其它

Keyguard显示流程介绍

2016-08-31 16:56 316 查看
     Keyguard显示流程介绍:Keyguard是作为一个java lib库供SystemUI使用

      系统解屏流程:

       PhoneStatusBar的方法makeStatusBarView加载布局super_status_bar,此布局包含三个部分:1、PhoneStatusBarView;2、PanelHolder ;3、ScrimView  其中还有keyguard_bouncer,不是直接在layout布局加入,只有用户设置锁屏保护后才可见,PhoneStatusBarView 主要用来显示最上面那一栏,即系统状态等,PanelHolder是用户下拉后得到的view,keyguard_bouncer是解锁界面,无论哪种解锁模式,都是在KeyguardBouncer类中加载进来的

现在分析keyguard_bouncer在什么时候被加载,加载的具体过程

在StatusBarKeyguardViewManager的showBouncerOrKeyguard方法中加载KeyguardBouncer,调用了KeyguardBouncer的prepare的方法,加载了keyguard_bouncer布局,include了keyguard_host_view 布局,在这个布局中包含了KeyguardSecurityContainer,在这个类中getSecurityView根据不同的SecurityMode(KeyguardSecurityModel的getSecurityMode方法控制)返回不同的layout布局文件,KeyguardSecurityViewFlipper加载了这个布局返回的view,假设我们加载的是KeyguardPatternView,在布局keyguard_pattern_view中就会加载LockPatternView

systemReady showkeyguard大致流程:



screen off show keyguard大致流程:



keyguard_bouncer的加载流程
keyguard_bouncer include KeyguardHostView;
keyguard_host_view include KeyguardSecurityContainer
KeyguardSecurityContainer include KeyguardSecurityViewFlipper
KeyguardSecurityViewFlipper 方法getSecurityView()返回当前展示的view
假设当前view是 KeyguardPatternView
keyguard_pattern_view.xml:
part 1,keyguard_message_area
part 2,LockPatternView
part 3,keyguard_eca
LockPatternView 捕捉用户触摸动画
KeyguardPatternView 定义了回调在LockPatternView 去匹配图案



   

个人联系方式:15010399702@163.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: