Reorganization of ServiceXmpp code.

This commit is contained in:
chteufleur 2018-10-04 16:09:17 +02:00
parent f040aaa514
commit b856f3f4e1
1 changed files with 33 additions and 27 deletions

View File

@ -85,37 +85,11 @@ public class ServiceXmpp extends Observable implements PresenceEventListener {
boolean isConnected;
connection = new XMPPTCPConnection(configuration);
commandManager = AdHocCommandManager.getAddHocCommandsManager(connection);
connection.connect();
connection.login();
commandManager.registerCommand(XMPP_NODE_TRAIL_GEOLOC, XMPP_NODE_TRAIL_GEOLOC, new LocalCommandFactory() {
@Override
public LocalCommand getInstance() throws InstantiationException, IllegalAccessException {
return new TrailGeolocCommand(thsi);
}
});
commandManager.registerCommand(XMPP_NODE_OBJECT_GEOLOC, XMPP_NODE_OBJECT_GEOLOC, new LocalCommandFactory() {
@Override
public LocalCommand getInstance() throws InstantiationException, IllegalAccessException {
return new ObjectGeolocCommand(thsi);
}
});
commandManager.registerCommand(XMPP_NODE_START_TRAIL_GEOLOC, XMPP_NODE_START_TRAIL_GEOLOC, new LocalCommandFactory() {
@Override
public LocalCommand getInstance() throws InstantiationException, IllegalAccessException {
return new StartTrailGeolocCommand(thsi);
}
});
commandManager.registerCommand(XMPP_NODE_STOP_TRAIL_GEOLOC, XMPP_NODE_STOP_TRAIL_GEOLOC, new LocalCommandFactory() {
@Override
public LocalCommand getInstance() throws InstantiationException, IllegalAccessException {
return new StopTrailGeolocCommand(thsi);
}
});
registerCommands();
roster = Roster.getInstanceFor(connection);
roster.addPresenceEventListener(this);
@ -213,31 +187,63 @@ public class ServiceXmpp extends Observable implements PresenceEventListener {
//<editor-fold defaultstate="collapsed" desc="Commands">
private MyLocation currentXmppLocation = null;
private MyLocation lastObjectXmppLocation = null;
private void registerCommands() {
commandManager.registerCommand(XMPP_NODE_TRAIL_GEOLOC, XMPP_NODE_TRAIL_GEOLOC, new LocalCommandFactory() {
@Override
public LocalCommand getInstance() throws InstantiationException, IllegalAccessException {
return new TrailGeolocCommand(thsi);
}
});
commandManager.registerCommand(XMPP_NODE_OBJECT_GEOLOC, XMPP_NODE_OBJECT_GEOLOC, new LocalCommandFactory() {
@Override
public LocalCommand getInstance() throws InstantiationException, IllegalAccessException {
return new ObjectGeolocCommand(thsi);
}
});
commandManager.registerCommand(XMPP_NODE_START_TRAIL_GEOLOC, XMPP_NODE_START_TRAIL_GEOLOC, new LocalCommandFactory() {
@Override
public LocalCommand getInstance() throws InstantiationException, IllegalAccessException {
return new StartTrailGeolocCommand(thsi);
}
});
commandManager.registerCommand(XMPP_NODE_STOP_TRAIL_GEOLOC, XMPP_NODE_STOP_TRAIL_GEOLOC, new LocalCommandFactory() {
@Override
public LocalCommand getInstance() throws InstantiationException, IllegalAccessException {
return new StopTrailGeolocCommand(thsi);
}
});
}
public void startTrailGeoloc() {
Log.i(TAG, "Start trail");
setChanged();
notifyObservers(NOTIF_START_TRAIL);
}
public void stopTrailGeoloc() {
Log.i(TAG, "Stop trail");
setChanged();
notifyObservers(NOTIF_STOP_TRAIL);
}
public void addTrailGeoloc(double lat, double lon, long time) {
Log.i(TAG, "Add location");
currentXmppLocation = new MyLocation(lat, lon, time);
setChanged();
notifyObservers(NOTIF_NEW_LOCATION);
}
public void addObjectGeoloc(double lat, double lon, long time) {
Log.i(TAG, "Add object");
lastObjectXmppLocation = new MyLocation(lat, lon, time);
setChanged();
notifyObservers(NOTIF_NEW_OBJECT);
}
public MyLocation getCurrentLocation() {
return currentXmppLocation;
}
public MyLocation getLastObjectXmppLocation() {
return lastObjectXmppLocation;
}