Cambiar la orientación de la pantalla en Android

quiero cambiar la orientación de la pantalla aSENSOR cuando el diseño del marco está visible (es decir, el video se está reproduciendo en pantalla completa), lo que funciona bien, pero quiero volver aRETRATO cuando el diseño del marco desaparece Lo que no funciona (sin errores, pero el código no hace nada) Lo he intentado hasta ahora

// Finally show the custom view container.
        mCustomViewContainer.setVisibility(View.VISIBLE);
        mCustomViewContainer.bringToFront();

        // auto orientation change if video is playing
        if (mCustomViewContainer.getVisibility() == View.VISIBLE) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
        } else {        
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }       
    }

la solución que encontré fue cambiar la orientación al volver a presionar porque es donde también estoy ocultando el diseño de mi marco

@Override
public void onBackPressed() {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    exitdlg = (View) findViewById(R.id.exitdlg);
    options1 = (View) findViewById(R.id.options1);
    if (mCustomView != null) {// close full screen video view if open
        mWebChromeClient.onHideCustomView();// FULL-SCREEN VIDEO-5
    } else if (options1.getVisibility() == View.VISIBLE) {
        findViewById(R.id.options1).setVisibility(View.GONE);

    } else if (exitdlg.getVisibility() == View.GONE) {// this brings
                                                        // up/hides
        // menu 1 on hardware
        // options btn
        // Its visible
        findViewById(R.id.exitdlg).setVisibility(View.VISIBLE);
    } else {
        // Either gone or invisible
        findViewById(R.id.exitdlg).setVisibility(View.GONE);

    }
}

pero solo funciona cuando presiono el botón Atrás dos veces, lo que no quiero.eso es donde obtuve este código