From 7562541202056446945028026f1cbc64bb2407db Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 25 六月 2024 14:49:07 +0800
Subject: [PATCH] 2024年06月25日14:48:56

---
 app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java |  144 ++++++++++++++++++++++++++---------------------
 1 files changed, 80 insertions(+), 64 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java
similarity index 77%
rename from app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java
rename to app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java
index 92474de..61fe5f6 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java
@@ -1,29 +1,36 @@
 package com.hdl.photovoltaic.ui.device;
 
-import androidx.appcompat.content.res.AppCompatResources;
-import androidx.core.app.ActivityCompat;
-import androidx.core.content.ContextCompat;
-
-import android.Manifest;
+import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
-import android.content.pm.PackageManager;
+import android.content.res.Configuration;
+import android.content.res.Resources;
 import android.database.Cursor;
 import android.graphics.Rect;
 import android.hardware.Camera;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.provider.MediaStore;
 import android.text.TextUtils;
+import android.util.DisplayMetrics;
 import android.util.Log;
+import android.view.LayoutInflater;
 import android.view.SurfaceHolder;
 import android.view.SurfaceView;
 import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
 import android.view.animation.Animation;
 import android.view.animation.TranslateAnimation;
 import android.widget.ImageView;
 import android.widget.RelativeLayout;
+import android.widget.TextView;
 import android.widget.Toast;
+
+
+import androidx.appcompat.content.res.AppCompatResources;
 
 import com.google.zxing.BinaryBitmap;
 import com.google.zxing.ChecksumException;
@@ -35,9 +42,11 @@
 import com.google.zxing.qrcode.QRCodeReader;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
-import com.hdl.photovoltaic.databinding.ActivityFastScanBinding;
+import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.uni.HDLUniMP;
+import com.hdl.photovoltaic.utils.LocalManageUtil;
+import com.jaeger.library.StatusBarUtil;
 import com.zxing.IZxingActivity;
 import com.zxing.camera.CameraManager;
 import com.zxing.decode.DecodeThread;
@@ -50,9 +59,13 @@
 import java.io.IOException;
 import java.lang.reflect.Field;
 import java.util.Hashtable;
+import java.util.Locale;
 
-public class FastScanActivity extends CustomBaseActivity implements IZxingActivity, SurfaceHolder.Callback {
-    private static final String TAG = "FastScanActivity";
+/**
+ * 鎵竴鎵�
+ */
+public class ScanActivity extends Activity implements IZxingActivity, SurfaceHolder.Callback {
+    private static final String TAG = ScanActivity.class.getSimpleName();
     private final int REQUEST_CODE = 33;
     private CameraManager cameraManager;
     private CaptureActivityHandler handler;
@@ -61,9 +74,10 @@
     private SurfaceView scanPreview = null;
     private RelativeLayout scanContainer;
     private RelativeLayout scanCropView;
+    private TextView tvCancel;
     private Rect mCropRect = null;
     private boolean isHasSurface = false;
-    private ActivityFastScanBinding viewBinding;
+
 
     @Override
     public Handler getHandler() {
@@ -80,34 +94,51 @@
         return cameraManager;
     }
 
-    @Override
-    public Object getContentView() {
-        viewBinding = ActivityFastScanBinding.inflate(getLayoutInflater());
-        return viewBinding.getRoot();
+    public int getRootLayoutId() {
+        return R.layout.activity_scan;
     }
 
     @Override
-    public void onBindView(Bundle savedInstanceState) {
-        setStatusBarTranslucent();
-//        Window window = getWindow();
-//        window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
-//        //璁剧疆鏍硅鍥�
-//        View mContentView = LayoutInflater.from(this).inflate(R.layout.activity_new_capture, null);
-//        setContentView(mContentView);
-        //鍒濆鍖�
-        initView(savedInstanceState);
-        //鍒濆鍖栫晫闈㈢洃鍚櫒
-        initEvent();
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Resources resources = this.getResources();
+        Configuration configuration = resources.getConfiguration();
+        Locale locale = LocalManageUtil.getLocale(UserConfigManage.getInstance().getCurrentAppLanguage());
+        // app locale 榛樿绠�浣撲腑鏂�
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
+            configuration.setLocale(locale);
+        } else {
+            configuration.locale = locale;
+        }
+        DisplayMetrics dm = resources.getDisplayMetrics();
+        resources.updateConfiguration(configuration, dm);
+
+        StatusBarUtil.setTranslucentForImageViewInFragment(this,
+                0, null);
+        StatusBarUtil.setLightMode(this);
+
+        Window window = getWindow();
+        window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+        //璁剧疆鏍硅鍥�
+        View mContentView = LayoutInflater.from(this).inflate(getRootLayoutId(), null);
+        setContentView(mContentView);
+        afterViewBind(mContentView, savedInstanceState);
+
     }
 
-
-    private void initView(Bundle savedInstanceState) {
-
-
-        scanPreview = findViewById(R.id.new_capture_preview);
-        scanContainer = findViewById(R.id.new_capture_rl);
-        scanCropView = findViewById(R.id.new_capture_crop_view);
-        ImageView scanLine = findViewById(R.id.new_capture_scan_line);
+    public void afterViewBind(View rootView, Bundle savedInstanceState) {
+        tvCancel = findViewById(R.id.tv_text_cancel);
+        tvCancel.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+//                enterGallery();
+            }
+        });
+        scanPreview = findViewById(R.id.capture_preview);
+        scanContainer = findViewById(R.id.capture_container);
+        scanCropView = findViewById(R.id.capture_crop_view);
+        ImageView scanLine = findViewById(R.id.capture_scan_line);
         inactivityTimer = new InactivityTimer(this);
         beepManager = new BeepManager(this);
 
@@ -118,27 +149,16 @@
         animation.setRepeatCount(-1);
         animation.setRepeatMode(Animation.RESTART);
         scanLine.startAnimation(animation);
-    }
-
-    private void initEvent() {
-
-        viewBinding.newTopBackBtn.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-
-
-
-        viewBinding.newLightIv.setOnClickListener(new View.OnClickListener() {
+        ImageView imageView = findViewById(R.id.light_iv);
+        //寮�鍚棯鍏夌伅鎸夐挳浜嬩欢
+        imageView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 v.setSelected(!v.isSelected());
                 if (v.isSelected()) {
-                    viewBinding.newLightIv.setImageDrawable(AppCompatResources.getDrawable(FastScanActivity.this, com.zxing.R.drawable.fast_scan_light_open));
+                    imageView.setImageDrawable(AppCompatResources.getDrawable(ScanActivity.this, com.zxing.R.drawable.fast_scan_light_open));
                 } else {
-                    viewBinding.newLightIv.setImageDrawable(AppCompatResources.getDrawable(FastScanActivity.this, com.zxing.R.drawable.fast_scan_light_close));
+                    imageView.setImageDrawable(AppCompatResources.getDrawable(ScanActivity.this, com.zxing.R.drawable.fast_scan_light_close));
                 }
                 flashLightOnOrOff();
 
@@ -146,14 +166,13 @@
         });
     }
 
