Configurando el fondo de la imagen en SurfaceView, obteniendo pantalla negra

De acuerdo, estoy intentando establecer el fondo de un SurfaceView en un archivo JPG. Pero no parece querer dibujar la imagen, y todo lo que obtengo es una pantalla negra.

Aquí está mi código:

    public class FloorplanActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MapView mapView = new MapView(getApplicationContext());
    setContentView(mapView);


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.floorplan, menu);
    return true;
}

class MapView extends SurfaceView{

    Rect testRectangle1 = new Rect(0, 0, 50, 50);
    Bitmap scaled;
    int x;
    int y;

    public MapView(Context context) {
        super(context);

    }

    public void surfaceCreated(SurfaceHolder arg0){
        Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.floorplan);
        float scale = (float)background.getHeight()/(float)getHeight();
        int newWidth = Math.round(background.getWidth()/scale);
        int newHeight = Math.round(background.getHeight()/scale);
        scaled = Bitmap.createScaledBitmap(background, newWidth, newHeight, true);
    }

 public void onDraw(Canvas canvas) {
        canvas.drawBitmap(scaled, 0, 0, null); // draw the background
    }

No estoy seguro de por qué no dibuja la imagen del "plano" que he guardado en la carpeta drawable-mdpi.

¿Alguien tiene alguna sugerencia?

Gracias.

EDITAR: Después de realizar una depuración con puntos de interrupción, parece que la variable "escalada" se convierte en "Infinito" por alguna razón y, como tal, las variables newWidth y newHeight se vuelven menos de 0 y la aplicación falla.

Esto es solo si muevo toda la superficie Creada en el constructor, si dejo el código como está aquí, entonces no hace nada más que mostrar una pantalla en negro.

Sin embargo, no tengo idea de qué está causando que haga eso ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta