diff --git a/app/build.gradle b/app/build.gradle index b19dab48..31d8cacf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { buildConfigField "boolean", "HIDDEN_APP", "false" minSdkVersion 14 targetSdkVersion 26 - versionCode 38 - versionName '5.1' + versionCode 39 + versionName '5.2' } lintOptions { diff --git a/app/src/main/java/org/traccar/client/MainApplication.java b/app/src/main/java/org/traccar/client/MainApplication.java index 85af3bee..607189d9 100644 --- a/app/src/main/java/org/traccar/client/MainApplication.java +++ b/app/src/main/java/org/traccar/client/MainApplication.java @@ -21,8 +21,11 @@ import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; +import android.content.SharedPreferences; import android.graphics.Color; +import android.net.Uri; import android.os.Build; +import android.preference.PreferenceManager; public class MainApplication extends Application { @@ -33,6 +36,8 @@ public void onCreate() { super.onCreate(); System.setProperty("http.keepAliveDuration", String.valueOf(30 * 60 * 1000)); + migrateLegacyPreferences(PreferenceManager.getDefaultSharedPreferences(this)); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { registerChannel(); } @@ -47,4 +52,22 @@ private void registerChannel() { ((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).createNotificationChannel(channel); } + private void migrateLegacyPreferences(SharedPreferences preferences) { + String port = preferences.getString("port", null); + if (port != null) { + String host = preferences.getString("address", getString(R.string.settings_url_default_value)); + String scheme = preferences.getBoolean("secure", false) ? "https" : "http"; + + Uri.Builder builder = new Uri.Builder(); + builder.scheme(scheme).encodedAuthority(host + ":" + port).build(); + SharedPreferences.Editor editor = preferences.edit(); + editor.putString(MainFragment.KEY_URL, builder.toString()); + + editor.remove("port"); + editor.remove("address"); + editor.remove("secure"); + editor.apply(); + } + } + } diff --git a/app/src/main/java/org/traccar/client/MainFragment.java b/app/src/main/java/org/traccar/client/MainFragment.java index d3eb0c44..cc4724a9 100644 --- a/app/src/main/java/org/traccar/client/MainFragment.java +++ b/app/src/main/java/org/traccar/client/MainFragment.java @@ -78,7 +78,6 @@ public void onCreate(Bundle savedInstanceState) { setHasOptionsMenu(true); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); - migrateLegacyPreferences(sharedPreferences); addPreferencesFromResource(R.xml.preferences); initPreferences(); @@ -288,24 +287,4 @@ private boolean validateServerURL(String userUrl) { return false; } - private void migrateLegacyPreferences(SharedPreferences preferences) { - String port = preferences.getString("port", null); - if (port != null) { - Log.d(TAG, "Migrating to URL preference"); - - String host = preferences.getString("address", getString(R.string.settings_url_default_value)); - String scheme = preferences.getBoolean("secure", false) ? "https" : "http"; - - Uri.Builder builder = new Uri.Builder(); - builder.scheme(scheme).encodedAuthority(host + ":" + port).build(); - SharedPreferences.Editor editor = preferences.edit(); - editor.putString(KEY_URL, builder.toString()); - - editor.remove("port"); - editor.remove("address"); - editor.remove("secure"); - editor.apply(); - } - } - } diff --git a/app/src/main/java/org/traccar/client/TrackingController.java b/app/src/main/java/org/traccar/client/TrackingController.java index bfd42cbd..52e516dd 100644 --- a/app/src/main/java/org/traccar/client/TrackingController.java +++ b/app/src/main/java/org/traccar/client/TrackingController.java @@ -66,7 +66,7 @@ public TrackingController(Context context) { networkManager = new NetworkManager(context, this); isOnline = networkManager.isOnline(); - url = preferences.getString(MainFragment.KEY_URL, null); + url = preferences.getString(MainFragment.KEY_URL, context.getString(R.string.settings_url_default_value)); PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName()); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 096a684d..603f1320 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,7 +9,6 @@ Device identifier Server URL Tracking server URL - http://demo.traccar.org:5055 Frequency Reporting interval in seconds Distance diff --git a/app/src/main/res/values/values.xml b/app/src/main/res/values/values.xml index fa9f741a..7fe13967 100644 --- a/app/src/main/res/values/values.xml +++ b/app/src/main/res/values/values.xml @@ -1,6 +1,8 @@ + http://demo.traccar.org:5055 + gps network