Renamed SensorManager to RemoteSensorManager.

This commit is contained in:
Dennis Guse
2019-08-16 21:19:38 +02:00
parent c159e1eba4
commit ea3de8a987
8 changed files with 65 additions and 68 deletions
@@ -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();
@@ -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();
}
/**
@@ -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);
}
@@ -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);
}
@@ -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);
}
}
@@ -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();
}