Page 1019 - 3-2
P. 1019

}


                    // Cancel any thread currently running a connection
                    if (mConnectedThread == null) {


                    } else {
                        mConnectedThread.cancel();
                        mConnectedThread = null;
                    }


                    // Start the thread to manage the connection and perform transmissions
                    mConnectedThread = new ConnectedThread(socket);
                    mConnectedThread.start();


                    setState(STATE_CONNECTED);
                }


                public synchronized void stop() {
                    Log.d(TAG, "stop");


                    if (mConnectThread != null) {
                        mConnectThread.cancel();
                        mConnectThread = null;
                    }


                    if (mConnectedThread != null) {
                        mConnectedThread.cancel();
                        mConnectedThread = null;
                    }


                    setState(STATE_NONE);
                }


                public void write(String out) { // Create temporary object
                    ConnectedThread r; // Synchronize a copy of the ConnectedThread
                    synchronized (this) {
                        if (mState != STATE_CONNECTED)
                            return;
                        r = mConnectedThread;
                    } // Perform the write unsynchronized r.write(out); }
                    r.write(out);
                }


                private void connectionFailed() {
                    setState(STATE_LISTEN);


                                                        - 1019 -
   1014   1015   1016   1017   1018   1019   1020   1021   1022   1023   1024