詹子聪 5 gadi atpakaļ
vecāks
revīzija
fa4839c7d7

+ 4 - 1
app/src/main/java/com/miekir/ocr/ui/OperationPresenter.java

@@ -485,7 +485,10 @@ public class OperationPresenter extends BasePresenter<IOperationView> {
                     @Override
                     public void onError(@NonNull Throwable e) {
                         super.onError(e);
-                        // todo
+                        if (getView() != null) {
+                            getView().dismissLoading();
+                            getView().onOcrResult(null);
+                        }
                     }
                 });
     }

+ 1 - 1
app/src/main/java/com/miekir/ocr/ui/camera/otalia/OtaCameraActivity.java

@@ -92,7 +92,7 @@ public class OtaCameraActivity extends BaseCameraActivity {
     }
 
     private void setupCamera() {
-        CameraLogger.setLogLevel(CameraLogger.LEVEL_VERBOSE);
+        CameraLogger.setLogLevel(CameraLogger.LEVEL_ERROR);
         camera.setLifecycleOwner(this);
         camera.addCameraListener(new Listener());
         camera.setPlaySounds(false);

+ 23 - 1
app/src/main/java/com/miekir/ocr/ui/camera/otalia/OtaOperationActivity.java

@@ -14,6 +14,7 @@ import android.widget.TextView;
 
 import androidx.annotation.Nullable;
 
+import com.miekir.common.utils.SizeTool;
 import com.miekir.common.utils.ToastTool;
 import com.miekir.common.utils.ViewTool;
 import com.miekir.mvp.presenter.InjectPresenter;
@@ -179,6 +180,23 @@ public class OtaOperationActivity extends OtaCameraActivity implements CropView.
         mTop = startY;
         mRight = endX;
         mBottom = endY;
+        if (mLeft <= 0) {
+            mLeft = 0;
+            mRight += startX;
+        }
+
+        if (mLeft + mRight > SizeTool.SCREEN_WIDTH) {
+            mRight = SizeTool.SCREEN_WIDTH - mLeft;
+        }
+
+        if (mTop <= 0) {
+            mTop = 0;
+            mBottom += startY;
+        }
+
+        if (mTop + mBottom > SizeTool.SCREEN_HEIGHT) {
+            mBottom = SizeTool.SCREEN_HEIGHT - mTop;
+        }
     }
 
     @Override
@@ -187,13 +205,17 @@ public class OtaOperationActivity extends OtaCameraActivity implements CropView.
         showResultDialog(result);
     }
 
+    private AlertDialog dialog;
     /**
      * 弹出识别对话框
      * @param result
      */
     private void showResultDialog(OcrResult result) {
+        if (dialog != null && dialog.isShowing()) {
+            return;
+        }
         mIsUploading = false;
-        AlertDialog dialog = new AlertDialog.Builder(this).setView(R.layout.dialog_result).create();
+        dialog = new AlertDialog.Builder(this).setView(R.layout.dialog_result).create();
         dialog.show();
         dialog.setCancelable(false);
         dialog.setCanceledOnTouchOutside(false);