Merge "Call requestFocus and ensure that screenOn is set." into jb-mr1-dev

This commit is contained in:
Craig Mautner
2012-10-17 20:25:11 -07:00
committed by Android (Google) Code Review
2 changed files with 24 additions and 22 deletions

View File

@@ -43,7 +43,7 @@ import com.android.internal.widget.LockPatternUtils;
/** /**
* Manages creating, showing, hiding and resetting the keyguard. Calls back * Manages creating, showing, hiding and resetting the keyguard. Calls back
* via {@link com.android.internal.policy.impl.KeyguardViewCallback} to poke * via {@link KeyguardViewMediator.ViewMediatorCallback} to poke
* the wake lock and report that the keyguard is done, which is in turn, * the wake lock and report that the keyguard is done, which is in turn,
* reported to this class by the current {@link KeyguardViewBase}. * reported to this class by the current {@link KeyguardViewBase}.
*/ */
@@ -233,6 +233,7 @@ public class KeyguardViewManager {
if (mScreenOn) { if (mScreenOn) {
mKeyguardView.show(); mKeyguardView.show();
mKeyguardView.requestFocus();
} }
} }
@@ -314,22 +315,25 @@ public class KeyguardViewManager {
// Caller should wait for this window to be shown before turning // Caller should wait for this window to be shown before turning
// on the screen. // on the screen.
if (mKeyguardHost.getVisibility() == View.VISIBLE) { if (showListener != null) {
// Keyguard may be in the process of being shown, but not yet if (mKeyguardHost.getVisibility() == View.VISIBLE) {
// updated with the window manager... give it a chance to do so. // Keyguard may be in the process of being shown, but not yet
mKeyguardHost.post(new Runnable() { // updated with the window manager... give it a chance to do so.
public void run() { mKeyguardHost.post(new Runnable() {
if (mKeyguardHost.getVisibility() == View.VISIBLE) { @Override
showListener.onShown(mKeyguardHost.getWindowToken()); public void run() {
} else { if (mKeyguardHost.getVisibility() == View.VISIBLE) {
showListener.onShown(null); showListener.onShown(mKeyguardHost.getWindowToken());
} else {
showListener.onShown(null);
}
} }
} });
}); } else {
} else { showListener.onShown(null);
showListener.onShown(null); }
} }
} else { } else if (showListener != null) {
showListener.onShown(null); showListener.onShown(null);
} }
} }
@@ -356,10 +360,9 @@ public class KeyguardViewManager {
if (mKeyguardView != null) { if (mKeyguardView != null) {
mKeyguardView.wakeWhenReadyTq(keyCode); mKeyguardView.wakeWhenReadyTq(keyCode);
return true; return true;
} else {
Log.w(TAG, "mKeyguardView is null in wakeWhenReadyTq");
return false;
} }
Log.w(TAG, "mKeyguardView is null in wakeWhenReadyTq");
return false;
} }
/** /**
@@ -382,6 +385,7 @@ public class KeyguardViewManager {
final KeyguardViewBase lastView = mKeyguardView; final KeyguardViewBase lastView = mKeyguardView;
mKeyguardView = null; mKeyguardView = null;
mKeyguardHost.postDelayed(new Runnable() { mKeyguardHost.postDelayed(new Runnable() {
@Override
public void run() { public void run() {
synchronized (KeyguardViewManager.this) { synchronized (KeyguardViewManager.this) {
lastView.cleanUp(); lastView.cleanUp();

View File

@@ -629,9 +629,7 @@ public class KeyguardViewMediator {
mScreenOn = true; mScreenOn = true;
cancelDoKeyguardLaterLocked(); cancelDoKeyguardLaterLocked();
if (DEBUG) Log.d(TAG, "onScreenTurnedOn, seq = " + mDelayedShowingSequence); if (DEBUG) Log.d(TAG, "onScreenTurnedOn, seq = " + mDelayedShowingSequence);
if (showListener != null) { notifyScreenOnLocked(showListener);
notifyScreenOnLocked(showListener);
}
} }
maybeSendUserPresentBroadcast(); maybeSendUserPresentBroadcast();
} }
@@ -1365,7 +1363,7 @@ public class KeyguardViewMediator {
/** /**
* Handle message sent by {@link #verifyUnlock} * Handle message sent by {@link #verifyUnlock}
* @see #RESET * @see #VERIFY_UNLOCK
*/ */
private void handleVerifyUnlock() { private void handleVerifyUnlock() {
synchronized (KeyguardViewMediator.this) { synchronized (KeyguardViewMediator.this) {