diff options
author | John Spurlock <jspurlock@google.com> | 2013-10-29 14:23:51 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2013-10-29 14:27:41 -0400 |
commit | e7c285725d1b6af76e7655a79a3e71f3809fdd9f (patch) | |
tree | ad828a62c949084092caf54a316e07d0896a0af0 /packages/Keyguard/src/com/android | |
parent | 2b5297a40024e9cf136919d3ea0e88cb4ccfa27c (diff) | |
download | frameworks_base-e7c285725d1b6af76e7655a79a3e71f3809fdd9f.zip frameworks_base-e7c285725d1b6af76e7655a79a3e71f3809fdd9f.tar.gz frameworks_base-e7c285725d1b6af76e7655a79a3e71f3809fdd9f.tar.bz2 |
Optimize sysui ui queue during keyguard unlock.
Target the two biggest offenders:
- Coalesce keyguard setHidden(false) calls during unlock.
- Make sysui->WM call async.
Found during investigation into b/11221659.
Bug: 11221659
Change-Id: Icab48376bc356a933e0f9940bc2f924e2e77ab22
Diffstat (limited to 'packages/Keyguard/src/com/android')
-rw-r--r-- | packages/Keyguard/src/com/android/keyguard/KeyguardService.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardService.java b/packages/Keyguard/src/com/android/keyguard/KeyguardService.java index 36b2446..8ccd6fe 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(); |