public void close() { Log.v(TAG, "Closing connection with " + remoteDevice.toString()); try { Thread.sleep(WAIT_CLOSE); socket.close(); } catch (Exception e) { } listener.onClose(remoteDevice); }
@Override public void run() { Log.v(TAG, "Established object stream with " + remoteDevice.toString()); while (true) { try { listener.onReceive(remoteDevice, (Serializable) objInput.readObject()); Log.v(TAG, "Received object from " + remoteDevice.toString()); } catch (IOException e) { Log.v(TAG, "IO error in comm channel with " + remoteDevice.toString()); listener.onReceiveError(remoteDevice); close(); break; } catch (ClassNotFoundException e) { Log.e(TAG, "Object mismatch exception in comm channel with " + remoteDevice.toString(), e); listener.onReceiveError(remoteDevice); close(); break; } } }