SCREEN_ORIENTATION_LANDSCAPE boca abajo - ¿Por qué?

Estoy utilizando el siguiente código para establecer el bloqueo de orientación por preferencia del usuario:

 private void doLock(boolean locked) {
     if (locked) {
       int o = getResources().getConfiguration().orientation;
       if (o == Configuration.ORIENTATION_LANDSCAPE)
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);       
       else if (o == Configuration.ORIENTATION_PORTRAIT)
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);       
     } 
     else {
       setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
     }
 }

Funciona, excepto en el caso en el que estoy en modo desbloqueado (SCREEN_ORIENTATION_SENSOR) con la pantalla mostrandoLANDSCAPE correctamente (!), luego invocardoLock(true) y...

en lugar de bloquear la pantalla paraLANDSCAPE en su vista de paisaje actual (correcta), se bloquea en unal revés vista del paisaje. es decir, el mismo exacto pero voltear verticalmente (y se convierte en-y).

¿Por qué es así y cómo abordo este problema para solucionarlo?

Mi investigación inicial revela que haybastante posibilidades distintas de las dos comunes (portrait, landscape), incluyendoreverseLandscape, pero mi corazonada me dice que este problema puede serdependiente del dispositivo Por lo tanto, al usarlo podría estar solucionando el problema solo para mi teléfono, pero no para todos los demás dispositivos.

¿Hay alguna forma de forzar la corrección?landscape orientación (cuando se cambia desensor) en todos los dispositivos?

Para hacer esto más claro y fácil de reproducir, aquí están los pasos que muestran el problema:

Comience con el teléfono girado a la derecha (agujas del reloj), en modo desbloqueado (SCREEN_ORIENTATION_SENSOR) con la pantalla mostrandoLANDSCAPE correctamente (!),Entonces invocardoLock(true)En lugar de bloquear la pantalla aLANDSCAPE en su vista de paisaje actual (correcta), se bloquea en unal revés vista del paisaje. es decir, el mismo exacto pero voltear verticalmente (y se convierte en-y).

Respuestas a la pregunta(4)

Su respuesta a la pregunta