Android OpenGL Error?
===

I know this might sound like a silly question, but I cannot figure the answer to it by myself. I recently started to learn how to develop in Android and I am now trying to understand OpenGL. I found some good tutorials, but the best one I came across is this http://iphonedevelopment.blogspot.ro/2009/04/opengl-es-from-ground-up-part-2-look-at.html .
I tried adapting it for Android but I cannot seem to be able to make the actual icosahedron generate itself. Below is the Renderer class I tried to use. 
Any idea why it will generate the GLSurface but not the shape?
<pre><code>

    import java.nio.ByteBuffer;
    import java.nio.ByteOrder;
    import java.nio.FloatBuffer;
    import java.nio.IntBuffer;
    import java.nio.ShortBuffer;
    
    import javax.microedition.khronos.egl.EGLConfig;
    import javax.microedition.khronos.opengles.GL10;
    
    import android.opengl.GLSurfaceView.Renderer;
    import android.util.Log;
    
    public class HarnessRenderer implements Renderer{
    
    	private FloatBuffer verticesBuffer;
    	private FloatBuffer colorBuffer;
    	private ShortBuffer indexBuffer;
    	
    	private float[] vertices = {
    			0f, -0.525731f, 0.850651f,             // vertices[0]
    	        0.850651f, 0f, 0.525731f,              // vertices[1]
    	        0.850651f, 0f, -0.525731f,             // vertices[2]
    	        -0.850651f, 0f, -0.525731f,            // vertices[3]
    	        -0.850651f, 0f, 0.525731f,             // vertices[4]
    	        -0.525731f, 0.850651f, 0f,             // vertices[5]
    	        0.525731f, 0.850651f, 0f,              // vertices[6]
    	        0.525731f, -0.850651f, 0f,             // vertices[7]
    	        -0.525731f, -0.850651f, 0f,            // vertices[8]
    	        0f, -0.525731f, -0.850651f,            // vertices[9]
    	        0f, 0.525731f, -0.850651f,             // vertices[10]
    	        0f, 0.525731f, 0.850651f               // vertices[11]
    	};
    	private float[] colors = {
    			 1f, 0f, 0f, 1f,
    	         1f, 0.5f, 0f, 1f,
    	         1f, 1f, 0f, 1f,
    	         0.5f, 1f, 0f, 1f,
    	         0f, 1f, 0f, 1f,
    	         0f, 1f, 0.5f, 1f,
    	         0f, 1f, 1f, 1f,
    	         0f, 0.5f, 1f, 1f,
    	         0f, 0f, 1f, 1f,
    	         0.5f, 0f, 1f, 1f,
    	         1f, 0f, 1f, 1f,
    	         1f, 0f, 0.5f, 1f
    	};
    	private short[] indexes = {
    				1, 2, 6,
    		        1, 7, 2,
    		        3, 4, 5,
    		        4, 3, 8,
    		        6, 5, 11,
    		        5, 6, 10,
    		        9, 10, 2,
    		        10, 9, 3,
    		        7, 8, 9,
    		        8, 7, 0,
    		        11, 0, 1,
    		        0, 11, 4,
    		        6, 2, 10,
    		        1, 6, 11,
    		        3, 5, 10,
    		        5, 4, 11,
    		        2, 7, 9,
    		        7, 1, 0,
    		        3, 9, 8,
    		        4, 8, 0
    	};
    	
    	public void onDrawFrame(GL10 gl) {
    		gl.glLoadIdentity();
    		gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    		gl.glVertexPointer(3, GL10.GL_FLOAT, 0, verticesBuffer);
    		gl.glEnable(GL10.GL_CULL_FACE);
    		gl.glCullFace(GL10.GL_CW);
    		gl.glColorPointer(4, GL10.GL_FIXED, 0, colorBuffer);
    		gl.glDrawElements(GL10.GL_TRIANGLES, 60, GL10.GL_SHORT, indexBuffer);
    	}
    
    	public void onSurfaceChanged(GL10 gl, int width, int height) {
    		gl.glViewport(0, 0, width, height);
    	}
    
    	public void onSurfaceCreated(GL10 gl, EGLConfig config) {
    		// TODO Auto-generated method stub
    		gl.glClearColor(1, 0, 0, 1);
    		gl.glLoadIdentity();
    		gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
    		gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
    		initiateShape();
    	}
    	
    	void initiateShape(){
    		ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length * 4);
    		vbb.order(ByteOrder.nativeOrder());
    		verticesBuffer = vbb.asFloatBuffer();
    		verticesBuffer.put(vertices);
    		verticesBuffer.position(0);
    		
    		ByteBuffer cbb = ByteBuffer.allocateDirect(colors.length * 4);
    		vbb.order(ByteOrder.nativeOrder());
    		colorBuffer = cbb.asFloatBuffer();
    		colorBuffer.put(colors);
    		colorBuffer.position(0);
    				
    		ByteBuffer ibb = ByteBuffer.allocate(indexes.length * 2);
    		ibb.order(ByteOrder.nativeOrder());
    		indexBuffer = ibb.asShortBuffer();
    		indexBuffer.put(indexes);
    		indexBuffer.position(0);
    		
    	}
    	
    	
    
    }

</code></pre> 