diff --git a/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java index 641f0f470..a82fbeaac 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java @@ -31,6 +31,9 @@ import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; +import java.util.EnumSet; + +import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.TrackDetailActivity; import de.dennisguse.opentracks.content.Track; import de.dennisguse.opentracks.content.TrackDataHub; @@ -40,6 +43,7 @@ import de.dennisguse.opentracks.content.Waypoint; import de.dennisguse.opentracks.content.sensor.SensorDataSet; import de.dennisguse.opentracks.services.ITrackRecordingService; import de.dennisguse.opentracks.services.TrackRecordingServiceConnection; +import de.dennisguse.opentracks.services.sensors.RemoteSensorManager; import de.dennisguse.opentracks.stats.TripStatistics; import de.dennisguse.opentracks.util.LocationUtils; import de.dennisguse.opentracks.util.PreferencesUtils; @@ -47,9 +51,6 @@ import de.dennisguse.opentracks.util.StatsUtils; import de.dennisguse.opentracks.util.TrackIconUtils; import de.dennisguse.opentracks.util.TrackRecordingServiceConnectionUtils; import de.dennisguse.opentracks.util.UnitConversions; -import de.dennisguse.opentracks.R; - -import java.util.EnumSet; /** * A fragment to display track statistics to the user. @@ -297,7 +298,7 @@ public class StatsFragment extends Fragment implements TrackDataListener { } /** - * Tries to fetch most recent {@link SensorDataSet} {@link de.dennisguse.opentracks.services.sensors.SensorManager}. + * Tries to fetch most recent {@link SensorDataSet} {@link RemoteSensorManager}. */ private void updateSensorDataUI() { ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound(); diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java index ab734c99f..131bdbe90 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java @@ -58,8 +58,8 @@ import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.content.WaypointCreationRequest; import de.dennisguse.opentracks.content.sensor.SensorDataSet; import de.dennisguse.opentracks.content.sensor.SensorState; -import de.dennisguse.opentracks.services.sensors.SensorManager; -import de.dennisguse.opentracks.services.sensors.SensorManagerFactory; +import de.dennisguse.opentracks.services.sensors.RemoteSensorManager; +import de.dennisguse.opentracks.services.sensors.RemoteSensorManagerFactory; import de.dennisguse.opentracks.services.tasks.AnnouncementPeriodicTaskFactory; import de.dennisguse.opentracks.services.tasks.PeriodicTaskExecutor; import de.dennisguse.opentracks.services.tasks.SplitPeriodicTaskFactory; @@ -181,7 +181,7 @@ public class TrackRecordingService extends Service { }; private TripStatisticsUpdater markerTripStatisticsUpdater; private WakeLock wakeLock; - private SensorManager sensorManager; + private RemoteSensorManager remoteSensorManager; private Location lastLocation; private boolean currentSegmentHasLocation; private boolean isIdle; // true if idle @@ -280,9 +280,9 @@ public class TrackRecordingService extends Service { @Override public void onDestroy() { - if (sensorManager != null) { - SensorManagerFactory.releaseSystemSensorManager(); - sensorManager = null; + if (remoteSensorManager != null) { + RemoteSensorManagerFactory.releaseSystemSensorManager(); + remoteSensorManager = null; } // Reverse order from onCreate @@ -617,7 +617,7 @@ public class TrackRecordingService extends Service { */ private void startRecording(boolean trackStarted) { // Update instance variables - sensorManager = SensorManagerFactory.getSystemSensorManager(this); + remoteSensorManager = RemoteSensorManagerFactory.getSystemSensorManager(this); lastLocation = null; currentSegmentHasLocation = false; isIdle = false; @@ -715,9 +715,9 @@ public class TrackRecordingService extends Service { splitExecutor.shutdown(); // Update instance variables - if (sensorManager != null) { - SensorManagerFactory.releaseSystemSensorManager(); - sensorManager = null; + if (remoteSensorManager != null) { + RemoteSensorManagerFactory.releaseSystemSensorManager(); + remoteSensorManager = null; } lastLocation = null; @@ -931,10 +931,10 @@ public class TrackRecordingService extends Service { } private SensorDataSet getSensorDataSet() { - if (sensorManager == null || !sensorManager.isEnabled() || !sensorManager.isSensorDataSetValid()) { + if (remoteSensorManager == null || !remoteSensorManager.isEnabled() || !remoteSensorManager.isSensorDataSetValid()) { return null; } - return sensorManager.getSensorDataSet(); + return remoteSensorManager.getSensorDataSet(); } /** @@ -1104,24 +1104,24 @@ public class TrackRecordingService extends Service { @Override public SensorDataSet getSensorData() { - if (trackRecordingService.sensorManager == null) { - Log.d(TAG, "sensorManager is null."); + if (trackRecordingService.remoteSensorManager == null) { + Log.d(TAG, "remoteSensorManager is null."); return null; } if (trackRecordingService.getSensorDataSet() == null) { Log.d(TAG, "Sensor data set is null."); return null; } - return trackRecordingService.sensorManager.getSensorDataSet(); + return trackRecordingService.remoteSensorManager.getSensorDataSet(); } @Override public SensorState getSensorState() { - if (trackRecordingService.sensorManager == null) { - Log.d(TAG, "sensorManager is null."); + if (trackRecordingService.remoteSensorManager == null) { + Log.d(TAG, "remoteSensorManager is null."); return SensorState.NONE; } - return trackRecordingService.sensorManager.getSensorState(); + return trackRecordingService.remoteSensorManager.getSensorState(); } /** diff --git a/src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothSensorManager.java b/src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothRemoteSensorManager.java similarity index 97% rename from src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothSensorManager.java rename to src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothRemoteSensorManager.java index 5c1e8749e..c93815aaf 100644 --- a/src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothSensorManager.java +++ b/src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothRemoteSensorManager.java @@ -24,13 +24,13 @@ import android.os.Looper; import android.os.Message; import android.util.Log; +import java.util.ArrayList; + +import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.content.sensor.SensorDataSet; import de.dennisguse.opentracks.content.sensor.SensorState; import de.dennisguse.opentracks.util.PreferencesUtils; import de.dennisguse.opentracks.util.UnitConversions; -import de.dennisguse.opentracks.R; - -import java.util.ArrayList; /** * Bluetooth sensor manager. @@ -39,7 +39,7 @@ import java.util.ArrayList; * * @author Sandor Dornbush */ -public class BluetoothSensorManager extends SensorManager { +public class BluetoothRemoteSensorManager extends RemoteSensorManager { private static final String TAG = BluetoothConnectionManager.class.getSimpleName(); private static final BluetoothAdapter bluetoothAdapter = getDefaultBluetoothAdapter(); @@ -71,7 +71,7 @@ public class BluetoothSensorManager extends SensorManager { /** * @param context the context */ - public BluetoothSensorManager(Context context) { + public BluetoothRemoteSensorManager(Context context) { this.context = context; bluetoothConnectionManager = new BluetoothConnectionManager(context, messageHandler); } diff --git a/src/main/java/de/dennisguse/opentracks/services/sensors/SensorManager.java b/src/main/java/de/dennisguse/opentracks/services/sensors/RemoteSensorManager.java similarity index 93% rename from src/main/java/de/dennisguse/opentracks/services/sensors/SensorManager.java rename to src/main/java/de/dennisguse/opentracks/services/sensors/RemoteSensorManager.java index cc0e2e121..fe9614e88 100644 --- a/src/main/java/de/dennisguse/opentracks/services/sensors/SensorManager.java +++ b/src/main/java/de/dennisguse/opentracks/services/sensors/RemoteSensorManager.java @@ -18,23 +18,23 @@ package de.dennisguse.opentracks.services.sensors; import android.util.Log; -import de.dennisguse.opentracks.content.sensor.SensorDataSet; -import de.dennisguse.opentracks.content.sensor.SensorState; - import java.util.Timer; import java.util.TimerTask; +import de.dennisguse.opentracks.content.sensor.SensorDataSet; +import de.dennisguse.opentracks.content.sensor.SensorState; + /** - * Manage the connection to a sensor. + * Manage the connection to a remote sensor. * * @author Sandor Dornbush */ -public abstract class SensorManager { +public abstract class RemoteSensorManager { public static final long MAX_SENSOR_DATE_SET_AGE = 5000; public static final long MAX_SENSOR_STATE_AGE = 20000; - private static final String TAG = SensorManager.class.getSimpleName(); + private static final String TAG = RemoteSensorManager.class.getSimpleName(); private static final int RETRY_PERIOD = 20000; private SensorState sensorState = SensorState.NONE; @@ -88,7 +88,7 @@ public abstract class SensorManager { } } }; - timer = new Timer(SensorManager.class.getSimpleName()); + timer = new Timer(RemoteSensorManager.class.getSimpleName()); timer.schedule(timerTask, RETRY_PERIOD, RETRY_PERIOD); } diff --git a/src/main/java/de/dennisguse/opentracks/services/sensors/SensorManagerFactory.java b/src/main/java/de/dennisguse/opentracks/services/sensors/RemoteSensorManagerFactory.java similarity index 53% rename from src/main/java/de/dennisguse/opentracks/services/sensors/SensorManagerFactory.java rename to src/main/java/de/dennisguse/opentracks/services/sensors/RemoteSensorManagerFactory.java index 414132bdd..cd7320284 100644 --- a/src/main/java/de/dennisguse/opentracks/services/sensors/SensorManagerFactory.java +++ b/src/main/java/de/dennisguse/opentracks/services/sensors/RemoteSensorManagerFactory.java @@ -19,16 +19,16 @@ package de.dennisguse.opentracks.services.sensors; import android.content.Context; /** - * A factory of {@link SensorManager}. + * A factory of {@link RemoteSensorManager}. * * @author Sandor Dornbush */ -public class SensorManagerFactory { +public class RemoteSensorManagerFactory { - private static SensorManager systemSensorManager = null; - private static SensorManager sensorManagerTemporary = null; + private static RemoteSensorManager remoteSensorManagerSystem = null; + private static RemoteSensorManager remoteSensorManagerTemporary = null; - private SensorManagerFactory() { + private RemoteSensorManagerFactory() { } /** @@ -36,49 +36,45 @@ public class SensorManagerFactory { * * @param context the context */ - public static SensorManager getSystemSensorManager(Context context) { + public static RemoteSensorManager getSystemSensorManager(Context context) { releaseSensorManagerTemporary(); releaseSystemSensorManager(); - systemSensorManager = getSensorManager(context); - if (systemSensorManager != null) { - systemSensorManager.startSensor(); - } - return systemSensorManager; + remoteSensorManagerSystem = getSensorManager(context); + remoteSensorManagerSystem.startSensor(); + return remoteSensorManagerSystem; } /** * Releases the system sensor manager. */ public static void releaseSystemSensorManager() { - if (systemSensorManager != null) { - systemSensorManager.stopSensor(); + if (remoteSensorManagerSystem != null) { + remoteSensorManagerSystem.stopSensor(); } - systemSensorManager = null; + remoteSensorManagerSystem = null; } /** * Gets the temp sensor manager. */ - public static SensorManager getSensorManagerTemporary(Context context) { + public static RemoteSensorManager getSensorManagerTemporary(Context context) { releaseSensorManagerTemporary(); - if (systemSensorManager != null) { + if (remoteSensorManagerSystem != null) { return null; } - sensorManagerTemporary = getSensorManager(context); - if (sensorManagerTemporary != null) { - sensorManagerTemporary.startSensor(); - } - return sensorManagerTemporary; + remoteSensorManagerTemporary = getSensorManager(context); + remoteSensorManagerTemporary.startSensor(); + return remoteSensorManagerTemporary; } /** * Releases the temp sensor manager. */ public static void releaseSensorManagerTemporary() { - if (sensorManagerTemporary != null) { - sensorManagerTemporary.stopSensor(); + if (remoteSensorManagerTemporary != null) { + remoteSensorManagerTemporary.stopSensor(); } - sensorManagerTemporary = null; + remoteSensorManagerTemporary = null; } /** @@ -86,7 +82,7 @@ public class SensorManagerFactory { * * @param context the context */ - private static SensorManager getSensorManager(Context context) { - return new BluetoothSensorManager(context); + private static RemoteSensorManager getSensorManager(Context context) { + return new BluetoothRemoteSensorManager(context); } } diff --git a/src/main/java/de/dennisguse/opentracks/util/StatsUtils.java b/src/main/java/de/dennisguse/opentracks/util/StatsUtils.java index 49d0fba4a..927350f06 100644 --- a/src/main/java/de/dennisguse/opentracks/util/StatsUtils.java +++ b/src/main/java/de/dennisguse/opentracks/util/StatsUtils.java @@ -23,13 +23,13 @@ import android.view.View; import android.widget.Spinner; import android.widget.TextView; -import de.dennisguse.opentracks.content.sensor.SensorDataSet; -import de.dennisguse.opentracks.services.sensors.SensorManager; -import de.dennisguse.opentracks.stats.TripStatistics; -import de.dennisguse.opentracks.R; - import java.util.Locale; +import de.dennisguse.opentracks.R; +import de.dennisguse.opentracks.content.sensor.SensorDataSet; +import de.dennisguse.opentracks.services.sensors.RemoteSensorManager; +import de.dennisguse.opentracks.stats.TripStatistics; + /** * Utilities for updating the statistics UI labels and values. * @@ -294,7 +294,7 @@ public class StatsUtils { private static void setHeartRateData(Context context, View viewValue, View viewSensor, SensorDataSet sensorDataSet) { String heartRate = context.getString(R.string.value_unknown); String sensor = context.getString(R.string.value_unknown); - if (sensorDataSet != null && sensorDataSet.hasHeartRate() && sensorDataSet.isRecent(SensorManager.MAX_SENSOR_DATE_SET_AGE)) { + if (sensorDataSet != null && sensorDataSet.hasHeartRate() && sensorDataSet.isRecent(RemoteSensorManager.MAX_SENSOR_DATE_SET_AGE)) { heartRate = StringUtils.formatDecimal(sensorDataSet.getHeartRate(), 0); sensor = sensorDataSet.getSensorName(); } diff --git a/src/main/res/layout-land/stats_content.xml b/src/main/res/layout-land/stats_content.xml index cc25a851a..ced3be7fd 100644 --- a/src/main/res/layout-land/stats_content.xml +++ b/src/main/res/layout-land/stats_content.xml @@ -122,7 +122,7 @@ limitations under the License. - + diff --git a/src/main/res/layout/stats_content.xml b/src/main/res/layout/stats_content.xml index 5fd89ba3e..a1eb9a74d 100644 --- a/src/main/res/layout/stats_content.xml +++ b/src/main/res/layout/stats_content.xml @@ -96,7 +96,7 @@ limitations under the License. android:id="@+id/stats_elevation" layout="@layout/stats_small_group_item" /> - +