summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2011-10-13 16:13:55 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-10-13 16:13:55 -0700
commit50b15348c5b61472b5ed02434968b5a035765b63 (patch)
tree4edf30d53332bdee9c96df25831984c19a322178
parent43b57ec48ec7652addc11bbc9fef652c2394b7f5 (diff)
parentc6d51889c27cfa815f001cdf25792e98446e300f (diff)
downloadframeworks_base-50b15348c5b61472b5ed02434968b5a035765b63.zip
frameworks_base-50b15348c5b61472b5ed02434968b5a035765b63.tar.gz
frameworks_base-50b15348c5b61472b5ed02434968b5a035765b63.tar.bz2
Merge "Bug 5312828 - Menu button not responding" into ics-mr0
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindow.java22
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;
+ }
}
}