summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2011-11-30 20:49:21 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-11-30 20:49:21 -0800
commita1240184efd1d4391540a6e3e9cae50d56d05cb2 (patch)
tree3bb4bb51df4f3c138832372e4312c8d183b02b42
parentb94a7fb3d7483e8b47e4f0229fc7abff10a6572d (diff)
parente0f085d4b8f313179825f2b051cb403736a7d01a (diff)
downloadframeworks_base-a1240184efd1d4391540a6e3e9cae50d56d05cb2.zip
frameworks_base-a1240184efd1d4391540a6e3e9cae50d56d05cb2.tar.gz
frameworks_base-a1240184efd1d4391540a6e3e9cae50d56d05cb2.tar.bz2
Merge "Fix issue #5433192 and maybe #5433192" into ics-mr1
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/CompatModeButton.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java1
-rwxr-xr-xpolicy/src/com/android/internal/policy/impl/PhoneWindowManager.java7
3 files changed, 10 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CompatModeButton.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CompatModeButton.java
index 7fbf734..2d951c2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CompatModeButton.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CompatModeButton.java
@@ -49,6 +49,10 @@ public class CompatModeButton extends ImageView {
public void refresh() {
int mode = mAM.getFrontActivityScreenCompatMode();
+ if (mode == ActivityManager.COMPAT_MODE_UNKNOWN) {
+ // If in an unknown state, don't change.
+ return;
+ }
final boolean vis = (mode != ActivityManager.COMPAT_MODE_NEVER
&& mode != ActivityManager.COMPAT_MODE_ALWAYS);
if (DEBUG) Slog.d(TAG, "compat mode is " + mode + "; icon will " + (vis ? "show" : "hide"));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
index 01406bc..757ce0c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
@@ -534,6 +534,7 @@ public class TabletStatusBar extends StatusBar implements
mCompatModeButton = (CompatModeButton) sb.findViewById(R.id.compatModeButton);
mCompatModeButton.setOnClickListener(mOnClickListener);
+ mCompatModeButton.setVisibility(View.GONE);
// for redirecting errant bar taps to the IME
mFakeSpaceBar = sb.findViewById(R.id.fake_space_bar);
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 0655624..4889557 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
@@ -3813,11 +3814,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) {