-
     public void enterGallery() {
         // 杩涘叆鍥惧簱
-        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
-        intent.addCategory(Intent.CATEGORY_OPENABLE);
-        intent.setType("image/*");
-        intent.putExtra("return-data", true);
-        startActivityForResult(intent, REQUEST_CODE);
+        Intent pickIntent = new Intent(Intent.ACTION_PICK,
+                MediaStore.Images.Media.EXTERNAL_CONTENT_URI);//鍚姩绯荤粺鐩稿唽
+        pickIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
+        startActivityForResult(pickIntent, REQUEST_CODE);
+
     }
 
     @Override
@@ -246,11 +265,11 @@
             initCrop();
         } catch (IOException ioe) {
             Log.w(TAG, ioe);
-            Toast.makeText(this, com.zxing.R.string.capture_no_camera, Toast.LENGTH_SHORT).show();
+            Toast.makeText(this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show();
             finish();
         } catch (RuntimeException e) {
             Log.w(TAG, "Unexpected error initializing camera", e);
-            Toast.makeText(this, com.zxing.R.string.capture_no_camera, Toast.LENGTH_SHORT).show();
+            Toast.makeText(this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show();
             finish();
         }
     }
@@ -315,25 +334,24 @@
     }
 
     private void doProcess(String result) {
-        Log.d("panlili", "scanResult: " + result);
         /*if (!DeviceHelper.getNetworkState()) {
             Toast.makeText(this, R.string.capture_no_network, Toast.LENGTH_SHORT).show();
             return;
         }*/
 
         if (TextUtils.isEmpty(result)) {
-            Toast.makeText(this, com.zxing.R.string.capture_no_result, Toast.LENGTH_SHORT).show();
+            Toast.makeText(this, R.string.capture_no_result, Toast.LENGTH_SHORT).show();
         } else {
             Intent intent = new Intent();
             intent.putExtra("data", result);
             setResult(RESULT_OK, intent);
             finish();
-
             //EventBus浜嬩欢鍒嗗彂
             HdlCommonLogic.getInstance().postEventBusSticky(
                     HDLUniMP.UNI_EVENT_REPLY_HOME_ADD,
                     HDLUniMP.UNI_EVENT_REPLY_HOME_ADD,
                     result);
+
         }
     }
 
@@ -356,7 +374,7 @@
                 if (!TextUtils.isEmpty(path)) {
                     handleQRCodeFormPhoto(path);
                 } else {
-                    Toast.makeText(this, "鍥剧墖宸叉崯鍧忥紝璇烽噸鏂伴�夋嫨锛�", Toast.LENGTH_SHORT).show();
+//                    Toast.makeText(this, R.string.pic_error, Toast.LENGTH_SHORT).show();
                 }
             }
         }
@@ -401,14 +419,13 @@
             @Override
             public void run() {
                 if (progressInfo == null) {
-                    Toast.makeText(FastScanActivity.this, com.zxing.R.string.capture_no_result2, Toast.LENGTH_SHORT).show();
+                    Toast.makeText(ScanActivity.this, R.string.capture_no_result2, Toast.LENGTH_SHORT).show();
                 } else {
                     doProcess(progressInfo.toString());
                 }
             }
         });
     }
-
 
     /**
      * 闂厜鐏紑鍚垨鑰呭叧闂�
@@ -437,6 +454,5 @@
         parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
         camera.setParameters(parameters);
     }
-
 
 }

--
Gitblit v1.8.0