Skip to content

Commit 54be83d

Browse files
committed
clear up project
1 parent 18afa29 commit 54be83d

27 files changed

Lines changed: 107 additions & 878 deletions

czxing/src/main/java/me/devilsen/czxing/ResultActivity.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package me.devilsen.czxing;
22

3-
import android.app.Activity;
43
import android.content.ClipData;
54
import android.content.ClipboardManager;
65
import android.content.Context;
@@ -10,12 +9,14 @@
109
import android.widget.TextView;
1110
import android.widget.Toast;
1211

12+
import androidx.appcompat.app.AppCompatActivity;
13+
1314
/**
1415
* @author : dongSen
1516
* date : 2019/07/21
1617
* desc : 扫码结果显示界面
1718
*/
18-
public class ResultActivity extends Activity implements View.OnClickListener {
19+
public class ResultActivity extends AppCompatActivity implements View.OnClickListener {
1920

2021
private TextView resultTxt;
2122

czxing/src/main/java/me/devilsen/czxing/ScanActivity.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@
1515
import android.widget.TextView;
1616

1717
import androidx.annotation.NonNull;
18+
import androidx.core.app.ActivityCompat;
19+
import androidx.core.content.ContextCompat;
1820

1921
import java.util.List;
2022

2123
import me.devilsen.czxing.code.BarcodeFormat;
2224
import me.devilsen.czxing.code.CodeResult;
23-
import me.devilsen.czxing.compat.ActivityCompat;
24-
import me.devilsen.czxing.compat.ContextCompat;
2525
import me.devilsen.czxing.util.BarCodeUtil;
2626
import me.devilsen.czxing.util.ScreenUtil;
27-
import me.devilsen.czxing.util.SoundPoolUtil;
27+
import me.devilsen.czxing.util.SoundPlayer;
2828
import me.devilsen.czxing.view.scanview.ScanActivityDelegate;
2929
import me.devilsen.czxing.view.scanview.ScanBoxView;
3030
import me.devilsen.czxing.view.scanview.ScanLayout;
@@ -46,7 +46,7 @@ public class ScanActivity extends Activity implements ScanListener, View.OnClick
4646
private TextView titleTxt;
4747
private TextView albumTxt;
4848
private ScanLayout mScanLayout;
49-
private SoundPoolUtil mSoundPoolUtil;
49+
private SoundPlayer mSoundPoolUtil;
5050

5151
private boolean isContinuousScan;
5252

@@ -78,7 +78,7 @@ protected void onCreate(Bundle savedInstanceState) {
7878
scanDelegate = ScanActivityDelegate.getInstance().getScanDelegate();
7979
clickAlbumDelegate = ScanActivityDelegate.getInstance().getOnClickAlbumDelegate();
8080

81-
mSoundPoolUtil = new SoundPoolUtil();
81+
mSoundPoolUtil = new SoundPlayer();
8282
mSoundPoolUtil.loadDefault(this);
8383

8484
initData();

czxing/src/main/java/me/devilsen/czxing/camera/ScanCamera.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import android.graphics.Point;
55
import android.os.SystemClock;
66

7-
import me.devilsen.czxing.util.SensorController;
87
import me.devilsen.czxing.view.AutoFitSurfaceView;
98

109
/**

czxing/src/main/java/me/devilsen/czxing/util/SensorController.java renamed to czxing/src/main/java/me/devilsen/czxing/camera/SensorController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.devilsen.czxing.util;
1+
package me.devilsen.czxing.camera;
22

33
import android.app.Activity;
44
import android.content.Context;

czxing/src/main/java/me/devilsen/czxing/camera/camera1/Camera1Surface.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import me.devilsen.czxing.util.BarCodeUtil;
1717
import me.devilsen.czxing.util.CameraUtil;
18-
import me.devilsen.czxing.util.SensorController;
18+
import me.devilsen.czxing.camera.SensorController;
1919

2020
/**
2121
* @author : dongSen

czxing/src/main/java/me/devilsen/czxing/camera/camera2/ScanCamera2.java

Lines changed: 62 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import android.hardware.camera2.CaptureRequest;
1717
import android.hardware.camera2.TotalCaptureResult;
1818
import android.hardware.camera2.params.MeteringRectangle;
19+
import android.media.Image;
1920
import android.media.ImageReader;
2021
import android.os.Build;
2122
import android.os.Handler;
@@ -25,16 +26,16 @@
2526
import android.view.SurfaceHolder;
2627

2728
import androidx.annotation.NonNull;
29+
import androidx.annotation.Nullable;
2830
import androidx.annotation.RequiresApi;
31+
import androidx.core.app.ActivityCompat;
2932

3033
import java.util.ArrayList;
3134
import java.util.List;
3235

3336
import me.devilsen.czxing.camera.CameraSize;
3437
import me.devilsen.czxing.camera.ScanCamera;
35-
import me.devilsen.czxing.compat.ActivityCompat;
3638
import me.devilsen.czxing.util.BarCodeUtil;
37-
import me.devilsen.czxing.util.Camera2Helper;
3839
import me.devilsen.czxing.view.AutoFitSurfaceView;
3940

4041
/**
@@ -243,7 +244,7 @@ private void initializeCamera() {
243244
Size[] outputSizes = mCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP)
244245
.getOutputSizes(pixelFormat);
245246
Boolean available = mCharacteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
246-
isFlashSupported = available == null ? false : available;
247+
isFlashSupported = available != null && available;
247248
Integer afRegion = mCharacteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AF);
248249
isAFSupported = afRegion != null && afRegion >= 1;
249250
Integer aeState = mCharacteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AE);
@@ -266,7 +267,7 @@ private void initializeCamera() {
266267
public void onImageAvailable(ImageReader reader) {
267268
if (mScanCallback != null && mImageReader != null) {
268269
// BarCodeUtil.d("image reader: width = " + mImageReader.getWidth() + " height = " + mImageReader.getHeight());
269-
mScanCallback.onPreviewFrame(Camera2Helper.readYuv(reader), mImageReader.getWidth(), mImageReader.getHeight());
270+
mScanCallback.onPreviewFrame(readYuv(reader), mImageReader.getWidth(), mImageReader.getHeight());
270271
}
271272
}
272273
}, null);
@@ -495,4 +496,61 @@ public void touchZoom(float distance) {
495496
}
496497
zoom(mZoomLevel);
497498
}
499+
500+
/***
501+
* ImageReader中读取YUV
502+
*/
503+
@Nullable
504+
public byte[] readYuv(ImageReader reader) {
505+
Image image;
506+
image = reader.acquireLatestImage();
507+
if (image == null) {
508+
return null;
509+
}
510+
// BarCodeUtil.d("image width = " + image.getWidth() + " height = " + image.getHeight());
511+
byte[] data = getByteFromImage(image);
512+
image.close();
513+
return data;
514+
}
515+
516+
@Nullable
517+
private byte[] getByteFromImage(Image image) {
518+
byte[] nv21 = null;
519+
try {
520+
if (image == null || image.getPlanes() == null || image.getPlanes().length == 0)
521+
return null;
522+
Image.Plane[] planes = image.getPlanes();
523+
int remaining0 = planes[0].getBuffer().remaining();
524+
int remaining2 = planes[2].getBuffer().remaining();
525+
int w = image.getWidth();
526+
int h = image.getHeight();
527+
byte[] yRawSrcBytes = new byte[remaining0];
528+
byte[] uvRawSrcBytes = new byte[remaining2];
529+
nv21 = new byte[w * h * 3 / 2];
530+
planes[0].getBuffer().get(yRawSrcBytes);
531+
planes[2].getBuffer().get(uvRawSrcBytes);
532+
//0b10000001 对应-127,YUV灰度操作
533+
// for (int i = 0; i < uvRawSrcBytes.length; i++)
534+
// nv21[yRawSrcBytes.length + i] = (byte) 0b10000001;
535+
for (int i = 0; i < h; i++) {
536+
System.arraycopy(yRawSrcBytes, planes[0].getRowStride() * i,
537+
nv21, w * i, w);
538+
539+
if (i > image.getHeight() / 2)
540+
continue;
541+
542+
int offset = w * (h + i);
543+
544+
if (offset + w >= nv21.length)
545+
continue;
546+
547+
System.arraycopy(uvRawSrcBytes, planes[2].getRowStride() * i,
548+
nv21, offset, w);
549+
}
550+
return nv21;
551+
} catch (Exception e) {
552+
return nv21;
553+
}
554+
}
555+
498556
}

czxing/src/main/java/me/devilsen/czxing/compat/ActivityCompat.java

Lines changed: 0 additions & 173 deletions
This file was deleted.

czxing/src/main/java/me/devilsen/czxing/compat/BarRequiresApi.java

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)