總結起來,Android4.0的鎖屏機制和2.3區別不大,以下的類之間的調用關係基於高通平台8x25,可能這張圖並不是太清晰,忍者看唄,希望對你有所協助。特別是做鎖屏的童鞋。
以下的類調用關係只是從KeyguardViewMediator.onSystemReady()方法說起,更上面的PhoneWindowManager等沒有涉及。
涉及的類的位置:
1.1 /frameworks/base/core/java/com.android.internal.widget
|_AbsActionBarView.java
|_ActionBarContainer.java
|_ActionBarContextView.java
|_ActionBarView.java
|_DialogTitle.java
|_DigitalClock.java
|_DrawableHolder.java
|_EditableInputConnection.java
|_LinearLayoutWithDefaultTouchRecepient.java
|_LockPatternUtils.java
|_LockPatternView.java
|_LockScreenWidgetCallback.java
|_LockScreenWidgetInterface.java
|_PasswordEntryKeyboard.java
|_PasswordEntryKeyboardHelper.java
|_PasswordEntryKeyboardView.java
|_PointerLocationView.java
|_RotarySelector.java
|_ScrollingTabContainerView.java
|_SlidingTab.java
|_Smileys.java
|_TextProgressBar.java
|_TransportControlView.java
|_WaveView.java
|_WeightedLinearLayout.java
|_IRemoteViewsAdapterConnection.aidl
|_IremoteViewsFactory.aidl
|_Ease.java
|_MultiWaveView.java
|_TargetDrawable.java
|_Tweener.java
1.1 /frameworks/base/policy/src/com.android.internal.policy.impl
|_AccountUnlockScreen.java
|_GlobalActions.java
|_IconUtilities.java
|_KeyguardScreen.java
|_KeyguardScreenCallback.java
|_KeyguardStatusViewManager.java
|_KeyguardUpdateMonitor.java
|_KeyguardViewBase.java
|_KeyguardViewCallback.java
|_KeyguardViewManager.java
|_KeyguardViewMediator.java
|_KeyguardViewProperties.java
|_KeyguardWindowController.java
|_LockPatternKeyguardView.java
|_LockPatternKeyguardViewProperties.java
|_LockScreen.java
|_MSimKeyguardStatusViewManager.java
|_MSimLockPatternKeyguardView.java
|_MSimSimUnlockScreen.java
|_PasswordUnlockScreen.java
|_PatternUnlockScreen.java
|_PhoneFallbackEventHandler.java
|_PhoneLayoutInflater.java
|_PhoneWindow.java
|_PhoneWindowManager.java
|_Policy.java
|_RecentApplicationsBackground.java
|_RecentApplicationsDialog.java
|_ShortcutManager.java
|_SimPukUnlockScreen.java
|_SimUnlockScreen.java