Merge "Make MENU key work again to dismiss insecure Keyguard."

This commit is contained in:
Jorim Jaggi
2014-04-16 21:55:55 +00:00
committed by Android (Google) Code Review
4 changed files with 31 additions and 5 deletions

View File

@@ -142,4 +142,18 @@ public class KeyguardBouncer {
}
return false;
}
public boolean onMenuPressed() {
ensureView();
if (mKeyguardView.handleMenuKey()) {
// We need to show it in case it is secure. If not, it will get dismissed in any case.
mRoot.setVisibility(View.VISIBLE);
mKeyguardView.requestFocus();
mKeyguardView.onResume();
return true;
} else {
return false;
}
}
}

View File

@@ -2976,6 +2976,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode {
}
}
public boolean onMenuPressed() {
return mOnKeyguard && mStatusBarKeyguardViewManager.onMenuPressed();
}
public boolean onBackPressed() {
if (mOnKeyguard) {
return mStatusBarKeyguardViewManager.onBackPressed();

View File

@@ -206,4 +206,8 @@ public class StatusBarKeyguardViewManager {
mContainer.setSystemUiVisibility(vis | View.STATUS_BAR_DISABLE_BACK);
}
}
public boolean onMenuPressed() {
return mBouncer.onMenuPressed();
}
}

View File

@@ -77,11 +77,15 @@ public class StatusBarWindowView extends FrameLayout
public boolean dispatchKeyEvent(KeyEvent event) {
boolean down = event.getAction() == KeyEvent.ACTION_DOWN;
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_BACK:
if (!down) {
mService.onBackPressed();
}
return true;
case KeyEvent.KEYCODE_BACK:
if (!down) {
mService.onBackPressed();
}
return true;
case KeyEvent.KEYCODE_MENU:
if (!down) {
return mService.onMenuPressed();
}
}
return super.dispatchKeyEvent(event);
}