Project rebuild & clean up.

This commit is contained in:
dxl
2020-04-13 12:17:12 +08:00
parent 86e2e9c5cf
commit df501b9181
2326 changed files with 297 additions and 2980642 deletions
+1 -2
View File
@@ -61,10 +61,9 @@ dependencies {
implementation project(':console')
implementation project(':chameleon')
implementation project(':communication')
implementation project(':pm3official')
implementation project(':pm3iceman')
implementation project(':pm3rdv4rrg')
testImplementation 'junit:junit:4.12'
implementation project(path: ':pm3flasher')
implementation project(path: ':xmodem')
}
@@ -18,6 +18,8 @@ import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import com.proxgrind.xmodem.XModem128;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -43,9 +45,8 @@ import cn.rrg.chameleon.javabean.ResultBean;
import cn.rrg.chameleon.defined.ResultCallback;
import cn.rrg.rdv.activities.main.BaseActivity;
import cn.rrg.rdv.activities.tools.ChameleonSoltAliasesActivity;
import cn.rrg.rdv.activities.tools.DumpEditActivity;
import cn.rrg.rdv.application.Properties;
import cn.dxl.common.posixio.Communication;
import cn.dxl.com.Communication;
import cn.rrg.rdv.R;
import cn.rrg.rdv.callback.DumpCallback;
import cn.rrg.rdv.models.DumpModel;
@@ -59,7 +60,6 @@ import cn.dxl.common.widget.ToastUtil;
import cn.dxl.common.util.HexUtil;
import cn.dxl.common.implement.ItemSelectedListenerImpl;
import cn.dxl.common.util.ViewUtil;
import cn.dxl.common.xmodem.XModem128;
/**
* @author DXL
@@ -7,7 +7,7 @@ import androidx.annotation.Nullable;
import cn.rrg.devices.PN53X;
import cn.rrg.rdv.models.AbstractDeviceModel;
import cn.rrg.rdv.models.UniversalBulkRawModel;
import cn.rrg.rdv.models.UniversalBulkPN53XRawModel;
public class PN53XUsbBulkTransferActivity extends AbstractPN53XConnectActivity {
@@ -26,7 +26,7 @@ public class PN53XUsbBulkTransferActivity extends AbstractPN53XConnectActivity {
@Override
public AbstractDeviceModel[] getModels() {
return new AbstractDeviceModel[]{
new UniversalBulkRawModel(name)
new UniversalBulkPN53XRawModel(name)
};
}
}
@@ -1,22 +1,17 @@
package cn.rrg.rdv.activities.main;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.bumptech.glide.Glide;
import com.proxgrind.pm3flasher.Proxmark3Flasher;
import com.proxgrind.pm3flasher.Target;
import cn.dxl.com.Com;
import cn.dxl.common.util.LogUtils;
import cn.dxl.com.ComBridgeAdapter;
import cn.dxl.common.widget.ToastUtil;
import cn.rrg.com.DevCallback;
import cn.rrg.com.UsbSerialControl;
@@ -46,8 +41,8 @@ public class PM3FlasherMainActivity extends BaseActivity implements DevCallback<
setContentView(R.layout.act_pm3_flasher);
// init and try to connect.
control.register(this, this);
Com.initCom(control, new EmptyDeivce());
control.register(this);
ComBridgeAdapter.initCom(control);
initViews();
initActions();
@@ -142,7 +137,7 @@ public class PM3FlasherMainActivity extends BaseActivity implements DevCallback<
protected void onDestroy() {
super.onDestroy();
mDialogWorkingState.dismiss();
control.unregister(this);
control.unregister();
closeClient();
}
@@ -1,19 +0,0 @@
package cn.rrg.rdv.activities.proxmark3.iceman;
import cn.rrg.console.define.ICommandTools;
import cn.rrg.natives.Proxmark3IcemanTools;
import cn.rrg.rdv.activities.proxmark3.official.Proxmark3ConsoleActivity;
/*
* PM3冰人客户端的基础控制台!
* */
public class Proxmark3IcemanConsoleActivity
extends Proxmark3ConsoleActivity {
@Override
protected ICommandTools initCMD() {
//替换为冰人的控制台工具对象!
return new Proxmark3IcemanTools();
}
}
@@ -1,24 +1,22 @@
package cn.rrg.rdv.activities.proxmark3.official;
package cn.rrg.rdv.activities.proxmark3.rdv4_rrg;
import android.os.Bundle;
import androidx.annotation.Nullable;
import android.util.Log;
import android.view.View;
import android.widget.CompoundButton;
import androidx.annotation.Nullable;
import java.io.File;
import cn.dxl.common.util.FileUtils;
import cn.rrg.console.define.ICommandTools;
import cn.rrg.console.define.ICommandType;
import cn.rrg.freo.IORedirector;
import cn.rrg.console.define.ICommandTools;
import cn.rrg.natives.Proxmark3Tools;
import cn.rrg.rdv.R;
import cn.rrg.rdv.activities.tools.BaseConsoleActivity;
import cn.rrg.rdv.implement.EntryICommandType;
import cn.rrg.rdv.util.Paths;
import cn.rrg.rdv.R;
public abstract class Proxmark3ConsoleActivity
extends BaseConsoleActivity
@@ -88,11 +86,6 @@ public abstract class Proxmark3ConsoleActivity
return guiView;
}
@Override
protected ICommandTools initCMD() {
return new Proxmark3Tools();
}
@Override
protected File initOutTarget() {
return new File(Paths.PM3_FORWARD_O);
@@ -2,7 +2,6 @@ package cn.rrg.rdv.activities.proxmark3.rdv4_rrg;
import cn.rrg.console.define.ICommandTools;
import cn.rrg.natives.Proxmark3RRGRdv4Tools;
import cn.rrg.rdv.activities.proxmark3.official.Proxmark3ConsoleActivity;
public class Proxmark3Rdv4RRGConsoleActivity
extends Proxmark3ConsoleActivity {
@@ -59,7 +59,7 @@ public abstract class DeviceConnectActivity
models = getModels();
//在onCreate中注册数据源!
for (AbstractDeviceModel model : models) {
model.register(this);
model.register();
}
Fragment newDevFragment = new DeviceConnectNewFragment();
@@ -101,7 +101,7 @@ public abstract class DeviceConnectActivity
protected void onDestroy() {
super.onDestroy();
for (AbstractDeviceModel model : models) {
model.unregister(this);
model.unregister();
}
}
@@ -1,5 +1,6 @@
package cn.rrg.rdv.driver;
import android.app.Application;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -9,12 +10,14 @@ import android.util.Log;
import java.io.IOException;
import cn.dxl.common.util.AppUtil;
import cn.dxl.mifare.StdMifareIntent;
import cn.rrg.com.DevCallback;
import cn.rrg.com.DriverInterface;
public class StandardDriver implements DriverInterface<String, NfcAdapter> {
private Application context = AppUtil.getInstance().getApp();
private static final String LOG_TAG = StandardDriver.class.getSimpleName();
private static final int UNIQUE_ID = 0x05;
private DevCallback<String> callback = null;
@@ -54,7 +57,7 @@ public class StandardDriver implements DriverInterface<String, NfcAdapter> {
}
@Override
public void register(Context context, DevCallback<String> callback) {
public void register(DevCallback<String> callback) {
if (!isRegister) {
//实例化工具持有
mMftools = new StdMifareIntent(context);
@@ -98,7 +101,7 @@ public class StandardDriver implements DriverInterface<String, NfcAdapter> {
}
@Override
public void unregister(Context context) {
public void unregister() {
//解注册广播监听事件!
context.unregisterReceiver(mReceiver);
isRegister = false;
@@ -8,12 +8,13 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import cn.dxl.common.util.IOUtils;
import cn.dxl.common.util.LogUtils;
import cn.rrg.com.DevCallback;
import cn.rrg.com.DriverInterface;
import cn.dxl.com.Com;
import cn.rrg.com.Device;
import cn.dxl.com.ComBridgeAdapter;
import cn.dxl.com.DeviceChecker;
import cn.rrg.rdv.javabean.DevBean;
import cn.rrg.rdv.callback.ConnectCallback;
import cn.rrg.rdv.callback.InitNfcCallback;
@@ -29,7 +30,7 @@ public abstract class AbstractDeviceModel<D, A>
protected final String TAG = this.getClass().getSimpleName();
//设备初始化类
protected Device mDevice;
protected DeviceChecker mDeviceChecker;
//驱动的实现,此实例必须被初始化!
protected DriverInterface<D, A> mDI;
@@ -50,8 +51,8 @@ public abstract class AbstractDeviceModel<D, A>
// 初始化资源!
if (mDI == null)
mDI = getDriverInterface();
if (mDevice == null)
mDevice = getDeviceInitImpl();
if (mDeviceChecker == null)
mDeviceChecker = getDeviceInitImpl();
if (devCallbackImpl == null)
devCallbackImpl = getDevCallback();
}
@@ -112,22 +113,22 @@ public abstract class AbstractDeviceModel<D, A>
}
//注册需要的广播事件
public void register(Context context) {
public void register() {
init();
// 注册驱动!
if (mDI != null) {
//直接注册!
mDI.register(context, devCallbackImpl);
mDI.register(devCallbackImpl);
} else {
Log.d(TAG, "驱动为空,可能是因为没有加载该驱动!");
}
}
//解注册广播事件!
public void unregister(Context context) {
public void unregister() {
//直接解注册!
if (mDI != null)
mDI.unregister(context);
mDI.unregister();
}
// 设置当前驱动的链接状态!
@@ -144,7 +145,7 @@ public abstract class AbstractDeviceModel<D, A>
public abstract DriverInterface<D, A> getDriverInterface();
//必须初始化的设备初始化类!
public abstract Device getDeviceInitImpl();
public abstract DeviceChecker getDeviceInitImpl();
//必须初始化的设备扫描相关的实现!
public abstract DevCallback<D> getDevCallback();
@@ -171,17 +172,19 @@ public abstract class AbstractDeviceModel<D, A>
@Override
public void run() {
//直接连接,有需要时可重写!
if (Com.initCom(mDI, mDevice)) {
callback.onInitSuccess();
} else {
try {
try {
if (mDeviceChecker.working()) {
callback.onInitSuccess();
} else {
LogUtils.d("初始化失败,将会调用设备封装类关闭设备!");
// close device!
mDevice.close();
} catch (IOException e) {
e.printStackTrace();
mDeviceChecker.close();
callback.onInitFail();
}
callback.onInitFail();
} catch (IOException e) {
e.printStackTrace();
IOUtils.close(mDeviceChecker);
}
}
}).start();
@@ -7,7 +7,7 @@ import android.util.Log;
import cn.dxl.common.util.AppUtil;
import cn.rrg.com.DevCallback;
import cn.rrg.com.Device;
import cn.dxl.com.DeviceChecker;
import cn.rrg.com.DriverInterface;
import cn.rrg.com.UsbAcr122Raw;
import cn.rrg.devices.PN53X;
@@ -22,8 +22,8 @@ public class Acr122uUsbRawModel extends AbstractDeviceModel<String, UsbManager>
}
@Override
public Device getDeviceInitImpl() {
return new PN53X(PN53X.NAME.ACR122);
public DeviceChecker getDeviceInitImpl() {
return new PN53X(PN53X.NAME.ACR122, mDI);
}
@Override
@@ -5,7 +5,7 @@ import android.util.Log;
import cn.rrg.chameleon.defined.IChameleonExecutor;
import cn.rrg.chameleon.executor.ChameleonExecutor;
import cn.rrg.chameleon.executor.ExecutorImpl;
import cn.rrg.com.Device;
import cn.dxl.com.DeviceChecker;
import cn.rrg.devices.EmptyDeivce;
import cn.rrg.rdv.callback.ConnectCallback;
import cn.rrg.rdv.callback.InitNfcCallback;
@@ -13,8 +13,8 @@ import cn.rrg.rdv.util.Commons;
public class ChameleonUsb2UartModel extends AbsUsb2UartModel {
@Override
public Device getDeviceInitImpl() {
return new EmptyDeivce();
public DeviceChecker getDeviceInitImpl() {
return new EmptyDeivce(null);
}
@Override
@@ -4,7 +4,7 @@ import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import cn.rrg.com.DriverInterface;
import cn.rrg.com.Device;
import cn.dxl.com.DeviceChecker;
import cn.rrg.devices.PN53X;
/*
@@ -17,7 +17,7 @@ public class PN532SppUartModel extends AbstractSppDeviceModel {
}
@Override
public Device getDeviceInitImpl() {
return new PN53X(PN53X.NAME.PN532);
public DeviceChecker getDeviceInitImpl() {
return new PN53X(PN53X.NAME.PN532, mDI);
}
}
@@ -1,11 +1,11 @@
package cn.rrg.rdv.models;
import cn.rrg.com.Device;
import cn.dxl.com.DeviceChecker;
import cn.rrg.devices.PN53X;
public class PN532Usb2UartModel extends AbsUsb2UartModel {
@Override
public Device getDeviceInitImpl() {
return new PN53X(PN53X.NAME.PN532);
public DeviceChecker getDeviceInitImpl() {
return new PN53X(PN53X.NAME.PN532, mDI);
}
}
@@ -4,7 +4,7 @@ import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import cn.rrg.com.DriverInterface;
import cn.rrg.com.Device;
import cn.dxl.com.DeviceChecker;
import cn.rrg.devices.Proxmark3RRGRdv4;
/*
@@ -18,8 +18,8 @@ public class Proxmark3Rdv4SppModel extends AbstractSppDeviceModel {
}
@Override
public Device getDeviceInitImpl() {
public DeviceChecker getDeviceInitImpl() {
//此驱动对应的RDV4的客户端因此需要返回的是RDV4的初始化测试实现!
return new Proxmark3RRGRdv4();
return new Proxmark3RRGRdv4(mDI);
}
}
@@ -1,11 +1,11 @@
package cn.rrg.rdv.models;
import cn.rrg.com.Device;
import cn.dxl.com.DeviceChecker;
import cn.rrg.devices.Proxmark3RRGRdv4;
public class Proxmark3Rdv4UsbModel extends AbsUsb2UartModel {
@Override
public Device getDeviceInitImpl() {
return new Proxmark3RRGRdv4();
public DeviceChecker getDeviceInitImpl() {
return new Proxmark3RRGRdv4(mDI);
}
}
@@ -7,7 +7,7 @@ import android.nfc.NfcAdapter;
import cn.rrg.com.DevCallback;
import cn.rrg.com.DriverInterface;
import cn.rrg.rdv.driver.StandardDriver;
import cn.rrg.com.Device;
import cn.dxl.com.DeviceChecker;
import cn.rrg.devices.EmptyDeivce;
import cn.rrg.rdv.javabean.DevBean;
import cn.rrg.rdv.callback.ConnectCallback;
@@ -21,9 +21,9 @@ public class StandardNFCDeviceModel extends AbstractDeviceModel<String, NfcAdapt
}
@Override
public Device getDeviceInitImpl() {
public DeviceChecker getDeviceInitImpl() {
//直接返回一个空设备即可!
return new EmptyDeivce();
return new EmptyDeivce(null);
}
@Override
@@ -7,7 +7,7 @@ import android.util.Log;
import cn.dxl.common.util.AppUtil;
import cn.rrg.com.DevCallback;
import cn.rrg.com.Device;
import cn.dxl.com.DeviceChecker;
import cn.rrg.com.DriverInterface;
import cn.rrg.com.UniversalBulkTransfer;
import cn.rrg.devices.PN53X;
@@ -15,11 +15,11 @@ import cn.rrg.rdv.callback.ConnectCallback;
import cn.rrg.rdv.javabean.DevBean;
import cn.rrg.rdv.util.Commons;
public class UniversalBulkRawModel extends AbstractDeviceModel<String, UsbManager> {
public class UniversalBulkPN53XRawModel extends AbstractDeviceModel<String, UsbManager> {
private String name;
public UniversalBulkRawModel(String name) {
public UniversalBulkPN53XRawModel(String name) {
super();
this.name = name;
}
@@ -30,9 +30,9 @@ public class UniversalBulkRawModel extends AbstractDeviceModel<String, UsbManage
}
@Override
public Device getDeviceInitImpl() {
public DeviceChecker getDeviceInitImpl() {
if (name == null) return null;
return new PN53X(name);
return new PN53X(name, mDI);
}
@Override
@@ -15,7 +15,7 @@ public class DeviceAttachPresenter
}
//注册设备广播
public void register(Context context, int[] pers) {
public void register(int[] pers) {
//先设置回调!
adm.addCallback(new DevCallback<DevBean>() {
@Override
@@ -31,6 +31,6 @@ public class DeviceAttachPresenter
}
});
//再尝试注册实际的驱动!
adm.register(context);
adm.register();
}
}
@@ -39,14 +39,14 @@ public class DevicePresenter<T extends DeviceView>
}
//注册设备和广播!
public void register(Context context) {
adm.register(context);
public void register() {
adm.register();
}
//解注册广播
public void unregister(Context context) {
public void unregister() {
//解注册所有的驱动!
adm.unregister(context);
adm.unregister();
}
//更新发现的设备List

Some files were not shown because too many files have changed in this diff Show More