am 129b69f3: Handle KeyguardViewMediator.setHidden() asynchronously to avoid deadlocks.

Merge commit '129b69f368bd30cb1caa75cf13961b5b44982d4b' into eclair-plus-aosp

* commit '129b69f368bd30cb1caa75cf13961b5b44982d4b':
  Handle KeyguardViewMediator.setHidden() asynchronously to avoid deadlocks.
This commit is contained in:
Mike Lockwood
2009-11-17 18:07:26 -08:00
committed by Android Git Automerger

View File

@@ -105,6 +105,7 @@ public class KeyguardViewMediator implements KeyguardViewCallback,
private static final int KEYGUARD_DONE = 9;
private static final int KEYGUARD_DONE_DRAWING = 10;
private static final int KEYGUARD_DONE_AUTHENTICATING = 11;
private static final int SET_HIDDEN = 12;
/**
* The default amount of time we stay awake (used for all key input)
@@ -425,9 +426,20 @@ public class KeyguardViewMediator implements KeyguardViewCallback,
*/
public void setHidden(boolean isHidden) {
if (DEBUG) Log.d(TAG, "setHidden " + isHidden);
mHandler.removeMessages(SET_HIDDEN);
Message msg = mHandler.obtainMessage(SET_HIDDEN, (isHidden ? 1 : 0), 0);
mHandler.sendMessage(msg);
}
/**
* Handles SET_HIDDEN message sent by setHidden()
*/
private void handleSetHidden(boolean isHidden) {
synchronized (KeyguardViewMediator.this) {
mHidden = isHidden;
adjustUserActivityLocked();
if (mHidden != isHidden) {
mHidden = isHidden;
adjustUserActivityLocked();
}
}
}
@@ -812,6 +824,9 @@ public class KeyguardViewMediator implements KeyguardViewCallback,
case KEYGUARD_DONE_AUTHENTICATING:
keyguardDone(true);
return;
case SET_HIDDEN:
handleSetHidden(msg.arg1 != 0);
break;
}
}
};