package com.wordpress.salaboy.sensor.wii; import motej.Mote; import motej.MoteFinderListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class SimpleMoteFinder implements MoteFinderListener { private Logger log = LoggerFactory.getLogger(SimpleMoteFinder.class); private MyMoteFinder finder; private final Object lock = new Object(); private Mote mote; @Override public void moteFound(Mote mote) { log.info("SimpleMoteFinder received notification of a found mote."); this.mote = mote; this.mote.rumble(2000l); boolean[] player = new boolean[4]; player[0] = true; this.mote.setPlayerLeds(player); String blueId = this.mote.getBluetoothAddress(); System.out.println("Bluethooth id = "+blueId); synchronized(lock) { lock.notifyAll(); } } public Mote findMote(String wiiMoteId) { if (finder == null) { finder = MyMoteFinder.getMoteFinder(wiiMoteId); finder.addMoteFinderListener(this); } finder.startDiscovery(); try { synchronized(lock) { lock.wait(); } } catch (InterruptedException ex) { System.out.println(">>>> ex:"+ex.getMessage()); return null; } finder.stopDiscovery(); return mote; } public void stopFind(){ if(mote != null){ mote.disconnect(); } finder.stopDiscovery(); } }