package com.allenliu.classicbt; import android.bluetooth.BluetoothSocket; import com.allenliu.classicbt.listener.PacketDefineListener; import com.allenliu.classicbt.listener.TransferProgressListener; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * @author AllenLiu * @version 1.0 * @date 2019/5/8 */ public class Connect { private ExecutorService executor; private ConnectedThread readThread; private ConnectedThread writeThread; public Connect(BluetoothSocket socket) { executor = Executors.newFixedThreadPool(2); writeThread = new ConnectedThread(socket, ConnectedThread.WRITE, null); readThread = new ConnectedThread(socket, ConnectedThread.READ, null); executor.execute(writeThread); executor.execute(readThread); } public void setWriteProgressListener(TransferProgressListener transferProgressListener) { writeThread.setTransferProgressListener(transferProgressListener); } public void setReadProgressListener(TransferProgressListener transferProgressListener) { readThread.setTransferProgressListener(transferProgressListener); } public void setReadPacketVerifyListener(PacketDefineListener packetVerifyListener) { readThread.setPacketDefineListener(packetVerifyListener); } public void write(byte[] bytes, TransferProgressListener transferProgressListener) { writeThread.setTransferProgressListener(transferProgressListener); writeThread.write(bytes); } public void read(TransferProgressListener transferProgressListener) { setReadProgressListener(transferProgressListener); } public void cancel() { executor.shutdownNow(); } }