diff --git a/app/src/main/java/org/traccar/client/MainActivity.java b/app/src/main/java/org/traccar/client/MainActivity.java index c70a123..b9c2599 100644 --- a/app/src/main/java/org/traccar/client/MainActivity.java +++ b/app/src/main/java/org/traccar/client/MainActivity.java @@ -46,6 +46,7 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen public static final String KEY_DEVICE = "id"; public static final String KEY_ADDRESS = "address"; public static final String KEY_PORT = "port"; + public static final String KEY_SECURE = "secure"; public static final String KEY_INTERVAL = "interval"; public static final String KEY_PROVIDER = "provider"; public static final String KEY_STATUS = "status"; @@ -175,6 +176,7 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen findPreference(KEY_DEVICE).setEnabled(enabled); findPreference(KEY_ADDRESS).setEnabled(enabled); findPreference(KEY_PORT).setEnabled(enabled); + findPreference(KEY_SECURE).setEnabled(enabled); findPreference(KEY_INTERVAL).setEnabled(enabled); findPreference(KEY_PROVIDER).setEnabled(enabled); } diff --git a/app/src/main/java/org/traccar/client/ProtocolFormatter.java b/app/src/main/java/org/traccar/client/ProtocolFormatter.java index c955765..268423b 100644 --- a/app/src/main/java/org/traccar/client/ProtocolFormatter.java +++ b/app/src/main/java/org/traccar/client/ProtocolFormatter.java @@ -20,10 +20,10 @@ import android.net.Uri; public class ProtocolFormatter { - public static String formatRequest(String address, int port, Position position) { + public static String formatRequest(String address, int port, boolean secure, Position position) { Uri.Builder builder = new Uri.Builder(); - builder.scheme("http").encodedAuthority(address + ':' + port) + builder.scheme(secure?"https":"http").encodedAuthority(address + ':' + port) .appendQueryParameter("id", position.getDeviceId()) .appendQueryParameter("timestamp", String.valueOf(position.getTime().getTime() / 1000)) .appendQueryParameter("lat", String.valueOf(position.getLatitude())) diff --git a/app/src/main/java/org/traccar/client/TrackingController.java b/app/src/main/java/org/traccar/client/TrackingController.java index 8ea66a5..d6dbe61 100644 --- a/app/src/main/java/org/traccar/client/TrackingController.java +++ b/app/src/main/java/org/traccar/client/TrackingController.java @@ -38,6 +38,7 @@ public class TrackingController implements PositionProvider.PositionListener, Ne private String address; private int port; + private boolean secure; private PositionProvider positionProvider; private DatabaseHelper databaseHelper; @@ -74,6 +75,7 @@ public class TrackingController implements PositionProvider.PositionListener, Ne address = preferences.getString(MainActivity.KEY_ADDRESS, null); port = Integer.parseInt(preferences.getString(MainActivity.KEY_PORT, null)); + secure = preferences.getBoolean(MainActivity.KEY_SECURE, false); PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName()); @@ -197,7 +199,7 @@ public class TrackingController implements PositionProvider.PositionListener, Ne private void send(final Position position) { log("send", position); lock(); - String request = ProtocolFormatter.formatRequest(address, port, position); + String request = ProtocolFormatter.formatRequest(address, port, secure, position); RequestManager.sendRequestAsync(request, new RequestManager.RequestHandler() { @Override public void onComplete(boolean success) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c468b4b..f6bc7f1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -16,6 +16,11 @@ Stop Service stopped Service running + Encryption + Enable + Disable + Encryption disabled + Encryption enabled Location provider Source of location data GPS provider diff --git a/app/src/main/res/xml-v14/preferences.xml b/app/src/main/res/xml-v14/preferences.xml index 29597a9..39fe353 100644 --- a/app/src/main/res/xml-v14/preferences.xml +++ b/app/src/main/res/xml-v14/preferences.xml @@ -27,6 +27,15 @@ android:summary="@string/settings_port_summary" android:title="@string/settings_port_title" /> + + - \ No newline at end of file + diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 83168eb..3bb54fd 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -25,6 +25,13 @@ android:summary="@string/settings_port_summary" android:title="@string/settings_port_title" /> + +