diff options
author | Adam Powell <adamp@google.com> | 2011-10-13 16:13:55 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-10-13 16:13:55 -0700 |
commit | 50b15348c5b61472b5ed02434968b5a035765b63 (patch) | |
tree | 4edf30d53332bdee9c96df25831984c19a322178 /policy/src | |
parent | 43b57ec48ec7652addc11bbc9fef652c2394b7f5 (diff) | |
parent | c6d51889c27cfa815f001cdf25792e98446e300f (diff) | |
download | frameworks_base-50b15348c5b61472b5ed02434968b5a035765b63.zip frameworks_base-50b15348c5b61472b5ed02434968b5a035765b63.tar.gz frameworks_base-50b15348c5b61472b5ed02434968b5a035765b63.tar.bz2 |
Merge "Bug 5312828 - Menu button not responding" into ics-mr0
Diffstat (limited to 'policy/src')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindow.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java index de8d41a2..af86ae9 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java @@ -349,8 +349,9 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } // Already prepared (isPrepared will be reset to false later) - if (st.isPrepared) + if (st.isPrepared) { return true; + } if ((mPreparedPanel != null) && (mPreparedPanel != st)) { // Another Panel is prepared and possibly open, so close it @@ -800,14 +801,23 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { closePanel(st, true); } else if (st.isPrepared) { + boolean show = true; + if (st.refreshMenuContent) { + // Something may have invalidated the menu since we prepared it. + // Re-prepare it to refresh. + st.isPrepared = false; + show = preparePanel(st, event); + } - // Write 'menu opened' to event log - EventLog.writeEvent(50001, 0); + if (show) { + // Write 'menu opened' to event log + EventLog.writeEvent(50001, 0); - // Show menu - openPanel(st, event); + // Show menu + openPanel(st, event); - playSoundEffect = true; + playSoundEffect = true; + } } } |