Android: cómo ocultar / mostrar la barra de progreso en un clic

Estoy tratando de mostrar una barra de progreso cuando se hace clic en un botón. Cuando pruebo la aplicación, la fuerza se cierra / detiene. Mi aplicación funciona bien antes de agregar el código de la barra de progreso.

También estoy usando un botón de alternar si eso puede ser importante, y quiero que la barra de progreso de giro no sea un diálogo.

¿alguna ayuda?

aqui mi codigo:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    button = (Button) findViewById(R.id.buttonFlashlight);
    Context context = this;
    PackageManager pm = context.getPackageManager();


    if (!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
        Log.e("err", "Device has no camera!");
        return;
    }

    camera = Camera.open();
    final Parameters p = camera.getParameters();

    button.setOnClickListener(new OnClickListener() {
        public void onClick(View arg0) {

            if (isLighOn) {

                progressBar1.setVisibility(View.INVISIBLE);

                final MediaPlayer mp1=MediaPlayer.create(getBaseContext(), R.drawable.click);  
                mp1.start(); 

                Log.i("info", "torch is turn off!");
                p.setFlashMode(Parameters.FLASH_MODE_OFF);
                camera.setParameters(p);
                camera.stopPreview();
                isLighOn = false;

                WindowManager.LayoutParams params = getWindow().getAttributes();
                params.screenBrightness = 1.0f;
                getWindow().setAttributes(params);

            } else {

                progressBar1.setVisibility(View.VISIBLE);

                final MediaPlayer mp1=MediaPlayer.create(getBaseContext(), R.drawable.click);  
                mp1.start(); 

                Log.i("info", "torch is turn on!");
                p.setFlashMode(Parameters.FLASH_MODE_TORCH);
                camera.setParameters(p);
                camera.startPreview();
                isLighOn = true;

                WindowManager.LayoutParams params = getWindow().getAttributes();
                params.screenBrightness = 0.05f;
                getWindow().setAttributes(params);
            }
        }
    });
    }

Respuestas a la pregunta(3)

Su respuesta a la pregunta