public static IStatus assignPort( IShellProvider shellProvider, IProgressMonitor monitor, BTTargetPhone phone) { try { monitor.beginTask("Scanning BT device for OBEX service", 1); monitor.setTaskName("Scanning BT device for OBEX service"); int port = ServiceSearch.search(phone.getAddress()); if (port != -1) { phone.assignPort(port); } else { return new Status( IStatus.ERROR, TargetPhonePlugin.PLUGIN_ID, "The device connected to has no OBEX service"); } return Status.OK_STATUS; } catch (Exception e) { return new Status( IStatus.ERROR, TargetPhonePlugin.PLUGIN_ID, "The device connected to has no OBEX service", e); } finally { monitor.worked(1); } }
@Override public boolean store(ITargetPhone aPhone, IMemento memento) { if (aPhone instanceof BTTargetPhone) { BTTargetPhone phone = (BTTargetPhone) aPhone; String addr = Util.toBase16(phone.getAddressAsBytes()); int port = phone.getPort(); memento.putString("addr", addr); memento.putInteger("port", phone.getPort()); return true; } else { return false; } }
/** * Returns the corresponding target phone from history - can be used to find out if there is * already a preferred profile for a device * * @param btTargetPhone * @return */ public static ITargetPhone findInHistory(BTTargetPhone btTargetPhone) { List<ITargetPhone> history = TargetPhonePlugin.getDefault().getSelectedTargetPhoneHistory(); for (ITargetPhone targetPhone : history) { if (targetPhone instanceof BTTargetPhone) { if (btTargetPhone.getAddress().equals(((BTTargetPhone) targetPhone).getAddress())) { return targetPhone; } } } return null; }