SystemUI

链接:【系统解读】SystemUI篇(一)SystemUI启动流程详解  

          https://www.cnblogs.com/andy-songwei/p/11471355.html 

 

四、Keyguard分析

KeyguardService.java类

     完整路径:frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java

     该类是一个Service,主要有如下功能(1)SystemUI启动时的入口。在系统启动的时候SystemServer.java类,会启动该service来启动并初始化SystemUI。onCreate()方法中有一行代码"((SystemUI)getApplication()).startServicesIfNeeded()",一步步跟踪方法详情可以发现,该方法就是开启SystemUI必要的功能。(2)通过AIDL的方式,接收框架部分远程调用,处理一些重要事件。在实例化IKeyguardService.Stub()时,可以看到实现了很多方法,这些方法就是在框架中IKeyguardService.aidl(完整路径frameworks/base/core/java/com/android/internal/policy/IKeyguardService.aidl)中定义的,和解锁相关的方法onFinishedGoingToSleep(...)就在其中。

KeyguardViewMedia.java

      完整路径:frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java

      这个类是解锁屏模块的中介者,以中介的省份处理keyguard状态变化,处理event、power管理、PhoneWindowManager通知等请求,并作为回调对象供解锁屏模块的其它类回调。

 

posted @ 2018-11-28 11:29  宋者为王  阅读(1779)  评论(0编辑  收藏  举报