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}.
*
* @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() {
@Override
public void run() {
trackDataManager.registerListener(trackDataListener, trackDataTypes);
trackDataManager.registerListener(trackDataListener, types);
if (started) {
loadDataForListener(trackDataListener);
}
@@ -21,7 +21,7 @@ package de.dennisguse.opentracks.content;
*
* @author Jimmy Shih
*/
public enum TrackDataType {
enum TrackDataType {
TRACKS_TABLE, // tracks table changes
WAYPOINTS_TABLE, // waypoints 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 java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import de.dennisguse.opentracks.R;
@@ -37,7 +36,6 @@ import de.dennisguse.opentracks.TrackDetailActivity;
import de.dennisguse.opentracks.chart.ChartView;
import de.dennisguse.opentracks.content.TrackDataHub;
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.TrackPoint;
import de.dennisguse.opentracks.content.data.Waypoint;
@@ -305,9 +303,7 @@ public class ChartFragment extends Fragment implements TrackDataListener {
*/
private synchronized void resumeTrackDataHub() {
trackDataHub = ((TrackDetailActivity) getActivity()).getTrackDataHub();
trackDataHub.registerTrackDataListener(this, EnumSet.of(TrackDataType.TRACKS_TABLE,
TrackDataType.WAYPOINTS_TABLE, TrackDataType.SAMPLED_IN_TRACK_POINTS_TABLE,
TrackDataType.SAMPLED_OUT_TRACK_POINTS_TABLE));
trackDataHub.registerTrackDataListener(this, true, true, true, true);
}
/**
@@ -360,7 +356,7 @@ public class ChartFragment extends Fragment implements TrackDataListener {
* data[6] = power <br>
*
* @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
void fillDataPoint(@NonNull TrackPoint trackPoint, double[] data) {
@@ -33,13 +33,10 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import java.util.EnumSet;
import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.TrackDetailActivity;
import de.dennisguse.opentracks.content.TrackDataHub;
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.TrackPoint;
import de.dennisguse.opentracks.content.data.Waypoint;
@@ -393,8 +390,7 @@ public class StatsFragment extends Fragment implements TrackDataListener {
*/
private synchronized void resumeTrackDataHub() {
trackDataHub = ((TrackDetailActivity) getActivity()).getTrackDataHub();
trackDataHub.registerTrackDataListener(this, EnumSet.of(TrackDataType.TRACKS_TABLE,
TrackDataType.SAMPLED_IN_TRACK_POINTS_TABLE, TrackDataType.SAMPLED_OUT_TRACK_POINTS_TABLE));
trackDataHub.registerTrackDataListener(this, true, false, true, true);
}
/**