Merge "Fix rendering artifacts on tiled renderers Bug #7275145" into jb-mr1-dev

This commit is contained in:
Romain Guy
2012-10-03 18:47:35 -07:00
committed by Android (Google) Code Review
6 changed files with 26 additions and 24 deletions

View File

@ -235,18 +235,6 @@ class GLES20RecordingCanvas extends GLES20Canvas implements Poolable<GLES20Recor
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
public void drawRoundRect(RectF rect, float rx, float ry, Paint paint) {
super.drawRoundRect(rect, rx, ry, paint);

View File

@ -507,17 +507,22 @@ public abstract class HardwareRenderer {
* @param width The width of the drawing surface.
* @param height The height of the drawing surface.
* @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 {
if (isRequested()) {
// We lost the gl context, so recreate it.
if (!isEnabled()) {
if (initialize(surface)) {
setup(width, height);
return true;
}
}
}
}
return false;
}
/**

View File

@ -2904,6 +2904,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
*/
int mOldHeightMeasureSpec = Integer.MIN_VALUE;
@ViewDebug.ExportedProperty(deepExport = true, prefix = "bg_")
private Drawable mBackground;
private int mBackgroundResource;

View File

@ -923,8 +923,12 @@ public class ViewDebug {
private static void dumpViewProperties(Context context, Object view,
BufferedWriter out, String prefix) throws IOException {
Class<?> klass = view.getClass();
if (view == null) {
out.write(prefix + "=4,null ");
return;
}
Class<?> klass = view.getClass();
do {
exportFields(context, view, out, klass, prefix);
exportMethods(context, view, out, klass, prefix);
@ -1064,8 +1068,8 @@ public class ViewDebug {
return;
} else if (!type.isPrimitive()) {
if (property.deepExport()) {
dumpViewProperties(context, field.get(view), out, prefix
+ property.prefix());
dumpViewProperties(context, field.get(view), out, prefix +
property.prefix());
continue;
}
}

View File

@ -52,7 +52,6 @@ import android.os.RemoteException;
import android.os.SystemClock;
import android.os.SystemProperties;
import android.os.Trace;
import android.os.UserHandle;
import android.util.AndroidRuntimeException;
import android.util.DisplayMetrics;
import android.util.Log;
@ -2817,10 +2816,10 @@ public final class ViewRootImpl implements ViewParent,
case MSG_RESIZED: {
// Recycled in the fall through...
SomeArgs args = (SomeArgs) msg.obj;
if (mWinFrame.equals((Rect) args.arg1)
&& mPendingContentInsets.equals((Rect) args.arg2)
&& mPendingVisibleInsets.equals((Rect) args.arg3)
&& ((Configuration) args.arg4 == null)) {
if (mWinFrame.equals(args.arg1)
&& mPendingContentInsets.equals(args.arg2)
&& mPendingVisibleInsets.equals(args.arg3)
&& args.arg4 == null) {
break;
}
} // fall through...
@ -2882,8 +2881,10 @@ public final class ViewRootImpl implements ViewParent,
mSurface != null && mSurface.isValid()) {
mFullRedrawNeeded = true;
try {
mAttachInfo.mHardwareRenderer.initializeIfNeeded(mWidth, mHeight,
mHolder.getSurface());
if (mAttachInfo.mHardwareRenderer.initializeIfNeeded(
mWidth, mHeight, mHolder.getSurface())) {
mFullRedrawNeeded = true;
}
} catch (Surface.OutOfResourcesException e) {
Log.e(TAG, "OutOfResourcesException locking surface", e);
try {

View File

@ -20,6 +20,7 @@ import android.graphics.*;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.ViewDebug;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@ -34,6 +35,7 @@ import java.io.IOException;
* @attr ref android.R.styleable#ColorDrawable_color
*/
public class ColorDrawable extends Drawable {
@ViewDebug.ExportedProperty(deepExport = true, prefix = "state_")
private ColorState mState;
private final Paint mPaint = new Paint();
private boolean mMutated;
@ -174,6 +176,7 @@ public class ColorDrawable extends Drawable {
final static class ColorState extends ConstantState {
int mBaseColor; // base color, independent of setAlpha()
@ViewDebug.ExportedProperty
int mUseColor; // basecolor modulated by setAlpha()
int mChangingConfigurations;