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:
@@ -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;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user