The problem is that you need to implement three methods in GLSurfaceView that execute in GL10 from the OS.
public void onDrawFrame(GL10 gl)
public void onSurfaceChanged(GL10 gl, int width, int height)
public void onSurfaceCreated(GL10 gl, EGLConfig config)
It seems like the solution is to completely ignore GL10 in your Renderer and just use all the static methods of the GLES20 class.
public void onDrawFrame(GL10 glUnused) {
GLES20.glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
GLES20.glUseProgram(mProgram);
...
}
GLES20 :
http://developer.android.com/reference/android/opengl/GLES20.html
Khronos.
http://www.khronos.org/opengles/sdk/docs/man/