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

Commit fcf51a67 authored by Chet Haase's avatar Chet Haase Committed by Android Git Automerger
Browse files

am a45c056e: Merge "Fix display List bugs" into honeycomb

* commit 'a45c056e':
  Fix display List bugs
parents b43610f8 a45c056e
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -215665,17 +215665,6 @@
 visibility="public"
>
</method>
<method name="getOnLayoutChangeListeners"
 return="java.util.List&lt;android.view.View.OnLayoutChangeListener&gt;"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getOverScrollMode"
 return="int"
 abstract="false"
+0 −11
Original line number Diff line number Diff line
@@ -217052,17 +217052,6 @@
 visibility="public"
>
</method>
<method name="getOnLayoutChangeListeners"
 return="java.util.List&lt;android.view.View.OnLayoutChangeListener&gt;"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getOverScrollMode"
 return="int"
 abstract="false"
+6 −7
Original line number Diff line number Diff line
@@ -2936,13 +2936,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
        mOnLayoutChangeListeners.remove(listener);
    }

    /**
     * Gets the current list of listeners for layout changes.
     */
    public List<OnLayoutChangeListener> getOnLayoutChangeListeners() {
        return mOnLayoutChangeListeners;
    }

    /**
     * Returns the focus-change callback registered for this view.
     *
@@ -6011,6 +6004,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
                invalidate(true);
            }
            mBackgroundSizeChanged = true;
            invalidateParentIfNeeded();
        }
    }

@@ -6077,6 +6071,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
                invalidate(true);
            }
            mBackgroundSizeChanged = true;
            invalidateParentIfNeeded();
        }
    }

@@ -6137,6 +6132,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
                invalidate(true);
            }
            mBackgroundSizeChanged = true;
            invalidateParentIfNeeded();
        }
    }

@@ -6194,6 +6190,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
                invalidate(true);
            }
            mBackgroundSizeChanged = true;
            invalidateParentIfNeeded();
        }
    }

@@ -6438,6 +6435,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
                mPrivateFlags |= DRAWN; // force another invalidation with the new orientation
                invalidate(false);
            }
            invalidateParentIfNeeded();
        }
    }

@@ -6476,6 +6474,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
                mPrivateFlags |= DRAWN; // force another invalidation with the new orientation
                invalidate(false);
            }
            invalidateParentIfNeeded();
        }
    }

+16 −3
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.view;

import android.animation.LayoutTransition;
import android.view.animation.AlphaAnimation;
import com.android.internal.R;
import com.android.internal.util.Predicate;

@@ -2364,6 +2365,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager

        DisplayList displayList = null;
        Bitmap cache = null;
        boolean hasDisplayList = false;
        if (caching) {
            if (!canvas.isHardwareAccelerated()) {
                if (layerType != LAYER_TYPE_NONE) {
@@ -2376,12 +2378,13 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
                    child.buildDrawingCache(true);
                    cache = child.getDrawingCache(true);
                } else if (layerType == LAYER_TYPE_NONE) {
                    displayList = child.getDisplayList();
                    // Delay getting the display list until animation-driven alpha values are
                    // set up and possibly passed on to the view
                    hasDisplayList = true;
                }
            }
        }

        final boolean hasDisplayList = displayList != null && displayList.isReady();
        final boolean hasNoCache = cache == null || hasDisplayList;

        final int restoreTo = canvas.save();
@@ -2472,6 +2475,10 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
            }
        }

        if (hasDisplayList) {
            displayList = child.getDisplayList();
        }

        if (hasNoCache) {
            boolean layerRendered = false;
            if (layerType == LAYER_TYPE_HARDWARE) {
@@ -2529,7 +2536,9 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
        canvas.restoreToCount(restoreTo);

        if (a != null && !more) {
            if (!canvas.isHardwareAccelerated() && !a.getFillAfter()) {
                child.onSetAlpha(255);
            }
            finishAnimatingView(child, a);
        }

@@ -2538,6 +2547,10 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
            // display lists to render, force an invalidate to allow the animation to
            // continue drawing another frame
            invalidate();
            if (a instanceof AlphaAnimation) {
                // alpha animations should cause the child to recreate its display list
                child.invalidate();
            }
        }

        child.mRecreateDisplayList = false;
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ void LayerRenderer::finish() {

    generateMesh();

    LAYER_RENDERER_LOGD("Finished rendering into layer, fbo = %d", mLayer->mFbo);
    LAYER_RENDERER_LOGD("Finished rendering into layer, fbo = %d", mLayer->fbo);

    // No need to unbind our FBO, this will be taken care of by the caller
    // who will invoke OpenGLRenderer::resume()