diff options
author | Dianne Hackborn <hackbod@google.com> | 2011-11-30 20:53:33 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-11-30 20:53:33 -0800 |
commit | 4d774e0ac274e2a1c2a65a9dedfb336c95879f05 (patch) | |
tree | 9afcf49fc0197579792abeec44c40b829833a1ec /policy | |
parent | 500053f8e8e56050c9221d9020a71e6672c810f1 (diff) | |
parent | f5fd08d64959f23ba87f4da4771ca511b05a6be0 (diff) | |
download | frameworks_base-4d774e0ac274e2a1c2a65a9dedfb336c95879f05.zip frameworks_base-4d774e0ac274e2a1c2a65a9dedfb336c95879f05.tar.gz frameworks_base-4d774e0ac274e2a1c2a65a9dedfb336c95879f05.tar.bz2 |
am f5fd08d6: am a1240184: Merge "Fix issue #5433192 and maybe #5433192" into ics-mr1
* commit 'f5fd08d64959f23ba87f4da4771ca511b05a6be0':
Fix issue #5433192 and maybe #5433192
Diffstat (limited to 'policy')
-rwxr-xr-x | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index a3d04c4..7684c34 100755 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -40,7 +40,6 @@ import android.graphics.PixelFormat; import android.graphics.Rect; import android.graphics.RectF; import android.os.BatteryManager; -import android.os.Binder; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; @@ -72,6 +71,7 @@ import android.util.Slog; import android.util.SparseArray; import android.view.Gravity; import android.view.HapticFeedbackConstants; +import android.view.IApplicationToken; import android.view.IWindowManager; import android.view.InputChannel; import android.view.InputDevice; @@ -343,6 +343,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // The last window we were told about in focusChanged. WindowState mFocusedWindow; + IApplicationToken mFocusedApp; private final InputHandler mPointerLocationInputHandler = new BaseInputHandler() { @Override @@ -3816,11 +3817,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { int diff = visibility ^ mLastSystemUiFlags; final boolean needsMenu = (mFocusedWindow.getAttrs().flags & WindowManager.LayoutParams.FLAG_NEEDS_MENU_KEY) != 0; - if (diff == 0 && mLastFocusNeedsMenu == needsMenu) { + if (diff == 0 && mLastFocusNeedsMenu == needsMenu + && mFocusedApp == mFocusedWindow.getAppToken()) { return 0; } mLastSystemUiFlags = visibility; mLastFocusNeedsMenu = needsMenu; + mFocusedApp = mFocusedWindow.getAppToken(); mHandler.post(new Runnable() { public void run() { if (mStatusBarService == null) { |