Code cleanup using static code analysis (Android Studio).

This commit is contained in:
Dennis Guse
2026-07-21 07:31:25 +02:00
parent 1821f47cf1
commit 74169cb819
6 changed files with 10 additions and 15 deletions
@@ -5,10 +5,11 @@ import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed; import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withId; import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText; import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.allOf;
import static de.dennisguse.opentracks.util.EspressoUtils.performLongClickOnAncestor; import static de.dennisguse.opentracks.util.EspressoUtils.performLongClickOnAncestor;
import static de.dennisguse.opentracks.util.EspressoUtils.selectTabAtIndex; import static de.dennisguse.opentracks.util.EspressoUtils.selectTabAtIndex;
import static de.dennisguse.opentracks.util.EspressoUtils.waitUntilDisplayed;
import static de.dennisguse.opentracks.util.EspressoUtils.waitForResumedViewCondition; import static de.dennisguse.opentracks.util.EspressoUtils.waitForResumedViewCondition;
import static de.dennisguse.opentracks.util.EspressoUtils.waitUntilDisplayed;
import static de.dennisguse.opentracks.util.EspressoUtils.withSelectedTab; import static de.dennisguse.opentracks.util.EspressoUtils.withSelectedTab;
import static de.dennisguse.opentracks.util.EspressoUtils.withViewPagerCurrentItem; import static de.dennisguse.opentracks.util.EspressoUtils.withViewPagerCurrentItem;
import static de.dennisguse.opentracks.util.TestEnvironmentUtils.resetTrackRecordingServiceAndDeleteTracks; import static de.dennisguse.opentracks.util.TestEnvironmentUtils.resetTrackRecordingServiceAndDeleteTracks;
@@ -16,7 +17,6 @@ import static de.dennisguse.opentracks.util.TrackUiTestUtils.finishStoppedTrack;
import static de.dennisguse.opentracks.util.TrackUiTestUtils.resumeStoppedTrack; import static de.dennisguse.opentracks.util.TrackUiTestUtils.resumeStoppedTrack;
import static de.dennisguse.opentracks.util.TrackUiTestUtils.startRecordingFromTrackList; import static de.dennisguse.opentracks.util.TrackUiTestUtils.startRecordingFromTrackList;
import static de.dennisguse.opentracks.util.TrackUiTestUtils.stopRecordingToTrackStopped; import static de.dennisguse.opentracks.util.TrackUiTestUtils.stopRecordingToTrackStopped;
import static org.hamcrest.Matchers.allOf;
import android.util.Pair; import android.util.Pair;
@@ -27,7 +27,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest; import androidx.test.filters.LargeTest;
import androidx.test.rule.GrantPermissionRule; import androidx.test.rule.GrantPermissionRule;
import org.hamcrest.Matcher;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
@@ -63,8 +63,8 @@ public class RecordingLayoutTest extends TestCase {
RecordingLayout recordingLayout = RecordingLayoutIO.fromCsvLine(csv1, resources); RecordingLayout recordingLayout = RecordingLayoutIO.fromCsvLine(csv1, resources);
// then layout and data fields are built correctly // then layout and data fields are built correctly
assertEquals(recordingLayout.getName(), "Default Layout"); assertEquals("Default Layout", recordingLayout.getName());
assertEquals(recordingLayout.getColumnsPerRow(), 2); assertEquals(2, recordingLayout.getColumnsPerRow());
assertEquals(PreferencesUtils.getDefaultLayout().getFields(), recordingLayout.getFields()); assertEquals(PreferencesUtils.getDefaultLayout().getFields(), recordingLayout.getFields());
} }
@@ -78,8 +78,8 @@ public class RecordingLayoutTest extends TestCase {
List<DataField> dataFieldList = recordingLayout.getFields(); List<DataField> dataFieldList = recordingLayout.getFields();
// then layout and data fields are built correctly // then layout and data fields are built correctly
assertEquals(recordingLayout.getName(), "Default Layout"); assertEquals("Default Layout", recordingLayout.getName());
assertEquals(recordingLayout.getColumnsPerRow(), 2); assertEquals(2, recordingLayout.getColumnsPerRow());
assertEquals(PreferencesUtils.getDefaultLayout().getFields(), recordingLayout.getFields()); assertEquals(PreferencesUtils.getDefaultLayout().getFields(), recordingLayout.getFields());
} }
@@ -144,6 +144,6 @@ public class RecordingLayoutTest extends TestCase {
String csv = recordingLayout.toCsv(); String csv = recordingLayout.toCsv();
// then csv is well built // then csv is well built
assertEquals(csv, "Test Layout;2;key1,0,0,0;key2,0,1,0;key3,1,0,0;key4,1,1,0;key5,1,1,1;"); assertEquals("Test Layout;2;key1,0,0,0;key2,0,1,0;key3,1,0,0;key4,1,1,0;key5,1,1,1;", csv);
} }
} }
@@ -384,10 +384,7 @@ public class GPXTrackExporter implements TrackExporter {
printWriter.println("</trkpt>"); printWriter.println("</trkpt>");
if (cumulativeDistance != null) { return Objects.requireNonNullElse(cumulativeDistance, Distance.ZERO);
return cumulativeDistance;
}
return Distance.ZERO;
} }
private Double cumulateSensorData(TrackPoint trackPoint, List<TrackPoint> sensorPoints, Function<TrackPoint, Double> map) { private Double cumulateSensorData(TrackPoint trackPoint, List<TrackPoint> sensorPoints, Function<TrackPoint, Double> map) {
@@ -7,6 +7,7 @@ import androidx.annotation.Nullable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.UUID; import java.util.UUID;
import de.dennisguse.opentracks.data.models.Cadence; import de.dennisguse.opentracks.data.models.Cadence;
@@ -98,7 +99,7 @@ public final class BoschEbikeParser {
.filter(BoschEbikeParser::isValidFrame) .filter(BoschEbikeParser::isValidFrame)
.filter(BoschEbikeParser::isSupportedFrame) .filter(BoschEbikeParser::isSupportedFrame)
.map(BoschEbikeParser::decodeFrame) .map(BoschEbikeParser::decodeFrame)
.filter(decodedFrame -> decodedFrame != null) .filter(Objects::nonNull)
.reduce(null, .reduce(null,
BoschEbikeParser::processMessage, BoschEbikeParser::processMessage,
(left, right) -> right); (left, right) -> right);
@@ -58,7 +58,6 @@ public class ImportExportSettingsFragment extends PreferenceFragmentCompat {
if (!healthConnectAvailable) { if (!healthConnectAvailable) {
findPreference(getString(R.string.post_workout_export_health_connect_enabled_key)) findPreference(getString(R.string.post_workout_export_health_connect_enabled_key))
.setSummary(R.string.health_connect_not_available); .setSummary(R.string.health_connect_not_available);
return;
} }
} }
@@ -27,7 +27,6 @@ import java.io.File;
import java.io.FileDescriptor; import java.io.FileDescriptor;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.nio.channels.FileChannel;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;