diff --git a/policy/src/com/android/internal/policy/impl/KeyguardViewBase.java b/policy/src/com/android/internal/policy/impl/KeyguardViewBase.java index f204070598d59..39fdf92acb8db 100644 --- a/policy/src/com/android/internal/policy/impl/KeyguardViewBase.java +++ b/policy/src/com/android/internal/policy/impl/KeyguardViewBase.java @@ -72,8 +72,9 @@ public abstract class KeyguardViewBase extends FrameLayout { } }; - public KeyguardViewBase(Context context) { + public KeyguardViewBase(Context context, KeyguardViewCallback callback) { super(context); + mCallback = callback; resetBackground(); } @@ -81,11 +82,6 @@ public abstract class KeyguardViewBase extends FrameLayout { setBackgroundDrawable(mBackgroundDrawable); } - // used to inject callback - void setCallback(KeyguardViewCallback callback) { - mCallback = callback; - } - public KeyguardViewCallback getCallback() { return mCallback; } diff --git a/policy/src/com/android/internal/policy/impl/KeyguardViewManager.java b/policy/src/com/android/internal/policy/impl/KeyguardViewManager.java index 4bba71bac5fee..7100e89678522 100644 --- a/policy/src/com/android/internal/policy/impl/KeyguardViewManager.java +++ b/policy/src/com/android/internal/policy/impl/KeyguardViewManager.java @@ -158,9 +158,9 @@ public class KeyguardViewManager implements KeyguardWindowController { if (mKeyguardView == null) { if (DEBUG) Log.d(TAG, "keyguard view is null, creating it..."); - mKeyguardView = mKeyguardViewProperties.createKeyguardView(mContext, mUpdateMonitor, this); + mKeyguardView = mKeyguardViewProperties.createKeyguardView(mContext, mCallback, + mUpdateMonitor, this); mKeyguardView.setId(R.id.lock_screen); - mKeyguardView.setCallback(mCallback); final ViewGroup.LayoutParams lp = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, diff --git a/policy/src/com/android/internal/policy/impl/KeyguardViewProperties.java b/policy/src/com/android/internal/policy/impl/KeyguardViewProperties.java index bda08eb4252e8..51b7f1e1d19e1 100644 --- a/policy/src/com/android/internal/policy/impl/KeyguardViewProperties.java +++ b/policy/src/com/android/internal/policy/impl/KeyguardViewProperties.java @@ -24,16 +24,17 @@ import android.content.Context; * of whether the keyguard instance is around or not. */ public interface KeyguardViewProperties { - + /** * Create a keyguard view. * @param context the context to use when creating the view. + * @param callback keyguard callback object for pokewakelock(), etc. * @param updateMonitor configuration may be based on this. * @param controller for talking back with the containing window. * @return the view. */ KeyguardViewBase createKeyguardView(Context context, - KeyguardUpdateMonitor updateMonitor, + KeyguardViewCallback mCallback, KeyguardUpdateMonitor updateMonitor, KeyguardWindowController controller); /** diff --git a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java index 1e9784c5cc79b..3ca57c607d621 100644 --- a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java +++ b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java @@ -291,17 +291,16 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler /** * @param context Used to inflate, and create views. + * @param callback Keyguard callback object for pokewakelock(), etc. * @param updateMonitor Knows the state of the world, and passed along to each * screen so they can use the knowledge, and also register for callbacks * on dynamic information. * @param lockPatternUtils Used to look up state of lock pattern. */ public LockPatternKeyguardView( - Context context, - KeyguardUpdateMonitor updateMonitor, - LockPatternUtils lockPatternUtils, - KeyguardWindowController controller) { - super(context); + Context context, KeyguardViewCallback callback, KeyguardUpdateMonitor updateMonitor, + LockPatternUtils lockPatternUtils, KeyguardWindowController controller) { + super(context, callback); mHandler = new Handler(this); mConfiguration = context.getResources().getConfiguration(); diff --git a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardViewProperties.java b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardViewProperties.java index 19adb3ef5917f..d7fb19a3f7852 100644 --- a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardViewProperties.java +++ b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardViewProperties.java @@ -43,9 +43,10 @@ public class LockPatternKeyguardViewProperties implements KeyguardViewProperties } public KeyguardViewBase createKeyguardView(Context context, + KeyguardViewCallback callback, KeyguardUpdateMonitor updateMonitor, KeyguardWindowController controller) { - return new LockPatternKeyguardView(context, updateMonitor, + return new LockPatternKeyguardView(context, callback, updateMonitor, mLockPatternUtils, controller); } diff --git a/policy/tests/src/com/android/internal/policy/impl/LockPatternKeyguardViewTest.java b/policy/tests/src/com/android/internal/policy/impl/LockPatternKeyguardViewTest.java index bdfe6529b49b7..db71e2b2b2d9c 100644 --- a/policy/tests/src/com/android/internal/policy/impl/LockPatternKeyguardViewTest.java +++ b/policy/tests/src/com/android/internal/policy/impl/LockPatternKeyguardViewTest.java @@ -17,6 +17,7 @@ package com.android.internal.policy.impl; import android.content.Context; +import com.android.internal.policy.impl.KeyguardViewCallback; import com.android.internal.telephony.IccCard; import android.content.res.Configuration; import android.test.AndroidTestCase; @@ -133,9 +134,10 @@ public class LockPatternKeyguardViewTest extends AndroidTestCase { - private TestableLockPatternKeyguardView(Context context, KeyguardUpdateMonitor updateMonitor, + private TestableLockPatternKeyguardView(Context context, KeyguardViewCallback callback, + KeyguardUpdateMonitor updateMonitor, LockPatternUtils lockPatternUtils, KeyguardWindowController controller) { - super(context, updateMonitor, lockPatternUtils, controller); + super(context, callback, updateMonitor, lockPatternUtils, controller); } @Override @@ -198,14 +200,13 @@ public class LockPatternKeyguardViewTest extends AndroidTestCase { super.setUp(); mUpdateMonitor = new MockUpdateMonitor(getContext()); mLockPatternUtils = new MockLockPatternUtils(getContext()); + mKeyguardViewCallback = new MockKeyguardCallback(); - mLPKV = new TestableLockPatternKeyguardView(getContext(), mUpdateMonitor, - mLockPatternUtils, new KeyguardWindowController() { + mLPKV = new TestableLockPatternKeyguardView(getContext(), mKeyguardViewCallback, + mUpdateMonitor, mLockPatternUtils, new KeyguardWindowController() { public void setNeedsInput(boolean needsInput) { } }); - mKeyguardViewCallback = new MockKeyguardCallback(); - mLPKV.setCallback(mKeyguardViewCallback); } public void testStateAfterCreatedWhileScreenOff() {