diff options
author | Dianne Hackborn <hackbod@google.com> | 2011-11-30 20:49:21 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-11-30 20:49:21 -0800 |
commit | a1240184efd1d4391540a6e3e9cae50d56d05cb2 (patch) | |
tree | 3bb4bb51df4f3c138832372e4312c8d183b02b42 | |
parent | b94a7fb3d7483e8b47e4f0229fc7abff10a6572d (diff) | |
parent | e0f085d4b8f313179825f2b051cb403736a7d01a (diff) | |
download | frameworks_base-a1240184efd1d4391540a6e3e9cae50d56d05cb2.zip frameworks_base-a1240184efd1d4391540a6e3e9cae50d56d05cb2.tar.gz frameworks_base-a1240184efd1d4391540a6e3e9cae50d56d05cb2.tar.bz2 |
Merge "Fix issue #5433192 and maybe #5433192" into ics-mr1
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) { |