diff --git a/core/src/cz/nic/tablexia/screen/camera/CameraScreen.java b/core/src/cz/nic/tablexia/screen/camera/CameraScreen.java index e506530dc7d2da7a66cde98b34661a5c91e93252..7e8d6e2ba4a81a6ada4265d5b89aab50560aafa4 100644 --- a/core/src/cz/nic/tablexia/screen/camera/CameraScreen.java +++ b/core/src/cz/nic/tablexia/screen/camera/CameraScreen.java @@ -58,7 +58,6 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera private int left, top, height, width, innerWidth, innerHeight; private String decodedData; - private boolean decoded; private boolean hasData; private TablexiaComponentDialog dialog; private Image glass; @@ -66,7 +65,7 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera private boolean sizeIsSet = false; - public enum Mode { + private enum Mode { prepare, preview, done @@ -83,8 +82,6 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera try { result = reader.decode(bitmap); decodedData = result.getText(); - Log.debug(getClass().getSimpleName(), decodedData); - decoded = true; mode = Mode.done; Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 1f); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT); @@ -92,7 +89,7 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera Gdx.app.postRunnable(new Runnable() { @Override public void run() { - showConfirmDialog(); + createSyncWork(); } }); } catch (NotFoundException e) { @@ -103,7 +100,7 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera @Override public boolean scanFinished() { - return decoded; + return decodedData!=null; } @Override @@ -127,14 +124,14 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera @Override protected void screenPaused(Map<String, String> screenState) { - if (!decoded) { + if (!scanFinished()) { deviceCameraControl.stopPreviewAsync(); } } @Override protected void screenResumed() { - if (!decoded) { + if (!scanFinished()) { deviceCameraControl.startPreviewAsync(); } } @@ -172,7 +169,7 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera } // TODO: 15.3.16 add proper dialog text - private void showConfirmDialog() { + private void createSyncWork() { dialog = TablexiaComponentDialogFactory.getInstance().createYesNoDialog( ApplicationTextManager.getInstance().getText(ApplicationTextManager.ApplicationTextsAssets.SYNC_QR_REQUEST_ON_DECODED_DIALOG_TEXT) + decodedData, new ClickListener() { @@ -217,7 +214,6 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera @Override public void clicked(InputEvent event, float x, float y) { resetState(); - backToMenu(); super.clicked(event, x, y); } }); @@ -250,7 +246,7 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera new ClickListener() { //Try again @Override public void clicked(InputEvent event, float x, float y) { - showConfirmDialog(); + createSyncWork(); } } )); @@ -271,7 +267,6 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera private void resetState() { hasData = false; decodedData = null; - decoded = false; deviceCameraControl.prepareCameraAsync(); mode = Mode.prepare; } @@ -302,7 +297,7 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera if (deviceCameraControl == null) { deviceCameraControl = Tablexia.getDeviceCameraControl(); } - if (!decoded) { + if (!scanFinished()) { if (deviceCameraControl.isPreviewReady()) { mode = Mode.preview; } else {