diff --git a/plugin.xml b/plugin.xml index de335ca..a0d11bd 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ + version="0.3.0"> gpstrack diff --git a/src/android/GPSServer.java b/src/android/GPSServer.java index be2ec37..5221eb4 100644 --- a/src/android/GPSServer.java +++ b/src/android/GPSServer.java @@ -14,6 +14,8 @@ import org.java_websocket.server.WebSocketServer; import android.util.Log; +import org.json.JSONObject; + import info.snowhow.plugin.RecorderService; /** @@ -44,6 +46,10 @@ public void onMessage( WebSocket conn, String message ) { Log.d(LOG_TAG, "got msg from UI: ->"+message+"<-"); if (message.equals("quit")) { rs.stopRecording(); + } else if (message.equals("getTrack")) { + String track = rs.getTrack().toString(); + Log.d(LOG_TAG, "got track from Recorder "+track+"<-"); + sendString("{ \"type\": \"track\", \"msg\": "+rs.getTrack().toString()+" }"); } else if (message.equals("getFilename")) { sendString("{ \"type\": \"filename\", \"msg\": \""+rs.getTrackFilename()+"\" }"); } diff --git a/src/android/RecorderService.java b/src/android/RecorderService.java index 500b88b..04df23c 100644 --- a/src/android/RecorderService.java +++ b/src/android/RecorderService.java @@ -31,6 +31,7 @@ import java.io.RandomAccessFile; import java.io.BufferedWriter; import java.io.File; +import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; @@ -58,7 +59,7 @@ public class RecorderService extends Service { - private static final String GPS_TRACK_VERSION = "0.2.2"; + private static final String GPS_TRACK_VERSION = "0.3.0"; private static final String LOG_TAG = "GPSTrack"; private static final long MINIMUM_DISTANCE_CHANGE_FOR_UPDATES = 10; // in Meters @@ -380,6 +381,22 @@ public String getTrackFilename() { return tf; } + public JSONObject getTrack() { + JSONObject t = new JSONObject(); + try { + File file = new File(tf); + FileInputStream fis = new FileInputStream(file); + byte[] data = new byte[(int) file.length()]; + fis.read(data); + fis.close(); + String str = new String(data, "UTF-8"); + t = new JSONObject(str); + } catch (Exception e) { + Log.d(LOG_TAG, "getTrack:", e); + } + return t; + } + private BroadcastReceiver RecorderServiceBroadcastReceiver = new BroadcastReceiver() { @Override