android:update scan qrcode lib
This commit is contained in:
parent
c51fc83537
commit
44286bcb28
@ -32,11 +32,12 @@ dependencies {
|
|||||||
implementation "com.google.android.material:material:1.0.0"
|
implementation "com.google.android.material:material:1.0.0"
|
||||||
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
|
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
|
||||||
implementation 'com.google.code.gson:gson:2.8.5'
|
implementation 'com.google.code.gson:gson:2.8.5'
|
||||||
implementation 'cn.bingoogolapple:bga-qrcode-zbar:1.3.7'
|
|
||||||
api 'org.greenrobot:eventbus:3.1.1'
|
api 'org.greenrobot:eventbus:3.1.1'
|
||||||
testImplementation 'junit:junit:4.12'
|
testImplementation 'junit:junit:4.12'
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
||||||
|
implementation 'cn.yipianfengye.android:zxing-library:2.2'
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
apply from: rootProject.file('scripts/upload.gradle')
|
apply from: rootProject.file('scripts/upload.gradle')
|
@ -1,12 +1,11 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="pub.doric.devkit">
|
package="pub.doric.devkit">
|
||||||
|
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||||
<uses-permission android:name="android.permission.CAMERA" />
|
<uses-permission android:name="android.permission.CAMERA" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||||
|
|
||||||
<application>
|
<application>
|
||||||
<activity android:name=".ui.DoricDevActivity" />
|
<activity android:name=".ui.DoricDevActivity" />
|
||||||
<activity android:name=".ui.ScanQRCodeActivity" />
|
|
||||||
</application>
|
</application>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
@ -53,7 +53,7 @@ public class WSClient extends WebSocketListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void close() {
|
public void close() {
|
||||||
webSocket.close(1024, "Close");
|
webSocket.close(1000, "Close");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -97,6 +97,7 @@ public class WSClient extends WebSocketListener {
|
|||||||
@Override
|
@Override
|
||||||
public void onClosed(WebSocket webSocket, int code, String reason) {
|
public void onClosed(WebSocket webSocket, int code, String reason) {
|
||||||
super.onClosed(webSocket, code, reason);
|
super.onClosed(webSocket, code, reason);
|
||||||
|
EventBus.getDefault().post(new ConnectExceptionEvent());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -9,6 +9,7 @@ import android.view.View;
|
|||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@ -17,6 +18,9 @@ import androidx.core.app.ActivityCompat;
|
|||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
import com.uuzuche.lib_zxing.activity.CaptureActivity;
|
||||||
|
import com.uuzuche.lib_zxing.activity.CodeUtils;
|
||||||
|
import com.uuzuche.lib_zxing.activity.ZXingLibrary;
|
||||||
|
|
||||||
import org.greenrobot.eventbus.EventBus;
|
import org.greenrobot.eventbus.EventBus;
|
||||||
import org.greenrobot.eventbus.Subscribe;
|
import org.greenrobot.eventbus.Subscribe;
|
||||||
@ -34,11 +38,12 @@ import pub.doric.devkit.event.OpenEvent;
|
|||||||
import pub.doric.devkit.event.StartDebugEvent;
|
import pub.doric.devkit.event.StartDebugEvent;
|
||||||
|
|
||||||
public class DoricDevActivity extends AppCompatActivity {
|
public class DoricDevActivity extends AppCompatActivity {
|
||||||
|
private int REQUEST_CODE=100;
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
EventBus.getDefault().register(this);
|
EventBus.getDefault().register(this);
|
||||||
|
ZXingLibrary.initDisplayOpinion(this);
|
||||||
setContentView(R.layout.layout_debug_context);
|
setContentView(R.layout.layout_debug_context);
|
||||||
initDisconnect();
|
initDisconnect();
|
||||||
if (DoricDev.getInstance().isInDevMode()) {
|
if (DoricDev.getInstance().isInDevMode()) {
|
||||||
@ -57,8 +62,8 @@ public class DoricDevActivity extends AppCompatActivity {
|
|||||||
new String[]{Manifest.permission.CAMERA,}, 1);
|
new String[]{Manifest.permission.CAMERA,}, 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Intent intent = new Intent(DoricDevActivity.this, ScanQRCodeActivity.class);
|
Intent intent = new Intent(DoricDevActivity.this, CaptureActivity.class);
|
||||||
startActivity(intent);
|
startActivityForResult(intent, REQUEST_CODE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -71,13 +76,30 @@ public class DoricDevActivity extends AppCompatActivity {
|
|||||||
if (requestCode == 1) {
|
if (requestCode == 1) {
|
||||||
for (int i = 0; i < permissions.length; i++) {
|
for (int i = 0; i < permissions.length; i++) {
|
||||||
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
|
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
|
||||||
Intent intent = new Intent(DoricDevActivity.this, ScanQRCodeActivity.class);
|
Intent intent = new Intent(DoricDevActivity.this, CaptureActivity.class);
|
||||||
startActivity(intent);
|
startActivityForResult(intent, REQUEST_CODE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
if (null != data) {
|
||||||
|
Bundle bundle = data.getExtras();
|
||||||
|
if (bundle == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
|
||||||
|
String result = bundle.getString(CodeUtils.RESULT_STRING);
|
||||||
|
DevKit.ip = result;
|
||||||
|
Toast.makeText(this, "dev kit connecting to " + result, Toast.LENGTH_LONG).show();
|
||||||
|
DevKit.getInstance().connectDevKit("ws://" + result + ":7777");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
@ -107,7 +129,9 @@ public class DoricDevActivity extends AppCompatActivity {
|
|||||||
button.setOnClickListener(new View.OnClickListener() {
|
button.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
DoricDev.getInstance().closeDevMode();
|
if(DoricDev.getInstance().isInDevMode()){
|
||||||
|
DoricDev.getInstance().closeDevMode();
|
||||||
|
}
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,76 +0,0 @@
|
|||||||
package pub.doric.devkit.ui;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
|
|
||||||
import cn.bingoogolapple.qrcode.core.QRCodeView;
|
|
||||||
import cn.bingoogolapple.qrcode.zbar.ZBarView;
|
|
||||||
import pub.doric.devkit.DevKit;
|
|
||||||
import pub.doric.devkit.R;
|
|
||||||
|
|
||||||
public class ScanQRCodeActivity extends AppCompatActivity implements QRCodeView.Delegate {
|
|
||||||
|
|
||||||
private ZBarView mZbarView;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
setContentView(R.layout.layout_scan_qrcode);
|
|
||||||
mZbarView = findViewById(R.id.zbar_view);
|
|
||||||
mZbarView.setDelegate(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onStart() {
|
|
||||||
super.onStart();
|
|
||||||
|
|
||||||
mZbarView.startCamera();
|
|
||||||
mZbarView.startSpotAndShowRect();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onStop() {
|
|
||||||
super.onStop();
|
|
||||||
mZbarView.stopCamera();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onDestroy() {
|
|
||||||
mZbarView.onDestroy();
|
|
||||||
super.onDestroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onScanQRCodeSuccess(String result) {
|
|
||||||
setTitle("扫描结果为:" + result);
|
|
||||||
DevKit.ip = result;
|
|
||||||
Toast.makeText(this, "dev kit connecting to " + result, Toast.LENGTH_LONG).show();
|
|
||||||
DevKit.getInstance().connectDevKit("ws://" + result + ":7777");
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCameraAmbientBrightnessChanged(boolean isDark) {
|
|
||||||
String tipText = mZbarView.getScanBoxView().getTipText();
|
|
||||||
String ambientBrightnessTip = "\n环境过暗,请打开闪光灯";
|
|
||||||
if (isDark) {
|
|
||||||
if (!tipText.contains(ambientBrightnessTip)) {
|
|
||||||
mZbarView.getScanBoxView().setTipText(tipText + ambientBrightnessTip);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (tipText.contains(ambientBrightnessTip)) {
|
|
||||||
tipText = tipText.substring(0, tipText.indexOf(ambientBrightnessTip));
|
|
||||||
mZbarView.getScanBoxView().setTipText(tipText);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onScanQRCodeOpenCameraError() {
|
|
||||||
System.out.println();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<cn.bingoogolapple.qrcode.zbar.ZBarView
|
|
||||||
android:id="@+id/zbar_view"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
app:qrcv_animTime="1000"
|
|
||||||
app:qrcv_borderColor="@android:color/white"
|
|
||||||
app:qrcv_borderSize="1dp"
|
|
||||||
app:qrcv_cornerColor="@android:color/white"
|
|
||||||
app:qrcv_cornerLength="20dp"
|
|
||||||
app:qrcv_cornerSize="3dp"
|
|
||||||
app:qrcv_isShowDefaultScanLineDrawable="true"
|
|
||||||
app:qrcv_maskColor="#33FFFFFF"
|
|
||||||
app:qrcv_rectWidth="200dp"
|
|
||||||
app:qrcv_scanLineColor="@android:color/white"
|
|
||||||
app:qrcv_topOffset="90dp" />
|
|
||||||
</LinearLayout>
|
|
Reference in New Issue
Block a user