Merge "Fix rendering artifacts on tiled renderers Bug #7275145" into jb-mr1-dev
This commit is contained in:
@ -235,18 +235,6 @@ class GLES20RecordingCanvas extends GLES20Canvas implements Poolable<GLES20Recor
|
|||||||
recordShaderBitmap(paint);
|
recordShaderBitmap(paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void drawRect(Rect r, Paint paint) {
|
|
||||||
super.drawRect(r, paint);
|
|
||||||
recordShaderBitmap(paint);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void drawRect(RectF r, Paint paint) {
|
|
||||||
super.drawRect(r, paint);
|
|
||||||
recordShaderBitmap(paint);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawRoundRect(RectF rect, float rx, float ry, Paint paint) {
|
public void drawRoundRect(RectF rect, float rx, float ry, Paint paint) {
|
||||||
super.drawRoundRect(rect, rx, ry, paint);
|
super.drawRoundRect(rect, rx, ry, paint);
|
||||||
|
@ -507,17 +507,22 @@ public abstract class HardwareRenderer {
|
|||||||
* @param width The width of the drawing surface.
|
* @param width The width of the drawing surface.
|
||||||
* @param height The height of the drawing surface.
|
* @param height The height of the drawing surface.
|
||||||
* @param surface The surface to hardware accelerate
|
* @param surface The surface to hardware accelerate
|
||||||
|
*
|
||||||
|
* @return true if the surface was initialized, false otherwise. Returning
|
||||||
|
* false might mean that the surface was already initialized.
|
||||||
*/
|
*/
|
||||||
void initializeIfNeeded(int width, int height, Surface surface)
|
boolean initializeIfNeeded(int width, int height, Surface surface)
|
||||||
throws Surface.OutOfResourcesException {
|
throws Surface.OutOfResourcesException {
|
||||||
if (isRequested()) {
|
if (isRequested()) {
|
||||||
// We lost the gl context, so recreate it.
|
// We lost the gl context, so recreate it.
|
||||||
if (!isEnabled()) {
|
if (!isEnabled()) {
|
||||||
if (initialize(surface)) {
|
if (initialize(surface)) {
|
||||||
setup(width, height);
|
setup(width, height);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2904,6 +2904,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
|||||||
*/
|
*/
|
||||||
int mOldHeightMeasureSpec = Integer.MIN_VALUE;
|
int mOldHeightMeasureSpec = Integer.MIN_VALUE;
|
||||||
|
|
||||||
|
@ViewDebug.ExportedProperty(deepExport = true, prefix = "bg_")
|
||||||
private Drawable mBackground;
|
private Drawable mBackground;
|
||||||
|
|
||||||
private int mBackgroundResource;
|
private int mBackgroundResource;
|
||||||
|
@ -923,8 +923,12 @@ public class ViewDebug {
|
|||||||
private static void dumpViewProperties(Context context, Object view,
|
private static void dumpViewProperties(Context context, Object view,
|
||||||
BufferedWriter out, String prefix) throws IOException {
|
BufferedWriter out, String prefix) throws IOException {
|
||||||
|
|
||||||
Class<?> klass = view.getClass();
|
if (view == null) {
|
||||||
|
out.write(prefix + "=4,null ");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Class<?> klass = view.getClass();
|
||||||
do {
|
do {
|
||||||
exportFields(context, view, out, klass, prefix);
|
exportFields(context, view, out, klass, prefix);
|
||||||
exportMethods(context, view, out, klass, prefix);
|
exportMethods(context, view, out, klass, prefix);
|
||||||
@ -1064,8 +1068,8 @@ public class ViewDebug {
|
|||||||
return;
|
return;
|
||||||
} else if (!type.isPrimitive()) {
|
} else if (!type.isPrimitive()) {
|
||||||
if (property.deepExport()) {
|
if (property.deepExport()) {
|
||||||
dumpViewProperties(context, field.get(view), out, prefix
|
dumpViewProperties(context, field.get(view), out, prefix +
|
||||||
+ property.prefix());
|
property.prefix());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,6 @@ import android.os.RemoteException;
|
|||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.os.Trace;
|
import android.os.Trace;
|
||||||
import android.os.UserHandle;
|
|
||||||
import android.util.AndroidRuntimeException;
|
import android.util.AndroidRuntimeException;
|
||||||
import android.util.DisplayMetrics;
|
import android.util.DisplayMetrics;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@ -2817,10 +2816,10 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
case MSG_RESIZED: {
|
case MSG_RESIZED: {
|
||||||
// Recycled in the fall through...
|
// Recycled in the fall through...
|
||||||
SomeArgs args = (SomeArgs) msg.obj;
|
SomeArgs args = (SomeArgs) msg.obj;
|
||||||
if (mWinFrame.equals((Rect) args.arg1)
|
if (mWinFrame.equals(args.arg1)
|
||||||
&& mPendingContentInsets.equals((Rect) args.arg2)
|
&& mPendingContentInsets.equals(args.arg2)
|
||||||
&& mPendingVisibleInsets.equals((Rect) args.arg3)
|
&& mPendingVisibleInsets.equals(args.arg3)
|
||||||
&& ((Configuration) args.arg4 == null)) {
|
&& args.arg4 == null) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} // fall through...
|
} // fall through...
|
||||||
@ -2882,8 +2881,10 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
mSurface != null && mSurface.isValid()) {
|
mSurface != null && mSurface.isValid()) {
|
||||||
mFullRedrawNeeded = true;
|
mFullRedrawNeeded = true;
|
||||||
try {
|
try {
|
||||||
mAttachInfo.mHardwareRenderer.initializeIfNeeded(mWidth, mHeight,
|
if (mAttachInfo.mHardwareRenderer.initializeIfNeeded(
|
||||||
mHolder.getSurface());
|
mWidth, mHeight, mHolder.getSurface())) {
|
||||||
|
mFullRedrawNeeded = true;
|
||||||
|
}
|
||||||
} catch (Surface.OutOfResourcesException e) {
|
} catch (Surface.OutOfResourcesException e) {
|
||||||
Log.e(TAG, "OutOfResourcesException locking surface", e);
|
Log.e(TAG, "OutOfResourcesException locking surface", e);
|
||||||
try {
|
try {
|
||||||
|
@ -20,6 +20,7 @@ import android.graphics.*;
|
|||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
import android.view.ViewDebug;
|
||||||
import org.xmlpull.v1.XmlPullParser;
|
import org.xmlpull.v1.XmlPullParser;
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
||||||
@ -34,6 +35,7 @@ import java.io.IOException;
|
|||||||
* @attr ref android.R.styleable#ColorDrawable_color
|
* @attr ref android.R.styleable#ColorDrawable_color
|
||||||
*/
|
*/
|
||||||
public class ColorDrawable extends Drawable {
|
public class ColorDrawable extends Drawable {
|
||||||
|
@ViewDebug.ExportedProperty(deepExport = true, prefix = "state_")
|
||||||
private ColorState mState;
|
private ColorState mState;
|
||||||
private final Paint mPaint = new Paint();
|
private final Paint mPaint = new Paint();
|
||||||
private boolean mMutated;
|
private boolean mMutated;
|
||||||
@ -174,6 +176,7 @@ public class ColorDrawable extends Drawable {
|
|||||||
|
|
||||||
final static class ColorState extends ConstantState {
|
final static class ColorState extends ConstantState {
|
||||||
int mBaseColor; // base color, independent of setAlpha()
|
int mBaseColor; // base color, independent of setAlpha()
|
||||||
|
@ViewDebug.ExportedProperty
|
||||||
int mUseColor; // basecolor modulated by setAlpha()
|
int mUseColor; // basecolor modulated by setAlpha()
|
||||||
int mChangingConfigurations;
|
int mChangingConfigurations;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user