diff options
author | Jim Miller <jaggies@google.com> | 2012-12-04 12:33:49 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-12-04 12:33:49 -0800 |
commit | eac4be7ef28a9dfba9e6cc6d0501b4bd2146041a (patch) | |
tree | af23daeb50de8b8f685b932302eb13bf51ec152c /policy/src | |
parent | 5cb09b7dc5b2a3bfa895bca5402af9edc8ec9d9a (diff) | |
parent | 4fa27f314038620fd3c50170d2f8caebeb6005bb (diff) | |
download | frameworks_base-eac4be7ef28a9dfba9e6cc6d0501b4bd2146041a.zip frameworks_base-eac4be7ef28a9dfba9e6cc6d0501b4bd2146041a.tar.gz frameworks_base-eac4be7ef28a9dfba9e6cc6d0501b4bd2146041a.tar.bz2 |
am 4fa27f31: am 80a90efc: Merge "Fix ring volume issue by addressing focus regression in keyguard." into jb-mr1.1-dev
* commit '4fa27f314038620fd3c50170d2f8caebeb6005bb':
Fix ring volume issue by addressing focus regression in keyguard.
Diffstat (limited to 'policy/src')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java | 7 | ||||
-rw-r--r-- | policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java index 8502d78..94cd0b5 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java @@ -286,6 +286,11 @@ public class KeyguardHostView extends KeyguardViewBase { showPrimarySecurityScreen(false); updateSecurityViews(); + + // Make sure at least this view is focusable in case nothing below it is. Otherwise, + // requestFocus() on this view will fail and allow events, such as volume keys, to be + // handled by the fallback handler. See bug 7546960 for details. + setFocusableInTouchMode(true); } private boolean shouldEnableAddWidget() { @@ -881,6 +886,7 @@ public class KeyguardHostView extends KeyguardViewBase { if (mViewStateManager != null) { mViewStateManager.showUsabilityHints(); } + requestFocus(); } @Override @@ -900,6 +906,7 @@ public class KeyguardHostView extends KeyguardViewBase { if (cameraPage != null) { cameraPage.onScreenTurnedOff(); } + clearFocus(); } public void clearAppWidgetToShow() { diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java index efd09e0..dac852a 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java @@ -216,6 +216,7 @@ public class KeyguardViewManager { if (force || mKeyguardView == null) { inflateKeyguardView(options); + mKeyguardView.requestFocus(); } updateUserActivityTimeoutInWindowLayoutParams(); mViewManager.updateViewLayout(mKeyguardHost, mWindowLayoutParams); |