am d6ddcb7f: fix [2677468] some 3rd party GL ES apps get a 32-bits surface by default and fail

This commit is contained in:
Mathias Agopian
2010-05-24 19:12:33 -07:00
committed by Android Git Automerger
2 changed files with 10 additions and 4 deletions

View File

@@ -140,7 +140,10 @@ public class SurfaceView extends View {
boolean mViewVisibility = false;
int mRequestedWidth = -1;
int mRequestedHeight = -1;
int mRequestedFormat = PixelFormat.OPAQUE;
/* Set SurfaceView's format to 565 by default to maintain backward
* compatibility with applications assuming this format.
*/
int mRequestedFormat = PixelFormat.RGB_565;
int mRequestedType = -1;
boolean mHaveFrame = false;
@@ -163,16 +166,20 @@ public class SurfaceView extends View {
public SurfaceView(Context context) {
super(context);
setWillNotDraw(true);
init();
}
public SurfaceView(Context context, AttributeSet attrs) {
super(context, attrs);
setWillNotDraw(true);
init();
}
public SurfaceView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private void init() {
setWillNotDraw(true);
}

View File

@@ -222,7 +222,6 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
// underlying surface is created and destroyed
SurfaceHolder holder = getHolder();
holder.addCallback(this);
holder.setFormat(PixelFormat.RGB_565);
// setType is not needed for SDK 2.0 or newer. Uncomment this
// statement if back-porting this code to older SDKs.
// holder.setType(SurfaceHolder.SURFACE_TYPE_GPU);