Do not expose TrackDataType to fragments.

This commit is contained in:
Dennis Guse
2020-04-02 22:06:00 +02:00
parent 6cd27ab096
commit 70bc8f33b1
4 changed files with 12 additions and 15 deletions
@@ -193,13 +193,18 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL
* Registers a {@link TrackDataListener}. * Registers a {@link TrackDataListener}.
* *
* @param trackDataListener the track data listener * @param trackDataListener the track data listener
* @param trackDataTypes the track data types
*/ */
public void registerTrackDataListener(final TrackDataListener trackDataListener, final EnumSet<TrackDataType> trackDataTypes) { public void registerTrackDataListener(final TrackDataListener trackDataListener, boolean tracksTable, boolean waypointTable, boolean trackPointsTable_SampleIn, boolean trackPointsTable_SampleOut) {
final EnumSet<TrackDataType> types = EnumSet.noneOf(TrackDataType.class);
if (tracksTable) types.add(TrackDataType.TRACKS_TABLE);
if (waypointTable) types.add(TrackDataType.WAYPOINTS_TABLE);
if (trackPointsTable_SampleIn) types.add(TrackDataType.SAMPLED_IN_TRACK_POINTS_TABLE);
if (trackPointsTable_SampleOut) types.add(TrackDataType.SAMPLED_OUT_TRACK_POINTS_TABLE);
runInHandlerThread(new Runnable() { runInHandlerThread(new Runnable() {
@Override @Override
public void run() { public void run() {
trackDataManager.registerListener(trackDataListener, trackDataTypes); trackDataManager.registerListener(trackDataListener, types);
if (started) { if (started) {
loadDataForListener(trackDataListener); loadDataForListener(trackDataListener);
} }
@@ -21,7 +21,7 @@ package de.dennisguse.opentracks.content;
* *
* @author Jimmy Shih * @author Jimmy Shih
*/ */
public enum TrackDataType { enum TrackDataType {
TRACKS_TABLE, // tracks table changes TRACKS_TABLE, // tracks table changes
WAYPOINTS_TABLE, // waypoints table changes WAYPOINTS_TABLE, // waypoints table changes
SAMPLED_IN_TRACK_POINTS_TABLE, // sampled-in track points table changes SAMPLED_IN_TRACK_POINTS_TABLE, // sampled-in track points table changes
@@ -29,7 +29,6 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List; import java.util.List;
import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.R;
@@ -37,7 +36,6 @@ import de.dennisguse.opentracks.TrackDetailActivity;
import de.dennisguse.opentracks.chart.ChartView; import de.dennisguse.opentracks.chart.ChartView;
import de.dennisguse.opentracks.content.TrackDataHub; import de.dennisguse.opentracks.content.TrackDataHub;
import de.dennisguse.opentracks.content.TrackDataListener; import de.dennisguse.opentracks.content.TrackDataListener;
import de.dennisguse.opentracks.content.TrackDataType;
import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.content.data.TrackPoint; import de.dennisguse.opentracks.content.data.TrackPoint;
import de.dennisguse.opentracks.content.data.Waypoint; import de.dennisguse.opentracks.content.data.Waypoint;
@@ -305,9 +303,7 @@ public class ChartFragment extends Fragment implements TrackDataListener {
*/ */
private synchronized void resumeTrackDataHub() { private synchronized void resumeTrackDataHub() {
trackDataHub = ((TrackDetailActivity) getActivity()).getTrackDataHub(); trackDataHub = ((TrackDetailActivity) getActivity()).getTrackDataHub();
trackDataHub.registerTrackDataListener(this, EnumSet.of(TrackDataType.TRACKS_TABLE, trackDataHub.registerTrackDataListener(this, true, true, true, true);
TrackDataType.WAYPOINTS_TABLE, TrackDataType.SAMPLED_IN_TRACK_POINTS_TABLE,
TrackDataType.SAMPLED_OUT_TRACK_POINTS_TABLE));
} }
/** /**
@@ -360,7 +356,7 @@ public class ChartFragment extends Fragment implements TrackDataListener {
* data[6] = power <br> * data[6] = power <br>
* *
* @param trackPoint the trackPoint * @param trackPoint the trackPoint
* @param data the data point to fill in, can be null * @param data the data point to fill in, can be null
*/ */
@VisibleForTesting @VisibleForTesting
void fillDataPoint(@NonNull TrackPoint trackPoint, double[] data) { void fillDataPoint(@NonNull TrackPoint trackPoint, double[] data) {
@@ -33,13 +33,10 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import java.util.EnumSet;
import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.TrackDetailActivity; import de.dennisguse.opentracks.TrackDetailActivity;
import de.dennisguse.opentracks.content.TrackDataHub; import de.dennisguse.opentracks.content.TrackDataHub;
import de.dennisguse.opentracks.content.TrackDataListener; import de.dennisguse.opentracks.content.TrackDataListener;
import de.dennisguse.opentracks.content.TrackDataType;
import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.content.data.TrackPoint; import de.dennisguse.opentracks.content.data.TrackPoint;
import de.dennisguse.opentracks.content.data.Waypoint; import de.dennisguse.opentracks.content.data.Waypoint;
@@ -393,8 +390,7 @@ public class StatsFragment extends Fragment implements TrackDataListener {
*/ */
private synchronized void resumeTrackDataHub() { private synchronized void resumeTrackDataHub() {
trackDataHub = ((TrackDetailActivity) getActivity()).getTrackDataHub(); trackDataHub = ((TrackDetailActivity) getActivity()).getTrackDataHub();
trackDataHub.registerTrackDataListener(this, EnumSet.of(TrackDataType.TRACKS_TABLE, trackDataHub.registerTrackDataListener(this, true, false, true, true);
TrackDataType.SAMPLED_IN_TRACK_POINTS_TABLE, TrackDataType.SAMPLED_OUT_TRACK_POINTS_TABLE));
} }
/** /**