diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl index 9d4af006258e2..1b76cb153cccb 100644 --- a/core/java/android/view/IWindowManager.aidl +++ b/core/java/android/view/IWindowManager.aidl @@ -211,7 +211,7 @@ interface IWindowManager /** * Called by the status bar to notify Views of changes to System UI visiblity. */ - void statusBarVisibilityChanged(int visibility); + oneway void statusBarVisibilityChanged(int visibility); /** * Block until the given window has been drawn to the screen. diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardService.java b/packages/Keyguard/src/com/android/keyguard/KeyguardService.java index 36b2446c6b68a..8ccd6fe1915b6 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardService.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardService.java @@ -68,6 +68,8 @@ public class KeyguardService extends Service { } private final IKeyguardService.Stub mBinder = new IKeyguardService.Stub() { + private boolean mSetHiddenCalled; + private boolean mIsHidden; public boolean isShowing() { return mKeyguardViewMediator.isShowing(); } @@ -89,7 +91,10 @@ public class KeyguardService extends Service { } public void setHidden(boolean isHidden) { checkPermission(); + if (mSetHiddenCalled && mIsHidden == isHidden) return; mKeyguardViewMediator.setHidden(isHidden); + mSetHiddenCalled = true; + mIsHidden = isHidden; } public void dismiss() { mKeyguardViewMediator.dismiss();