summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/keyguard/KeyguardInputViewController.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardInputViewController.java')
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardInputViewController.java82
1 files changed, 48 insertions, 34 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardInputViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardInputViewController.java
index fbda818740e8..c73149c7a8b9 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardInputViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardInputViewController.java
@@ -19,6 +19,7 @@ package com.android.keyguard;
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.telephony.TelephonyManager;
+import android.view.MotionEvent;
import android.view.inputmethod.InputMethodManager;
import com.android.internal.util.LatencyTracker;
@@ -36,38 +37,18 @@ public abstract class KeyguardInputViewController<T extends KeyguardInputView>
extends ViewController<T> implements KeyguardSecurityView {
private final SecurityMode mSecurityMode;
- private final KeyguardSecurityCallback mKeyguardSecurityCallback;
- private boolean mPaused;
-
-
- // The following is used to ignore callbacks from SecurityViews that are no longer current
- // (e.g. face unlock). This avoids unwanted asynchronous events from messing with the
- // state for the current security method.
- private KeyguardSecurityCallback mNullCallback = new KeyguardSecurityCallback() {
- @Override
- public void userActivity() { }
- @Override
- public void reportUnlockAttempt(int userId, boolean success, int timeoutMs) { }
- @Override
- public boolean isVerifyUnlockOnly() {
- return false;
- }
- @Override
- public void dismiss(boolean securityVerified, int targetUserId) { }
- @Override
- public void dismiss(boolean authenticated, int targetId,
- boolean bypassSecondaryLockScreen) { }
- @Override
- public void onUserInput() { }
- @Override
- public void reset() {}
- };
protected KeyguardInputViewController(T view, SecurityMode securityMode,
KeyguardSecurityCallback keyguardSecurityCallback) {
super(view);
mSecurityMode = securityMode;
- mKeyguardSecurityCallback = keyguardSecurityCallback;
+ mView.setKeyguardCallback(keyguardSecurityCallback);
+ }
+
+ @Override
+ public void init() {
+ super.init();
+ mView.reset();
}
@Override
@@ -82,40 +63,63 @@ public abstract class KeyguardInputViewController<T extends KeyguardInputView>
return mSecurityMode;
}
- protected KeyguardSecurityCallback getKeyguardSecurityCallback() {
- if (mPaused) {
- return mNullCallback;
- }
- return mKeyguardSecurityCallback;
+ @Override
+ public void setKeyguardCallback(KeyguardSecurityCallback callback) {
+ mView.setKeyguardCallback(callback);
+ }
+
+ @Override
+ public void setLockPatternUtils(LockPatternUtils utils) {
+ mView.setLockPatternUtils(utils);
}
@Override
public void reset() {
+ mView.reset();
}
@Override
public void onPause() {
- mPaused = true;
+ mView.onPause();
}
@Override
public void onResume(int reason) {
- mPaused = false;
+ mView.onResume(reason);
+ }
+
+ @Override
+ public boolean needsInput() {
+ return mView.needsInput();
+ }
+
+ @Override
+ public KeyguardSecurityCallback getCallback() {
+ return mView.getCallback();
}
@Override
public void showPromptReason(int reason) {
+ mView.showPromptReason(reason);
}
@Override
public void showMessage(CharSequence message, ColorStateList colorState) {
+ mView.showMessage(message, colorState);
}
+ @Override
+ public void showUsabilityHint() {
+ mView.showUsabilityHint();
+ }
+
+ @Override
public void startAppearAnimation() {
mView.startAppearAnimation();
}
+ @Override
public boolean startDisappearAnimation(Runnable finishRunnable) {
return mView.startDisappearAnimation(finishRunnable);
}
@@ -125,6 +129,16 @@ public abstract class KeyguardInputViewController<T extends KeyguardInputView>
return mView.getTitle();
}
+ @Override
+ public boolean disallowInterceptTouch(MotionEvent event) {
+ return mView.disallowInterceptTouch(event);
+ }
+
+ @Override
+ public void onStartingToHide() {
+ mView.onStartingToHide();
+ }
+
/** Finds the index of this view in the suppplied parent view. */
public int getIndexIn(KeyguardSecurityViewFlipper view) {
return view.indexOfChild(mView);