Corrección del sensor de paisaje inverso Nexus 5x en una aplicación de vista previa de cámara Android

Soy un poco novato en el desarrollo de Android, así que pido disculpas de antemano si mi pregunta es trivial. En una parte de mi aplicación necesito una vista previa en vivo de mi cámara trasera, así que creé una clase personalizada que extiende SurfaceView e implementa SurfaceHolder.Callback (seguí básicamente las instrucciones en la documentación de Android).

Desafortunadamente, estoy probando mi aplicación en un Nexus 5x, que acabo de darme cuenta de que ha instalado el sensor de la cámara de forma inversa. Por esa razón, la vista previa de la cámara de mi aplicación cuando se ejecuta en mi Nexus 5x aparece al revés, que es algo que no quiero.

Parece que la nueva API android.hardware.camera2 puede manejar este problema automáticamente. Eventualmente, necesitaré actualizar todo mi código usando esta nueva API, pero por ahora lo que necesito es una solución rápida mientras uso la antigua API de la cámara.

Entonces estaba leyendo y encontré un código que necesitaría introducir en el método SurfaceChanged para solucionar este problema. Aquí está:

Display display = ((WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();

        if(display.getRotation() == Surface.ROTATION_0)
        {
            parameters.setPreviewSize(capHeight, capWidth);                           
            camera.setDisplayOrientation(90);
        }

        if(display.getRotation() == Surface.ROTATION_90)
        {
            parameters.setPreviewSize(capWidth, capHeight);                           
        }

        if(display.getRotation() == Surface.ROTATION_180)
        {
            parameters.setPreviewSize(capHeight, capWidth);               
        }

        if(display.getRotation() == Surface.ROTATION_270)
        {
            parameters.setPreviewSize(capWidth, capHeight);
            camera.setDisplayOrientation(180);
        }

        camera.setParameters(parameters);*/

        camera.startPreview();

El problema es que no veo que algo haya cambiado.

¿Alguna idea?

Respuestas a la pregunta(3)

Su respuesta a la pregunta