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.
This commit is contained in:
Jim Miller
2012-12-04 12:33:49 -08:00
committed by Android Git Automerger
2 changed files with 8 additions and 0 deletions

View File

@@ -286,6 +286,11 @@ public class KeyguardHostView extends KeyguardViewBase {
showPrimarySecurityScreen(false); showPrimarySecurityScreen(false);
updateSecurityViews(); 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() { private boolean shouldEnableAddWidget() {
@@ -881,6 +886,7 @@ public class KeyguardHostView extends KeyguardViewBase {
if (mViewStateManager != null) { if (mViewStateManager != null) {
mViewStateManager.showUsabilityHints(); mViewStateManager.showUsabilityHints();
} }
requestFocus();
} }
@Override @Override
@@ -900,6 +906,7 @@ public class KeyguardHostView extends KeyguardViewBase {
if (cameraPage != null) { if (cameraPage != null) {
cameraPage.onScreenTurnedOff(); cameraPage.onScreenTurnedOff();
} }
clearFocus();
} }
public void clearAppWidgetToShow() { public void clearAppWidgetToShow() {

View File

@@ -216,6 +216,7 @@ public class KeyguardViewManager {
if (force || mKeyguardView == null) { if (force || mKeyguardView == null) {
inflateKeyguardView(options); inflateKeyguardView(options);
mKeyguardView.requestFocus();
} }
updateUserActivityTimeoutInWindowLayoutParams(); updateUserActivityTimeoutInWindowLayoutParams();
mViewManager.updateViewLayout(mKeyguardHost, mWindowLayoutParams); mViewManager.updateViewLayout(mKeyguardHost, mWindowLayoutParams);