From 6024ca5c90203b6c33acc6adfbf7e4e613549a0a Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Fri, 2 Apr 2010 16:05:20 -0700 Subject: [PATCH] Fix bug 2185026 - back button in context menu now calls onContextMenuClosed() Change-Id: I6c16879a8ad8e4651d21f639a620a936bf991f8d --- .../internal/view/menu/MenuDialogHelper.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/core/java/com/android/internal/view/menu/MenuDialogHelper.java b/core/java/com/android/internal/view/menu/MenuDialogHelper.java index 70f040a15b98b..d7438d68fb747 100644 --- a/core/java/com/android/internal/view/menu/MenuDialogHelper.java +++ b/core/java/com/android/internal/view/menu/MenuDialogHelper.java @@ -101,11 +101,19 @@ public class MenuDialogHelper implements DialogInterface.OnKeyListener, DialogIn } } } - } else if (event.getAction() == KeyEvent.ACTION_UP - && event.isTracking() && !event.isCanceled()) { - mMenu.close(true); - dialog.dismiss(); - return true; + } else if (event.getAction() == KeyEvent.ACTION_UP && !event.isCanceled()) { + Window win = mDialog.getWindow(); + if (win != null) { + View decor = win.getDecorView(); + if (decor != null) { + KeyEvent.DispatcherState ds = decor.getKeyDispatcherState(); + if (ds != null && ds.isTracking(event)) { + mMenu.close(true); + dialog.dismiss(); + return true; + } + } + } } }