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

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

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

* commit 'fcf51a67':
  Fix display List bugs
parents a21e75c9 fcf51a67
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
@@ -218651,17 +218651,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.
     *
@@ -6052,6 +6045,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
                invalidate(true);
            }
            mBackgroundSizeChanged = true;
            invalidateParentIfNeeded();
        }
    }

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

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

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

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

@@ -6517,6 +6515,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;

@@ -2377,6 +2378,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) {
@@ -2389,12 +2391,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();
@@ -2485,6 +2488,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) {
@@ -2542,7 +2549,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);
        }

@@ -2551,6 +2560,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()