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

Commit 6dee0a0f authored by Michael Jurka's avatar Michael Jurka Committed by Android (Google) Code Review
Browse files

Merge "Fix bug where thumbnails flashed more often in Recents" into jb-mr2-dev

parents 214cb0d4 f42d9010
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -211,6 +211,7 @@ public final class ViewRootImpl implements ViewParent,
    boolean mHasHadWindowFocus;
    boolean mLastWasImTarget;
    boolean mWindowsAnimating;
    boolean mDrawDuringWindowsAnimating;
    boolean mIsDrawing;
    int mLastSystemUiVisibility;
    int mClientWindowLayoutFlags;
@@ -1396,8 +1397,10 @@ public final class ViewRootImpl implements ViewParent,

                final int surfaceGenerationId = mSurface.getGenerationId();
                relayoutResult = relayoutWindow(params, viewVisibility, insetsPending);
                if (!mDrawDuringWindowsAnimating) {
                    mWindowsAnimating |=
                            (relayoutResult & WindowManagerGlobal.RELAYOUT_RES_ANIMATING) != 0;
                }

                if (DEBUG_LAYOUT) Log.v(TAG, "relayout: frame=" + frame.toShortString()
                        + " overscan=" + mPendingOverscanInsets.toShortString()
@@ -2572,6 +2575,16 @@ public final class ViewRootImpl implements ViewParent,
        displayLists.clear();
    }

    /**
     * @hide
     */
    public void setDrawDuringWindowsAnimating(boolean value) {
        mDrawDuringWindowsAnimating = value;
        if (value) {
            handleDispatchDoneAnimating();
        }
    }

    boolean scrollToRectOrFocus(Rect rectangle, boolean immediate) {
        final View.AttachInfo attachInfo = mAttachInfo;
        final Rect ci = attachInfo.mContentInsets;
+10 −1
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewPropertyAnimator;
import android.view.ViewRootImpl;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.AnimationUtils;
import android.view.animation.DecelerateInterpolator;
@@ -365,6 +366,14 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener
        }
    }

    protected void onAttachedToWindow () {
        super.onAttachedToWindow();
        final ViewRootImpl root = getViewRootImpl();
        if (root != null) {
            root.setDrawDuringWindowsAnimating(true);
        }
    }

    public void onUiHidden() {
        mCallUiHiddenBeforeNextReload = false;
        if (!mShowing && mRecentTaskDescriptions != null) {
@@ -562,7 +571,7 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener
                !mRecentTasksLoader.isFirstScreenful()) {
            int timeSinceWindowAnimation =
                    (int) (System.currentTimeMillis() - mWindowAnimationStartTime);
            final int minStartDelay = 125;
            final int minStartDelay = 150;
            final int startDelay = Math.max(0, Math.min(
                    minStartDelay - timeSinceWindowAnimation, minStartDelay));
            final int duration = 250;