类中包含重要内部类KeyguardViewHost,那么我们先看看这个东西
86 private static class KeyguardViewHost extends FrameLayout {
87 private final KeyguardViewCallback mCallback;
88
89 private KeyguardViewHost(Context context, KeyguardViewCallback callback) {
90 super(context);
91 mCallback = callback;
92 }
93
94 @Override
95 protected void dispatchDraw(Canvas canvas) {
96 super.dispatchDraw(canvas);
97 mCallback.keyguardDoneDrawing();
98 }
99 }
显示锁屏的函数show()
105 public synchronized void show() {
112 if (mKeyguardHost == null) {
......................
//实例化keyguardhost容器
113 if (DEBUG) Log.d(TAG, "keyguard host is null, creating it...");
115 mKeyguardHost = new KeyguardViewHost(mContext, mCallback);
145 mViewManager.addView(mKeyguardHost, lp);
.......................
146 }
147
157
158 if (mKeyguardView == null) {
.......................
//往容器中装入Keyguardview
168 mKeyguardHost.addView(mKeyguardView, lp);
170 if (mScreenOn) {
171 mKeyguardView.show();
172 }
.........................
173 }
174
175 // Disable aspects of the system/status/navigation bars that are not appropriate or
176 // useful for the lockscreen but can be re-shown by dialogs or SHOW_WHEN_LOCKED activities.
177 // Other disabled bits are handled by the KeyguardViewMediator talking directly to the
178 // status bar service.
179 int visFlags =
180 ( View.STATUS_BAR_DISABLE_BACK
181 | View.STATUS_BAR_DISABLE_HOME
182 );
183 mKeyguardHost.setSystemUiVisibility(visFlags);
184
185 mViewManager.updateViewLayout(mKeyguardHost, mWindowLayoutParams);
186 mKeyguardHost.setVisibility(View.VISIBLE);
187 mKeyguardView.requestFocus();
188 }
xref : / frameworks / base / policy / src / com / android / internal / policy / impl / LockPatternKeyguardView.java
mKeyguardView的类是L
ockPatternKeyguardView.java