예제 #1
0
 @Override
 protected void onPause() {
   if (handler != null) {
     handler.quitSynchronously();
     handler = null;
   }
   inactivityTimer.onPause();
   ambientLightManager.stop();
   cameraManager.closeDriver();
   if (!hasSurface) {
     SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
     SurfaceHolder surfaceHolder = surfaceView.getHolder();
     surfaceHolder.removeCallback(this);
   }
   super.onPause();
 }
  public void surfaceDestroyed(SurfaceHolder holder) {
    if (getCameraManager() == null) {
      Log.e(TAG, "stopScan: scan already stopped");
      return;
    }

    if (handler != null) {
      handler.quitSynchronously();
      handler = null;
    }

    // inactivityTimer.onPause();
    ambientLightManager.stop();
    // beepManager.close();
    getCameraManager().closeDriver();
    setCameraManager(null);

    if (!hasSurface) {
      SurfaceHolder surfaceHolder = this.getHolder();
      surfaceHolder.removeCallback(this);
    }
  }