am 93ed9858: am 63c4a718: Merge "Reland "Fixed constant window switching on lock screen..."" into mnc-dev

* commit '93ed98580c151ec28952ec4d72010b24b55a3583':
  Reland "Fixed constant window switching on lock screen..."
This commit is contained in:
Yohei Yukawa
2015-07-01 01:06:47 +00:00
committed by Android Git Automerger
3 changed files with 13 additions and 7 deletions

View File

@@ -913,12 +913,13 @@ public interface WindowManagerPolicy {
/**
* Called following layout of all window to apply policy to each window.
*
*
* @param win The window being positioned.
* @param attrs The LayoutParams of the window.
* @param attrs The LayoutParams of the window.
* @param attached For sub-windows, the window it is attached to. Otherwise null.
*/
public void applyPostLayoutPolicyLw(WindowState win,
WindowManager.LayoutParams attrs);
WindowManager.LayoutParams attrs, WindowState attached);
/**
* Called following layout of all windows and after policy has been applied

View File

@@ -4251,7 +4251,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
/** {@inheritDoc} */
@Override
public void applyPostLayoutPolicyLw(WindowState win, WindowManager.LayoutParams attrs) {
public void applyPostLayoutPolicyLw(WindowState win, WindowManager.LayoutParams attrs,
WindowState attached) {
if (DEBUG_LAYOUT) Slog.i(TAG, "Win " + win + ": isVisibleOrBehindKeyguardLw="
+ win.isVisibleOrBehindKeyguardLw());
final int fl = PolicyControl.getWindowFlags(win, attrs);
@@ -4296,8 +4297,12 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
}
if (appWindow) {
final IApplicationToken appToken = win.getAppToken();
final IApplicationToken appToken = win.getAppToken();
// For app windows that are not attached, we decide if all windows in the app they
// represent should be hidden or if we should hide the lockscreen. For attached app
// windows we defer the decision to the window it is attached to.
if (appWindow && attached == null) {
if (showWhenLocked) {
// Remove any previous windows with the same appToken.
mAppsToBeHidden.remove(appToken);

View File

@@ -9937,7 +9937,7 @@ public class WindowManagerService extends IWindowManager.Stub
for (i = windows.size() - 1; i >= 0; i--) {
WindowState w = windows.get(i);
if (w.mHasSurface) {
mPolicy.applyPostLayoutPolicyLw(w, w.mAttrs);
mPolicy.applyPostLayoutPolicyLw(w, w.mAttrs, w.mAttachedWindow);
}
}
displayContent.pendingLayoutChanges |= mPolicy.finishPostLayoutPolicyLw();