diff --git a/src/androidTest/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsTest.java b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsTest.java
similarity index 99%
rename from src/androidTest/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsTest.java
rename to src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsTest.java
index 4a22a8760..5debc79cc 100644
--- a/src/androidTest/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsTest.java
+++ b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsTest.java
@@ -1,4 +1,7 @@
-package de.dennisguse.opentracks.viewmodels;
+package de.dennisguse.opentracks.ui.aggregatedStatistics;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import android.content.Context;
@@ -19,9 +22,6 @@ import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.stats.TrackStatistics;
import de.dennisguse.opentracks.util.TrackIconUtils;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
@RunWith(JUnit4.class)
public class AggregatedStatisticsTest {
diff --git a/src/androidTest/java/de/dennisguse/opentracks/EspressoAggregatedFilterTest.java b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java
similarity index 92%
rename from src/androidTest/java/de/dennisguse/opentracks/EspressoAggregatedFilterTest.java
rename to src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java
index f2cda7425..92df09765 100644
--- a/src/androidTest/java/de/dennisguse/opentracks/EspressoAggregatedFilterTest.java
+++ b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java
@@ -1,4 +1,4 @@
-package de.dennisguse.opentracks;
+package de.dennisguse.opentracks.ui.aggregatedStatistics;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
@@ -15,6 +15,7 @@ import android.view.View;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.espresso.ViewInteraction;
+import androidx.test.espresso.matcher.ViewMatchers;
import androidx.test.ext.junit.rules.ActivityScenarioRule;
import androidx.test.filters.LargeTest;
import androidx.test.rule.GrantPermissionRule;
@@ -28,6 +29,8 @@ import org.junit.runner.RunWith;
import java.util.List;
+import de.dennisguse.opentracks.R;
+import de.dennisguse.opentracks.TrackListActivity;
import de.dennisguse.opentracks.content.data.TestDataUtil;
import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.content.data.TrackPoint;
@@ -55,7 +58,7 @@ public class EspressoAggregatedFilterTest {
@Test
public void espressoAggregatedFilterTest() {
// open AggregatedStatisticsActivity through toolbar's menu item
- onView(withId(R.id.toolbar)).check(matches(isDisplayed()));
+ onView(ViewMatchers.withId(R.id.toolbar)).check(matches(isDisplayed()));
onView(withId(R.id.toolbar)).check(matches(hasDescendant(withId(R.id.track_list_aggregated_stats))));
onView(withId(R.id.track_list_aggregated_stats)).perform(click());
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index c4bf753d6..091961786 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -316,7 +316,7 @@ limitations under the License.
-
+
diff --git a/src/main/java/de/dennisguse/opentracks/AbstractTrackDeleteActivity.java b/src/main/java/de/dennisguse/opentracks/AbstractTrackDeleteActivity.java
index 6f91ed2fe..8fcb7d270 100644
--- a/src/main/java/de/dennisguse/opentracks/AbstractTrackDeleteActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/AbstractTrackDeleteActivity.java
@@ -23,10 +23,10 @@ import java.util.Arrays;
import java.util.stream.Collectors;
import de.dennisguse.opentracks.content.data.Track;
-import de.dennisguse.opentracks.fragments.ConfirmDeleteDialogFragment;
-import de.dennisguse.opentracks.fragments.ConfirmDeleteDialogFragment.ConfirmDeleteCaller;
import de.dennisguse.opentracks.services.TrackDeleteService;
import de.dennisguse.opentracks.services.TrackDeleteServiceConnection;
+import de.dennisguse.opentracks.ui.aggregatedStatistics.ConfirmDeleteDialogFragment;
+import de.dennisguse.opentracks.ui.aggregatedStatistics.ConfirmDeleteDialogFragment.ConfirmDeleteCaller;
/**
* An abstract class for the following common tasks across
diff --git a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java
index 578dc56d2..748c54a93 100644
--- a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java
@@ -58,12 +58,14 @@ import de.dennisguse.opentracks.content.data.Distance;
import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.content.data.TracksColumns;
import de.dennisguse.opentracks.databinding.TrackListBinding;
-import de.dennisguse.opentracks.fragments.ConfirmDeleteDialogFragment;
import de.dennisguse.opentracks.services.TrackRecordingService;
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
import de.dennisguse.opentracks.services.handlers.GpsStatusValue;
import de.dennisguse.opentracks.settings.PreferencesUtils;
import de.dennisguse.opentracks.settings.SettingsActivity;
+import de.dennisguse.opentracks.ui.aggregatedStatistics.AggregatedStatisticsActivity;
+import de.dennisguse.opentracks.ui.aggregatedStatistics.ConfirmDeleteDialogFragment;
+import de.dennisguse.opentracks.ui.markers.MarkerListActivity;
import de.dennisguse.opentracks.util.ActivityUtils;
import de.dennisguse.opentracks.util.IntentDashboardUtils;
import de.dennisguse.opentracks.util.IntentUtils;
diff --git a/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java b/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java
index 049c90615..b3b95ddb1 100644
--- a/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java
@@ -38,13 +38,13 @@ import de.dennisguse.opentracks.content.TrackDataHub;
import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.content.provider.ContentProviderUtils;
import de.dennisguse.opentracks.databinding.TrackRecordedBinding;
-import de.dennisguse.opentracks.fragments.ConfirmDeleteDialogFragment;
import de.dennisguse.opentracks.fragments.StatisticsRecordedFragment;
import de.dennisguse.opentracks.services.TrackDeleteService;
import de.dennisguse.opentracks.services.TrackRecordingService;
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
import de.dennisguse.opentracks.settings.PreferencesUtils;
import de.dennisguse.opentracks.settings.SettingsActivity;
+import de.dennisguse.opentracks.ui.aggregatedStatistics.ConfirmDeleteDialogFragment;
import de.dennisguse.opentracks.ui.intervals.IntervalsFragment;
import de.dennisguse.opentracks.util.IntentDashboardUtils;
import de.dennisguse.opentracks.util.IntentUtils;
diff --git a/src/main/java/de/dennisguse/opentracks/viewmodels/AggregatedStatistics.java b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatistics.java
similarity index 97%
rename from src/main/java/de/dennisguse/opentracks/viewmodels/AggregatedStatistics.java
rename to src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatistics.java
index 03173db5d..eb125b39f 100644
--- a/src/main/java/de/dennisguse/opentracks/viewmodels/AggregatedStatistics.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatistics.java
@@ -1,4 +1,4 @@
-package de.dennisguse.opentracks.viewmodels;
+package de.dennisguse.opentracks.ui.aggregatedStatistics;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
diff --git a/src/main/java/de/dennisguse/opentracks/AggregatedStatisticsActivity.java b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsActivity.java
similarity index 95%
rename from src/main/java/de/dennisguse/opentracks/AggregatedStatisticsActivity.java
rename to src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsActivity.java
index 85610ef81..7108e3f71 100644
--- a/src/main/java/de/dennisguse/opentracks/AggregatedStatisticsActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsActivity.java
@@ -1,4 +1,4 @@
-package de.dennisguse.opentracks;
+package de.dennisguse.opentracks.ui.aggregatedStatistics;
import android.os.Bundle;
import android.view.Menu;
@@ -13,12 +13,11 @@ import java.time.ZoneId;
import java.util.ArrayList;
import java.util.List;
-import de.dennisguse.opentracks.adapters.AggregatedStatisticsAdapter;
+import de.dennisguse.opentracks.AbstractActivity;
+import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.content.data.TrackSelection;
import de.dennisguse.opentracks.databinding.AggregatedStatsBinding;
-import de.dennisguse.opentracks.fragments.FilterDialogFragment;
-import de.dennisguse.opentracks.viewmodels.AggregatedStatisticsModel;
public class AggregatedStatisticsActivity extends AbstractActivity implements FilterDialogFragment.FilterDialogListener {
diff --git a/src/main/java/de/dennisguse/opentracks/adapters/AggregatedStatisticsAdapter.java b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsAdapter.java
similarity index 98%
rename from src/main/java/de/dennisguse/opentracks/adapters/AggregatedStatisticsAdapter.java
rename to src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsAdapter.java
index e7c5211db..16e0a2d6e 100644
--- a/src/main/java/de/dennisguse/opentracks/adapters/AggregatedStatisticsAdapter.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsAdapter.java
@@ -1,4 +1,4 @@
-package de.dennisguse.opentracks.adapters;
+package de.dennisguse.opentracks.ui.aggregatedStatistics;
import android.content.Context;
import android.util.Pair;
@@ -16,7 +16,6 @@ import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.settings.PreferencesUtils;
import de.dennisguse.opentracks.util.StringUtils;
import de.dennisguse.opentracks.util.TrackIconUtils;
-import de.dennisguse.opentracks.viewmodels.AggregatedStatistics;
public class AggregatedStatisticsAdapter extends BaseAdapter {
diff --git a/src/main/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsModel.java b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsModel.java
similarity index 96%
rename from src/main/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsModel.java
rename to src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsModel.java
index f931ff4b5..83316fb76 100644
--- a/src/main/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsModel.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsModel.java
@@ -1,4 +1,4 @@
-package de.dennisguse.opentracks.viewmodels;
+package de.dennisguse.opentracks.ui.aggregatedStatistics;
import android.app.Application;
diff --git a/src/main/java/de/dennisguse/opentracks/fragments/ConfirmDeleteDialogFragment.java b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/ConfirmDeleteDialogFragment.java
similarity index 98%
rename from src/main/java/de/dennisguse/opentracks/fragments/ConfirmDeleteDialogFragment.java
rename to src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/ConfirmDeleteDialogFragment.java
index 2fdb95c5e..cccf9c600 100644
--- a/src/main/java/de/dennisguse/opentracks/fragments/ConfirmDeleteDialogFragment.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/ConfirmDeleteDialogFragment.java
@@ -14,7 +14,7 @@
* the License.
*/
-package de.dennisguse.opentracks.fragments;
+package de.dennisguse.opentracks.ui.aggregatedStatistics;
import android.app.Dialog;
import android.content.Context;
diff --git a/src/main/java/de/dennisguse/opentracks/fragments/FilterDialogFragment.java b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/FilterDialogFragment.java
similarity index 99%
rename from src/main/java/de/dennisguse/opentracks/fragments/FilterDialogFragment.java
rename to src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/FilterDialogFragment.java
index 13ef7c9e2..86a203a30 100644
--- a/src/main/java/de/dennisguse/opentracks/fragments/FilterDialogFragment.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/FilterDialogFragment.java
@@ -1,4 +1,4 @@
-package de.dennisguse.opentracks.fragments;
+package de.dennisguse.opentracks.ui.aggregatedStatistics;
import android.app.Dialog;
import android.content.Context;