屏保stop流程
2016-07-07 16:42:34 0 举报
Dream stop流程图
作者其他创作
大纲/内容
触发触摸事件TouchEvent
DreamController.java的stopDream(boolean immediate)
DreamManagerService.java的内部类LocalService的stopDream()
触发GenericMotionEvent
Marks this dream as interactive to receive input events.false,不允许交互,dismiss掉屏保界面。
触发TrackballEvent
调取继承了DreamController中的接口Listener的onDreamStopped方法
DreamService.java的detach()
immediate&&mCurrentDream.mWakingGently
stopDreamLocked(final boolean immediate)
onDreamingStopped();
PhoneWindowManager.java的handleShortPressOnHome()
onWakeUp()
将view从window移除
cleanupDreamLocked()
finish()
unbindService解绑服务
immediate
false
发送一个广播ACTION_DREAMING_STOPPED
重置默认状态,释放锁
注意,此onDreamStopped并非DreamService里的那个
触发按键事件KeyShortcutEvent
true
空方法,DreamService的子类实现此功能
removeWindowToken
stopSelf()
DreamManagerService.java的finishSelf
mInteractive
stopDreamInternal()
0 条评论
下一页