surfaceCreated not called
===

I put a log.d in the method, and it never reports. The Game's run() method is executed, but I defensively wait for the surfaceCreated method to return before proceeding.

Notes: Game is a Thread and
TouchPanel extends SurfaceView implements SurfaceHolder.Callback

    private final void runGame() {
            savedPos = 0;
            resumeGame();
            touchPanel = (TouchPanel)findViewById(com.mysite.mygame.R.id.touchPanel);
            touchPanel.setMinimumHeight(displayWidth);
            touchPanel.setParams(this, writeLock, gemSize9, gemSize12, marg);
            textUpdate = new TextUpdate(this, d);
            gm = new Game(tok9, tok12, m, d, this, textHandler, textUpdate, touchPanel, marg, gemSize9, gemSize12, readLock, writeLock);
            initBitmaps();
            gm.start();
    }
    private final void resumeGame() {
            loadBGMusic();
            layout = Layout.GAME;
            setContentView(com.mysite.mygame.R.layout.game);
            writeLock.lock(); try { paused = false; } finally { writeLock.unlock(); }
    }

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/rel"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:background="@drawable/backrepeat"
       android:keepScreenOn="true"
       >
        <com.mysite.mygame.TouchPanel
           android:id="@+id/touchPanel"
           android:layout_width="fill_parent"
           android:layout_height="0dp"
           android:clickable="true"
           android:focusableInTouchMode="true"
           />
    </RelativeLayout>

    public TouchPanel(Context context, AttributeSet attrs) {
            super(context, attrs);
            getHolder().addCallback(this);
    }
