diff --git a/.idea/misc.xml b/.idea/misc.xml
index a66e7459d..9b9791cb3 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,7 +3,8 @@
diff --git a/src/androidTest/java/de/dennisguse/opentracks/EspressoCustomLayoutTest.java b/src/androidTest/java/de/dennisguse/opentracks/EspressoCustomLayoutTest.java
index 4b14f176d..f6f2294fd 100644
--- a/src/androidTest/java/de/dennisguse/opentracks/EspressoCustomLayoutTest.java
+++ b/src/androidTest/java/de/dennisguse/opentracks/EspressoCustomLayoutTest.java
@@ -1,6 +1,19 @@
package de.dennisguse.opentracks;
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.matcher.ViewMatchers.assertThat;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static org.hamcrest.CoreMatchers.is;
+
+import android.content.Context;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewParent;
+
import androidx.recyclerview.widget.RecyclerView;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.espresso.NoMatchingViewException;
@@ -14,20 +27,6 @@ import androidx.test.filters.LargeTest;
import androidx.test.rule.ActivityTestRule;
import androidx.test.rule.GrantPermissionRule;
-import android.content.Context;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.ViewParent;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.*;
-import static androidx.test.espresso.matcher.ViewMatchers.*;
-
-import de.dennisguse.opentracks.content.data.DataField;
-import de.dennisguse.opentracks.content.data.Layout;
-import de.dennisguse.opentracks.settings.PreferencesUtils;
-
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
@@ -35,7 +34,9 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.hamcrest.CoreMatchers.is;
+import de.dennisguse.opentracks.content.data.DataField;
+import de.dennisguse.opentracks.content.data.Layout;
+import de.dennisguse.opentracks.settings.PreferencesUtils;
@LargeTest
@RunWith(AndroidJUnit4.class)
@@ -89,7 +90,7 @@ public class EspressoCustomLayoutTest {
private static Matcher childAtPosition(
final Matcher parentMatcher, final int position) {
- return new TypeSafeMatcher() {
+ return new TypeSafeMatcher<>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
diff --git a/src/androidTest/java/de/dennisguse/opentracks/EspressoDeleteTrackTest.java b/src/androidTest/java/de/dennisguse/opentracks/EspressoDeleteTrackTest.java
index 3d892fe4c..f0b9c567e 100644
--- a/src/androidTest/java/de/dennisguse/opentracks/EspressoDeleteTrackTest.java
+++ b/src/androidTest/java/de/dennisguse/opentracks/EspressoDeleteTrackTest.java
@@ -1,6 +1,19 @@
package de.dennisguse.opentracks;
+import static androidx.test.espresso.Espresso.onData;
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.Espresso.pressBack;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.action.ViewActions.scrollTo;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.Matchers.allOf;
+import static org.hamcrest.Matchers.anything;
+
import android.app.ActivityManager;
import android.app.Instrumentation;
import android.content.Context;
@@ -35,19 +48,6 @@ import org.junit.runner.RunWith;
import de.dennisguse.opentracks.services.TrackDeleteService;
-import static androidx.test.espresso.Espresso.onData;
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.Espresso.pressBack;
-import static androidx.test.espresso.action.ViewActions.click;
-import static androidx.test.espresso.action.ViewActions.scrollTo;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
-import static androidx.test.espresso.matcher.ViewMatchers.withId;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-import static org.hamcrest.Matchers.allOf;
-import static org.hamcrest.Matchers.anything;
-
@LargeTest
@RunWith(AndroidJUnit4.class)
public class EspressoDeleteTrackTest {
@@ -236,7 +236,6 @@ public class EspressoDeleteTrackTest {
@Override
public void describeTo(Description description) {
-
}
}));
diff --git a/src/androidTest/java/de/dennisguse/opentracks/PreferenceMetricUnitRule.java b/src/androidTest/java/de/dennisguse/opentracks/PreferenceMetricUnitRule.java
index 4912b64d4..d382c6262 100644
--- a/src/androidTest/java/de/dennisguse/opentracks/PreferenceMetricUnitRule.java
+++ b/src/androidTest/java/de/dennisguse/opentracks/PreferenceMetricUnitRule.java
@@ -1,9 +1,5 @@
package de.dennisguse.opentracks;
-import android.content.Context;
-
-import androidx.annotation.NonNull;
-
import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
@@ -11,11 +7,9 @@ import org.junit.runners.model.Statement;
import de.dennisguse.opentracks.settings.PreferencesUtils;
public class PreferenceMetricUnitRule implements TestRule {
- private final Context context;
private final boolean metricUnits;
- public PreferenceMetricUnitRule(@NonNull Context context, boolean metricUnits) {
- this.context = context;
+ public PreferenceMetricUnitRule(boolean metricUnits) {
this.metricUnits = metricUnits;
}
diff --git a/src/main/java/de/dennisguse/opentracks/AggregatedStatisticsActivity.java b/src/main/java/de/dennisguse/opentracks/AggregatedStatisticsActivity.java
index 83806ba5a..85610ef81 100644
--- a/src/main/java/de/dennisguse/opentracks/AggregatedStatisticsActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/AggregatedStatisticsActivity.java
@@ -10,7 +10,6 @@ import androidx.lifecycle.ViewModelProvider;
import java.time.LocalDateTime;
import java.time.ZoneId;
-import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java
index 7ded44a45..b14ab8c14 100644
--- a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java
@@ -51,8 +51,6 @@ import androidx.loader.content.Loader;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Stream;
import de.dennisguse.opentracks.content.data.Distance;
import de.dennisguse.opentracks.content.data.Track;
diff --git a/src/main/java/de/dennisguse/opentracks/adapters/SettingsCustomLayoutListAdapter.java b/src/main/java/de/dennisguse/opentracks/adapters/SettingsCustomLayoutListAdapter.java
index a08125eb5..0f3d9dff0 100644
--- a/src/main/java/de/dennisguse/opentracks/adapters/SettingsCustomLayoutListAdapter.java
+++ b/src/main/java/de/dennisguse/opentracks/adapters/SettingsCustomLayoutListAdapter.java
@@ -20,7 +20,7 @@ public class SettingsCustomLayoutListAdapter extends RecyclerView.Adapter layoutList;
private final Context context;
- private SettingsCustomLayoutProfileClickListener itemClickListener;
+ private final SettingsCustomLayoutProfileClickListener itemClickListener;
public SettingsCustomLayoutListAdapter(Context context, SettingsCustomLayoutProfileClickListener itemClickListener) {
this.context = context;
diff --git a/src/main/java/de/dennisguse/opentracks/content/data/DataField.java b/src/main/java/de/dennisguse/opentracks/content/data/DataField.java
index 0e62df087..2b351afdc 100644
--- a/src/main/java/de/dennisguse/opentracks/content/data/DataField.java
+++ b/src/main/java/de/dennisguse/opentracks/content/data/DataField.java
@@ -34,7 +34,7 @@ public class DataField implements Parcelable {
isWide = in.readByte() != 0;
}
- public static final Creator CREATOR = new Creator() {
+ public static final Creator CREATOR = new Creator<>() {
@Override
public DataField createFromParcel(Parcel in) {
return new DataField(in);
diff --git a/src/main/java/de/dennisguse/opentracks/content/data/Layout.java b/src/main/java/de/dennisguse/opentracks/content/data/Layout.java
index dcdd5ca5f..c3cb1f56a 100644
--- a/src/main/java/de/dennisguse/opentracks/content/data/Layout.java
+++ b/src/main/java/de/dennisguse/opentracks/content/data/Layout.java
@@ -58,7 +58,7 @@ public class Layout implements Parcelable {
in.readList(dataFields, DataField.class.getClassLoader());
}
- public static final Creator CREATOR = new Creator() {
+ public static final Creator CREATOR = new Creator<>() {
@Override
public Layout createFromParcel(Parcel in) {
return new Layout(in);
diff --git a/src/main/java/de/dennisguse/opentracks/content/provider/ShareContentProvider.java b/src/main/java/de/dennisguse/opentracks/content/provider/ShareContentProvider.java
index e260fd8f4..a38120234 100644
--- a/src/main/java/de/dennisguse/opentracks/content/provider/ShareContentProvider.java
+++ b/src/main/java/de/dennisguse/opentracks/content/provider/ShareContentProvider.java
@@ -29,7 +29,6 @@ import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.content.data.TracksColumns;
import de.dennisguse.opentracks.io.file.TrackFileFormat;
import de.dennisguse.opentracks.io.file.exporter.TrackExporter;
-import de.dennisguse.opentracks.util.FileUtils;
/**
* A content provider that mimics the behavior of {@link androidx.core.content.FileProvider}, which shares virtual (non-existing) KML-files.
diff --git a/src/main/java/de/dennisguse/opentracks/fragments/FilterDialogFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/FilterDialogFragment.java
index 1fc7708e0..82531437e 100644
--- a/src/main/java/de/dennisguse/opentracks/fragments/FilterDialogFragment.java
+++ b/src/main/java/de/dennisguse/opentracks/fragments/FilterDialogFragment.java
@@ -111,13 +111,11 @@ public class FilterDialogFragment extends DialogFragment {
datePickerTo.setVisibility(View.VISIBLE);
});
- builder.setPositiveButton(android.R.string.ok, (dialog, which) -> {
- filterDialogListener.onFilterDone(
- filterItems,
- LocalDateTime.of(datePickerFrom.getYear(), datePickerFrom.getMonth() + 1, datePickerFrom.getDayOfMonth(), 0, 0, 0),
- LocalDateTime.of(datePickerTo.getYear(), datePickerTo.getMonth() + 1, datePickerTo.getDayOfMonth(), 23, 59, 59)
- );
- });
+ builder.setPositiveButton(android.R.string.ok, (dialog, which) -> filterDialogListener.onFilterDone(
+ filterItems,
+ LocalDateTime.of(datePickerFrom.getYear(), datePickerFrom.getMonth() + 1, datePickerFrom.getDayOfMonth(), 0, 0, 0),
+ LocalDateTime.of(datePickerTo.getYear(), datePickerTo.getMonth() + 1, datePickerTo.getDayOfMonth(), 23, 59, 59)
+ ));
builder.setNegativeButton(android.R.string.cancel, null);
@@ -161,7 +159,7 @@ public class FilterDialogFragment extends DialogFragment {
isChecked = in.readByte() != 0;
}
- public static final Creator CREATOR = new Creator() {
+ public static final Creator CREATOR = new Creator<>() {
@Override
public FilterItem createFromParcel(Parcel in) {
return new FilterItem(in);
diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java
index e5406403f..e3525bc90 100644
--- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java
+++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java
@@ -372,7 +372,7 @@ public class GPXTrackExporter implements TrackExporter {
return Stream.concat(sensorPoints.stream(), Stream.of(trackPoint))
.map(map)
.filter(Objects::nonNull)
- .reduce((gain, next) -> gain + next)
+ .reduce(Double::sum)
.orElse(null);
}
diff --git a/src/main/java/de/dennisguse/opentracks/util/CsvLayoutUtils.java b/src/main/java/de/dennisguse/opentracks/util/CsvLayoutUtils.java
index 559c492b0..fecba1ded 100644
--- a/src/main/java/de/dennisguse/opentracks/util/CsvLayoutUtils.java
+++ b/src/main/java/de/dennisguse/opentracks/util/CsvLayoutUtils.java
@@ -2,8 +2,6 @@ package de.dennisguse.opentracks.util;
import androidx.annotation.Nullable;
-import com.google.android.material.navigation.NavigationBarView;
-
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/res/values/settings.xml b/src/main/res/values/settings.xml
index 435732f61..4b7eaf3d2 100644
--- a/src/main/res/values/settings.xml
+++ b/src/main/res/values/settings.xml
@@ -291,8 +291,6 @@
preventReimportTrackKey
true
- settingsRecordingKey
-
1500