Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3aa959b9 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Fix issue #3362666 Activities launched from ongoing notifications don't...

Merge "Fix issue #3362666 Activities launched from ongoing notifications don't animate" into honeycomb
parents 0de274b3 08121bca
Loading
Loading
Loading
Loading
+22 −16
Original line number Diff line number Diff line
@@ -1965,6 +1965,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            // behind it.
            return false;
        }
        if (false) {
            // Don't do this on the tablet, since the system bar never completely
            // covers the screen, and with all its transparency this will
            // incorrectly think it does cover it when it doesn't.  We'll revisit
            // this later when we re-do the phone status bar.
            if (mStatusBar != null && mStatusBar.isVisibleLw()) {
                Rect rect = new Rect(mStatusBar.getShownFrameLw());
                for (int i=mStatusBarPanels.size()-1; i>=0; i--) {
@@ -1984,6 +1989,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                    return false;
                }
            }
        }
        return true;
    }

+13 −6
Original line number Diff line number Diff line
@@ -3031,7 +3031,7 @@ public class WindowManagerService extends IWindowManager.Stub
    }

    private AttributeCache.Entry getCachedAnimations(WindowManager.LayoutParams lp) {
        if (DEBUG_ANIM) Slog.v(TAG, "Loading animations: params package="
        if (DEBUG_ANIM) Slog.v(TAG, "Loading animations: layout params pkg="
                + (lp != null ? lp.packageName : null)
                + " resId=0x" + (lp != null ? Integer.toHexString(lp.windowAnimations) : null));
        if (lp != null && lp.windowAnimations != 0) {
@@ -3052,7 +3052,7 @@ public class WindowManagerService extends IWindowManager.Stub
    }

    private AttributeCache.Entry getCachedAnimations(String packageName, int resId) {
        if (DEBUG_ANIM) Slog.v(TAG, "Loading animations: params package="
        if (DEBUG_ANIM) Slog.v(TAG, "Loading animations: package="
                + packageName + " resId=0x" + Integer.toHexString(resId));
        if (packageName != null) {
            if ((resId&0xFF000000) == 0x01000000) {
@@ -9957,8 +9957,8 @@ public class WindowManagerService extends IWindowManager.Stub
                        // The top-most window will supply the layout params,
                        // and we will determine it below.
                        LayoutParams animLp = null;
                        AppWindowToken animToken = null;
                        int bestAnimLayer = -1;
                        boolean fullscreenAnim = false;

                        if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                "New wallpaper target=" + mWallpaperTarget
@@ -10000,11 +10000,18 @@ public class WindowManagerService extends IWindowManager.Stub
                                    // window, we will always use its anim.
                                    if ((ws.mAttrs.flags&FLAG_COMPATIBLE_WINDOW) != 0) {
                                        animLp = ws.mAttrs;
                                        animToken = ws.mAppToken;
                                        bestAnimLayer = Integer.MAX_VALUE;
                                    } else if (ws.mLayer > bestAnimLayer) {
                                    } else if (!fullscreenAnim || ws.mLayer > bestAnimLayer) {
                                        animLp = ws.mAttrs;
                                        bestAnimLayer = ws.mLayer;
                                    }
                                    fullscreenAnim = true;
                                }
                            } else if (!fullscreenAnim) {
                                WindowState ws = wtoken.findMainWindow();
                                if (ws != null) {
                                    if (ws.mLayer > bestAnimLayer) {
                                        animLp = ws.mAttrs;
                                        animToken = ws.mAppToken;
                                        bestAnimLayer = ws.mLayer;
                                    }
                                }